emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp f43dbe6 5/7: Add a test for primitive redefinition


From: Andrea Corallo
Subject: feature/native-comp f43dbe6 5/7: Add a test for primitive redefinition
Date: Tue, 6 Oct 2020 12:37:43 -0400 (EDT)

branch: feature/native-comp
commit f43dbe65ce14921aee2f45d21eb5f294ec8b92c1
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>

    Add a test for primitive redefinition
    
        * test/src/comp-tests.el (primitive-redefine): New test.
        * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f):
        New function.
---
 test/src/comp-test-funcs.el |  4 ++++
 test/src/comp-tests.el      | 11 +++++++++++
 2 files changed, 15 insertions(+)

diff --git a/test/src/comp-test-funcs.el b/test/src/comp-test-funcs.el
index 19acec2..9285ed6 100644
--- a/test/src/comp-test-funcs.el
+++ b/test/src/comp-test-funcs.el
@@ -341,6 +341,10 @@
   (declare (speed 2))
   (+ x y))
 
+(defun comp-test-primitive-redefine-f (x y)
+  (declare (speed 2))
+  (- x y))
+
 
 ;;;;;;;;;;;;;;;;;;;;
 ;; Tromey's tests ;;
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index f954ae6..317a611 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -398,6 +398,17 @@ 
https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-03/msg00914.html.";
           (should (equal comp-test-primitive-advice '(3 4))))
       (advice-remove #'+ f))))
 
+(defvar comp-test-primitive-redefine-args)
+(comp-deftest primitive-redefine ()
+  "Test effectiveness of primitve redefinition."
+  (cl-letf ((comp-test-primitive-redefine-args nil)
+            ((symbol-function #'-)
+             (lambda (&rest args)
+              (setq comp-test-primitive-redefine-args args)
+               'xxx)))
+    (should (eq (comp-test-primitive-redefine-f 10 2) 'xxx))
+    (should (equal comp-test-primitive-redefine-args '(10 2)))))
+
 
 ;;;;;;;;;;;;;;;;;;;;;
 ;; Tromey's tests. ;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]