| | 1 | TADS 3 Test Suite |
| | 2 | Copyright (c) 1999, 2000 by Michael J. Roberts. All Rights Reserved. |
| | 3 | |
| | 4 | The author hereby grants permission to anyone to use the files |
| | 5 | contained in this test suite in conjunction with testing TADS on any |
| | 6 | platform. Anyone may copy and distribute these files, provided that |
| | 7 | the full test suite is included without changes in any copies |
| | 8 | distributed, and that this copyright notice is retained without |
| | 9 | changes in any copies. |
| | 10 | |
| | 11 | These files provide a test suite for TADS 3. The test harness |
| | 12 | consists of several portable command-line programs, some Windows |
| | 13 | command scripts ("batch files," whose filenames end in .bat), a |
| | 14 | set of TADS 3 source files (.t), and references logs (.log). |
| | 15 | |
| | 16 | The test suite is automated, and consists of a series of individual |
| | 17 | tests. For each test, the test harness compiles a source file, then |
| | 18 | runs the resulting program, capturing its (stdout) output into a file. |
| | 19 | The test harness then compares the captured output with a reference |
| | 20 | log which stores the correct results. If the captured output and |
| | 21 | the reference log are byte-for-byte identical, the test succeeds; |
| | 22 | otherwise, the test fails, because the program did not produce the |
| | 23 | correct results. |
| | 24 | |
| | 25 | In order to use the test suite with a non-Windows system, it's |
| | 26 | necessary to translate the Windows command scripts into your local |
| | 27 | shell scripting language. The scripts are simple and should be |
| | 28 | reasonably self-explanatory. Next, you must build the test programs; |
| | 29 | these should be easily buildable on a system to which the rest of |
| | 30 | TADS 3 has been ported, and you can refer to the Windows makefile for |
| | 31 | an example of the build configuration necessary for compiling these |
| | 32 | programs. Finally, you must have available a command shell that is |
| | 33 | capable of capturing a program's stdout and stderr output (on |
| | 34 | Windows, we use capture.cpp, but this program is specific to Windows |
| | 35 | and is not portable to other systems), and a "diff" utility that can |
| | 36 | textually compare two files to determine if they have any |
| | 37 | differences. Tools of this nature are available on most systems with |
| | 38 | C compilers, since these are essential programmer's tools. |
| | 39 | |
| | 40 | If you have any questions, please contact the author by email at |
| | 41 | mjr_@hotmail.com. |
| | 42 | |