[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Patch for RT to pass its own test suite, use own package
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Patch for RT to pass its own test suite, use own package for tests |
Date: |
18 Dec 2007 11:19:54 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings! OK, it is in now -- thanks!
Camm Maguire <address@hidden> writes:
> Greetings, and thanks for your submission! I am testing it now with
> the gcl ansi test suite, and if all is well, will commit it into cvs
> head shortly.
>
> Take care,
>
> "Joseph Oswald" <address@hidden> writes:
>
> > In my own work with RT, I was frustrated by its inability to pass it's
> > own test suite, failing approximately half of its tests.
> > Also, I felt bad about it populating the USER package.
> >
> > Attached are two diffs, correcting these problems. I apologize if this
> > is not the proper submission style---I'm not very experienced in this
> > open-source contribution thing.
> >
> > --Joe Oswald
> > address@hidden
> >
> > *** rt-package.lsp 2007/12/13 18:37:38 1.1
> > --- rt-package.lsp 2007/12/13 18:38:01
> > ***************
> > *** 36,41 ****
> > --- 36,42 ----
> > (export (mapcar #'intern
> > (mapcar #'symbol-name
> > '(#:*compile-tests*
> > + #:*do-tests-when-defined*
> > #:*test*
> > #:continue-testing
> > #:deftest
> >
> > *** rt-test.lsp 2007/12/13 17:27:01 1.1
> > --- rt-test.lsp 2007/12/13 18:43:23 1.3
> > ***************
> > *** 25,53 ****
> > ;RT regression tester to test itself. See the documentation of RT for
> > ;a discusion of how to use this file.
> >
> > ! (in-package :user)
> > ;; (require "RT")
> > ! (use-package :regression-test)
> >
> > (defmacro setup (&rest body)
> > `(do-setup '(progn ., body)))
> >
> > (defun do-setup (form)
> > ! (let ((*test* nil)
> > ! (*do-tests-when-defined* nil)
> > ! (regression-test::*entries* (list nil))
> > ! (regression-test::*in-test* nil)
> > ! (regression-test::*debug* t)
> > ! result)
> > ! (deftest t1 4 4)
> > ! (deftest (t 2) 4 3)
> > ! (values-list
> > ! (cons (normalize
> > (with-output-to-string (*standard-output*)
> > (setq result
> > (multiple-value-list
> > (catch 'regression-test::*debug* (eval form))))))
> > ! result))))
> >
> > (defun normalize (string)
> > (with-input-from-string (s string)
> > --- 25,62 ----
> > ;RT regression tester to test itself. See the documentation of RT for
> > ;a discusion of how to use this file.
> >
> > ! (cl:defpackage :rt-tests
> > ! (:use :cl :regression-test))
> > !
> > ! (in-package :rt-tests)
> > ;; (require "RT")
> > ! ;;(use-package :regression-test)
> >
> > (defmacro setup (&rest body)
> > `(do-setup '(progn ., body)))
> >
> > + (defmacro with-blank-tests (&body body)
> > + `(let ((regression-test::*entries* (list nil))
> > + (regression-test::*entries-table* (make-hash-table :test #'equal))
> > + (*test* nil)
> > + (regression-test::*in-test* nil))
> > + (let ((regression-test::*entries-tail* regression-test::*entries*))
> > + ,@body)))
> > +
> > (defun do-setup (form)
> > ! (with-blank-tests
> > ! (let ((*do-tests-when-defined* nil)
> > ! (regression-test::*debug* t)
> > ! result)
> > ! (deftest t1 4 4)
> > ! (deftest (t 2) 4 3)
> > ! (values-list
> > ! (cons (normalize
> > (with-output-to-string (*standard-output*)
> > (setq result
> > (multiple-value-list
> > (catch 'regression-test::*debug* (eval form))))))
> > ! result)))))
> >
> > (defun normalize (string)
> > (with-input-from-string (s string)
> > ***************
> > *** 86,92 ****
> >
> > (deftest deftest-1
> > (setup (deftest t1 3 3) (values (get-test 't1) *test* (pending-tests)))
> > ! ("Redefining test T1") (t1 3 3) t1 (t1 (t 2)))
> > (deftest deftest-2
> > (setup (deftest (t 2) 3 3) (get-test '(t 2)))
> > ("Redefining test (T 2)") ((t 2) 3 3))
> > --- 95,101 ----
> >
> > (deftest deftest-1
> > (setup (deftest t1 3 3) (values (get-test 't1) *test* (pending-tests)))
> > ! ("Redefining test RT-TESTS::T1") (t1 3 3) t1 (t1 (t 2)))
> > (deftest deftest-2
> > (setup (deftest (t 2) 3 3) (get-test '(t 2)))
> > ("Redefining test (T 2)") ((t 2) 3 3))
> > ***************
> > *** 95,101 ****
> > () (2 3 3) 2 (t1 (t 2) 2))
> > (deftest deftest-4
> > (setup (let ((*do-tests-when-defined* t)) (deftest (temp) 4 3)))
> > ! ("Test (TEMP) failed"
> > "Form: 4"
> > "Expected value: 3"
> > "Actual value: 4.")
> > --- 104,110 ----
> > () (2 3 3) 2 (t1 (t 2) 2))
> > (deftest deftest-4
> > (setup (let ((*do-tests-when-defined* t)) (deftest (temp) 4 3)))
> > ! ("Test (RT-TESTS::TEMP) failed"
> > "Form: 4"
> > "Expected value: 3"
> > "Actual value: 4.")
> > ***************
> > *** 128,134 ****
> > () (t3 1 1))
> > (deftest get-test-5
> > (setup (get-test 't0))
> > ! ("No test with name T0.") nil)
> >
> > (deftest rem-test-1
> > (setup (values (rem-test 't1) (pending-tests)))
> > --- 137,143 ----
> > () (t3 1 1))
> > (deftest get-test-5
> > (setup (get-test 't0))
> > ! ("No test with name RT-TESTS::T0.") nil)
> >
> > (deftest rem-test-1
> > (setup (values (rem-test 't1) (pending-tests)))
> > ***************
> > *** 157,163 ****
> > (setup (let ((*print-case* :downcase))
> > (values (do-tests) (continue-testing) (do-tests))))
> > ("Doing 2 pending tests of 2 tests total."
> > ! " T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > --- 166,172 ----
> > (setup (let ((*print-case* :downcase))
> > (values (do-tests) (continue-testing) (do-tests))))
> > ("Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > ***************
> > *** 170,176 ****
> > "Actual value: 4."
> > "1 out of 2 total tests failed: (T 2)."
> > "Doing 2 pending tests of 2 tests total."
> > ! " T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > --- 179,185 ----
> > "Actual value: 4."
> > "1 out of 2 total tests failed: (T 2)."
> > "Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > ***************
> > *** 185,196 ****
> > (deftest (t 2) 3 3)
> > (values (do-tests) (continue-testing) (do-tests)))
> > ("Doing 2 pending tests of 2 tests total."
> > ! " T1 (T 2)"
> > "No tests failed."
> > "Doing 0 pending tests of 2 tests total."
> > "No tests failed."
> > "Doing 2 pending tests of 2 tests total."
> > ! " T1 (T 2)"
> > "No tests failed.")
> > t
> > t
> > --- 194,205 ----
> > (deftest (t 2) 3 3)
> > (values (do-tests) (continue-testing) (do-tests)))
> > ("Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1 (T 2)"
> > "No tests failed."
> > "Doing 0 pending tests of 2 tests total."
> > "No tests failed."
> > "Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1 (T 2)"
> > "No tests failed.")
> > t
> > t
> > ***************
> > *** 204,223 ****
> > t
> > t)
> > (deftest do-tests-4
> > ! (setup (normalize (with-output-to-string (s) (do-tests s))))
> > ()
> > ("Doing 2 pending tests of 2 tests total."
> > ! " T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > "Actual value: 4."
> > "1 out of 2 total tests failed: (T 2)."))
> > (deftest do-tests-5
> > ! (setup (with-temporary-file s (do-tests s)))
> > ()
> > ("Doing 2 pending tests of 2 tests total."
> > ! " T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > --- 213,232 ----
> > t
> > t)
> > (deftest do-tests-4
> > ! (setup (normalize (with-output-to-string (s) (do-tests :out s))))
> > ()
> > ("Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > "Actual value: 4."
> > "1 out of 2 total tests failed: (T 2)."))
> > (deftest do-tests-5
> > ! (setup (with-temporary-file s (do-tests :out s)))
> > ()
> > ("Doing 2 pending tests of 2 tests total."
> > ! " RT-TESTS::T1"
> > "Test (T 2) failed"
> > "Form: 4"
> > "Expected value: 3"
> > _______________________________________________
> > Gcl-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/gcl-devel
>
> --
> Camm Maguire address@hidden
> ==========================================================================
> "The earth is but one country, and mankind its citizens." -- Baha'u'llah
>
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gcl-devel
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah