[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 96e18eb: bytecomp-tests.el: Store all test forms in
From: |
Vibhav Pant |
Subject: |
[Emacs-diffs] master 96e18eb: bytecomp-tests.el: Store all test forms in one constant. |
Date: |
Wed, 15 Feb 2017 10:42:52 -0500 (EST) |
branch: master
commit 96e18ebb99ccd835028b8a12284f89c92cba2e5c
Author: Vibhav Pant <address@hidden>
Commit: Vibhav Pant <address@hidden>
bytecomp-tests.el: Store all test forms in one constant.
* test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
in a single constant (byte-opt-testsuite-arith-data), add new forms
which generate lapcode with adjacent/redundant tags.
---
test/lisp/emacs-lisp/bytecomp-tests.el | 47 ++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 14 deletions(-)
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el
b/test/lisp/emacs-lisp/bytecomp-tests.el
index acf9343..d0b9790 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -26,6 +26,7 @@
;;; Commentary:
(require 'ert)
+(require 'cl-lib)
;;; Code:
(defconst byte-opt-testsuite-arith-data
@@ -242,13 +243,8 @@
(let ((a 3) (b 2) (c 1.0)) (/ 1 a b c))
(let ((a 3) (b 2) (c 1.0)) (/ a b c 0))
(let ((a 3) (b 2) (c 1.0)) (/ a b c 1))
- (let ((a 3) (b 2) (c 1.0)) (/ a b c -1)))
- "List of expression for test.
-Each element will be executed by interpreter and with
-bytecompiled code, and their results compared.")
-
-(defconst byte-opt-testsuite-cond-data
- '(
+ (let ((a 3) (b 2) (c 1.0)) (/ a b c -1))
+ ;; Test switch bytecode
(let ((a 3)) (cond ((eq a 1) 'one) ((eq a 2) 'two) ((eq a 3) 'three) (t
t)))
(let ((a 'three)) (cond ((eq a 'one) 1) ((eq a 2) 'two) ((eq a 'three) 3)
(t t)))
@@ -258,8 +254,36 @@ bytecompiled code, and their results compared.")
(let ((a "foobar")) (cond ((equal "notfoobar" a) 'incorrect)
((equal 1 a) 'incorrect)
((equal a "foobar") 'correct)
- (t 'incorrect))))
- "List of expressions for testing byte-switch.")
+ (t 'incorrect)))
+ (let ((a "foobar") (l t)) (pcase a
+ ("bar" 'incorrect)
+ ("foobar" (while l
+ a (setq l nil))
+ 'correct)))
+ (let ((a 'foobar) (l t)) (cl-case a
+ ('foo 'incorrect)
+ ('bar 'incorrect)
+ ('foobar (while l
+ a (setq l nil))
+ 'correct)))
+ (let ((a 'foobar) (l t)) (cond
+ ((eq a 'bar) 'incorrect)
+ ((eq a 'foo) 'incorrect)
+ ((eq a 'bar) 'incorrect)
+ (t (while l
+ a (setq l nil))
+ 'correct)))
+ (let ((a 'foobar) (l t)) (cond
+ ((eq a 'bar) 'incorrect)
+ ((eq a 'foo) 'incorrect)
+ ((eq a 'foobar)
+ (while l
+ a (setq l nil))
+ 'correct)
+ (t 'incorrect))))
+ "List of expression for test.
+Each element will be executed by interpreter and with
+bytecompiled code, and their results compared.")
(defun bytecomp-check-1 (pat)
"Return non-nil if PAT is the same whether directly evalled or compiled."
@@ -290,11 +314,6 @@ bytecompiled code, and their results compared.")
(dolist (pat byte-opt-testsuite-arith-data)
(should (bytecomp-check-1 pat))))
-(ert-deftest bytecomp-cond ()
- "Test the Emacs byte compiler."
- (dolist (pat byte-opt-testsuite-cond-data)
- (should (bytecomp-check-1 pat))))
-
(defun test-byte-opt-arithmetic (&optional arg)
"Unit test for byte-opt arithmetic operations.
Subtests signal errors if something goes wrong."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 96e18eb: bytecomp-tests.el: Store all test forms in one constant.,
Vibhav Pant <=