[go: up one dir, main page]

Menu

Tree [c25d58] master / tests /
 History

HTTPS access


File Date Author Commit
 log 2003-06-25 acraphae <> [61ed36] changed testsuite such that it always analyzes ...
 test1 2003-11-12 C. Artho C. Artho [e950ed] * Makefile: Fixed compiler name.
 test2 2003-06-25 acraphae <> [61ed36] changed testsuite such that it always analyzes ...
 README.tests 2003-06-23 C. Artho C. Artho [b7fb97] * README.tests: Formatting, added titles, other...
 runtest.sh 2003-08-25 acraphae <> [6078df] added patch for Method XXX is not overridden by...
 showdiff.sh 2003-06-25 acraphae <> [61ed36] changed testsuite such that it always analyzes ...
 showerror.sh 2003-06-20 acraphae <> [85a4e4] added the new directory structure for the test ...
 testall.sh 2003-08-25 acraphae <> [7c687e] commit before applying patches

Read Me

Test Framework (added in Version 3.0)
=====================================

File locations
--------------
class files to be tested	tests/test#/
log and reference output files	tests/log/

Tests:
------
4 tests as of Version 3.0

					  			in case of
								error:
#					default		run     run
#test 1 test.java			log/1.out	1.log	1.err
#test 2 class showing finally bug	log/2.out	2.log	2.err
#test 3	sample from java/io/* (1.3)	log/3.out	3.log	3.err
#test 4 sample from java/io/* (1.4)	log/4.out	4.log	4.err
...

Usage:
------

* To run testsuite using valgrind, try "./testall.sh --valgrind"

* For info on how to run tests, try "./testall.sh --help"

The idea of the test framework is to check after every change
in the source code of Jlint whether it still behaves the same
as before the changes. To achieve that, the changed Jlint is 
run on sample programs, and the output is compared to the output
of a version of Jlint known to be correct on the same sample 
programs. The original output is stored in *.out files while 
the current output is written into *.log files. These files are 
compared and if they differ the test framework will output a 
warning, specifying which file produced the difference. If 
Jlint crashes during testing, the error messages are written 
into *.err files.

If new features are added to Jlint, its output will change. The new
output has to be verified against the original one. If the new version
is correct, the .out files have to be updated accordingly.