emacs-diffs
[Top][All Lists]
Advanced

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

feature/native-comp 949b49c 2/2: Move some tests from comp-tests.el to c


From: Andrea Corallo
Subject: feature/native-comp 949b49c 2/2: Move some tests from comp-tests.el to comp-cstr-tests.el
Date: Thu, 26 Nov 2020 16:06:28 -0500 (EST)

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

    Move some tests from comp-tests.el to comp-cstr-tests.el
    
        * test/lisp/emacs-lisp/comp-cstr-tests.el
        (comp-cstr-typespec-tests-alist): Add tests covering what was in:
        `range-simple-union', `union-types', `destructure-type-spec'.
        * test/src/comp-tests.el (range-simple-intersection, union-types)
        (destructure-type-spec): Remove tests.
---
 test/lisp/emacs-lisp/comp-cstr-tests.el | 20 ++++++++---
 test/src/comp-tests.el                  | 61 +--------------------------------
 2 files changed, 17 insertions(+), 64 deletions(-)

diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el 
b/test/lisp/emacs-lisp/comp-cstr-tests.el
index 74419ff..38a5e29 100644
--- a/test/lisp/emacs-lisp/comp-cstr-tests.el
+++ b/test/lisp/emacs-lisp/comp-cstr-tests.el
@@ -42,17 +42,29 @@
 (defconst comp-cstr-typespec-tests-alist
   `((symbol . symbol)
     ((or string array) . array)
-    ;; ((and string array) . string)
     ((or symbol number) . (or symbol number))
     ((or cons atom) . (or cons atom)) ;; SBCL return T
+    ((or integer number) . number)
+    ((or (or integer symbol) number) . (or symbol number))
+    ((or (or integer symbol) (or number list)) . (or list symbol number))
+    ((or (or integer number) nil) . number)
+    ;; ((and string array) . string)
     ;; ((and cons atom) . (or cons atom))
+    ;; ((and (member foo) (member bar)) . symbol)
+    ;; ((and (member foo) symbol) . (member foo))
     ((member foo) . (member foo))
     ((member foo bar) . (member foo bar))
     ((or (member foo) (member bar)) . (member foo bar))
-    ;; ((and (member foo) (member bar)) . symbol)
     ((or (member foo) symbol) . symbol) ;; SBCL return (OR SYMBOL (MEMBER FOO))
-    ;; ((and (member foo) symbol) . (member foo))
-    ((or (member foo) number) .  (or (member foo) number)))
+    ((or (member foo) number) .  (or (member foo) number))
+    ((integer 1 2) . (integer 1 2))
+    ((or (integer -1  0) (integer 3  4)) . (or (integer -1  0) (integer 3  4)))
+    ((or (integer -1  2) (integer 3  4)) . (integer -1 4))
+    ((or (integer -1  3) (integer 3  4)) . (integer -1 4))
+    ((or (integer -1  4) (integer 3  4)) . (integer -1 4))
+    ((or (integer -1  5) (integer 3  4)) . (integer -1 5))
+    ((or (integer -1  *) (integer 3  4)) . (integer -1 *))
+    ((or (integer -1  2) (integer *  4)) . (integer * 4)))
   "Alist type specifier -> expected type specifier.")
 
 (defmacro comp-cstr-synthesize-tests ()
diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el
index dd642b6..88c7b8c 100644
--- a/test/src/comp-tests.el
+++ b/test/src/comp-tests.el
@@ -970,20 +970,7 @@ Return a list of results."
 ;; Range propagation tests. ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(comp-deftest range-simple-union ()
-  (should (equal (comp-range-union '((-1 . 0)) '((3 . 4)))
-                 '((-1 . 0) (3 . 4))))
-  (should (equal (comp-range-union '((-1 . 2)) '((3 . 4)))
-                 '((-1 . 4))))
-  (should (equal (comp-range-union '((-1 . 3)) '((3 . 4)))
-                 '((-1 . 4))))
-  (should (equal (comp-range-union '((-1 . 4)) '((3 . 4)))
-                 '((-1 . 4))))
-  (should (equal (comp-range-union '((-1 . 5)) '((3 . 4)))
-                 '((-1 . 5))))
-  (should (equal (comp-range-union '((-1 . 0)) '())
-                 '((-1 . 0)))))
-
+;; FIXME to be removed when movable into comp-cstr-tests.el
 (comp-deftest range-simple-intersection ()
   (should (equal (comp-range-intersection '((-1 . 0)) '((3 . 4)))
                  '()))
@@ -998,50 +985,4 @@ Return a list of results."
   (should (equal (comp-range-intersection '((-1 . 0)) '())
                  '())))
 
-(comp-deftest union-types ()
-  (let ((comp-ctxt (make-comp-ctxt)))
-    (should (equal (comp-union-typesets '(integer) '(number))
-                   '(number)))
-    (should (equal (comp-union-typesets '(integer symbol) '(number))
-                   '(symbol number)))
-    (should (equal (comp-union-typesets '(integer symbol) '(number list))
-                   '(list symbol number)))
-    (should (equal (comp-union-typesets '(integer symbol) '())
-                   '(symbol integer)))))
-
-(comp-deftest destructure-type-spec ()
-  (should (equal (comp-type-spec-to-constraint 'symbol)
-                 (make-comp-constraint :typeset '(symbol))))
-  (should (equal (comp-type-spec-to-constraint '(or symbol number))
-                 (make-comp-constraint :typeset '(number symbol))))
-  (should-error (comp-type-spec-to-constraint '(symbol number)))
-  (should (equal (comp-type-spec-to-constraint '(member foo bar))
-                 (make-comp-constraint :typeset nil :valset '(foo bar))))
-  (should (equal (comp-type-spec-to-constraint '(integer 1 2))
-                 (make-comp-constraint :typeset nil :range '((1 . 2)))))
-  (should (equal (comp-type-spec-to-constraint '(or (integer 1 2) (integer 4 
5)))
-                 (make-comp-constraint :typeset nil :range '((4 . 5) (1 . 
2)))))
-  (should (equal (comp-type-spec-to-constraint '(integer * 2))
-                 (make-comp-constraint :typeset nil :range '((- . 2)))))
-  (should (equal (comp-type-spec-to-constraint '(integer 1 *))
-                 (make-comp-constraint :typeset nil :range '((1 . +)))))
-  (should (equal (comp-type-spec-to-constraint '(integer * *))
-                 (make-comp-constraint :typeset nil :range '((- . +)))))
-  (should (equal (comp-type-spec-to-constraint '(or (integer 1 2)
-                                                    (member foo bar)))
-                 (make-comp-constraint :typeset nil
-                                       :valset '(foo bar)
-                                       :range '((1 . 2)))))
-  (should (equal (comp-type-spec-to-constraint
-                  '(function (t t) cons))
-                 (make-comp-constraint-f
-                  :args `(,(make-comp-constraint :typeset '(t))
-                          ,(make-comp-constraint :typeset '(t)))
-                  :ret (make-comp-constraint :typeset '(cons)))))
-  (should (equal (comp-type-spec-to-constraint
-                  '(function ((or integer symbol)) float))
-                 (make-comp-constraint-f
-                  :args `(,(make-comp-constraint :typeset '(symbol integer)))
-                  :ret (make-comp-constraint :typeset '(float))))))
-
 ;;; comp-tests.el ends here



reply via email to

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