diff options
| author | Gareth Rees | 2013-03-07 13:13:32 +0000 |
|---|---|---|
| committer | Gareth Rees | 2013-03-07 13:13:32 +0000 |
| commit | 8dc0d72a8d71bffb30e79c0fcbd143c66a68be28 (patch) | |
| tree | bf55f97622c46af70e9221ab8d5abab0babf1727 /mps/code/testlib.c | |
| parent | d28698af08e8cb124061575b62c0bac1971b645c (diff) | |
| download | emacs-8dc0d72a8d71bffb30e79c0fcbd143c66a68be28.tar.gz emacs-8dc0d72a8d71bffb30e79c0fcbd143c66a68be28.zip | |
Improve the usability of the test suite:
1. "make test" now reports the name of the test case before running it, so that when you look back through the test output you can see which test case failed.
2. "make test" now collects the standard output from all the tests to a log file in /tmp, so that this does not clutter the user's terminal, and so that nothing is lost if the output exceeds the terminal's scrollback.
3. Each test case now prints a success message ("Conclusion: Failed to find any defects.") to standard output (not standard error) so that these messages do not clutter up the terminal when running "make test".
4. Each test case now uses its result code (not the printed message) to indicate whether it succeeded or failed.
5. More of the diagnostic messages from the test cases now start by printing argv[0] so that it is easier to tell which test case was running.
Copied from Perforce
Change: 181071
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/testlib.c')
| -rw-r--r-- | mps/code/testlib.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mps/code/testlib.c b/mps/code/testlib.c index 06d0641c688..be7284ea3fa 100644 --- a/mps/code/testlib.c +++ b/mps/code/testlib.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* testlib.c: TEST LIBRARY | 1 | /* testlib.c: TEST LIBRARY |
| 2 | * | 2 | * |
| 3 | * $Id$ | 3 | * $Id$ |
| 4 | * Copyright (c) 2001 Ravenbrook Limited. See end of file for license. | 4 | * Copyright (c) 2001-2013 Ravenbrook Limited. See end of file for license. |
| 5 | * Portions copyright (C) 2002 Global Graphics Software. | 5 | * Portions copyright (C) 2002 Global Graphics Software. |
| 6 | * | 6 | * |
| 7 | * .purpose: A library of functions that may be of use to unit tests. | 7 | * .purpose: A library of functions that may be of use to unit tests. |
| @@ -252,7 +252,7 @@ mps_addr_t rnd_addr(void) | |||
| 252 | * (New from 2010-03-22, changelist 170093) | 252 | * (New from 2010-03-22, changelist 170093) |
| 253 | */ | 253 | */ |
| 254 | 254 | ||
| 255 | void randomize(int argc, char **argv) | 255 | void randomize(int argc, char *argv[]) |
| 256 | { | 256 | { |
| 257 | int i; | 257 | int i; |
| 258 | int n; | 258 | int n; |
| @@ -262,7 +262,8 @@ void randomize(int argc, char **argv) | |||
| 262 | if (argc > 1) { | 262 | if (argc > 1) { |
| 263 | n = sscanf(argv[1], "%lu", &seed0); | 263 | n = sscanf(argv[1], "%lu", &seed0); |
| 264 | Insist(n == 1); | 264 | Insist(n == 1); |
| 265 | printf("randomize(): resetting initial state (v3) to: %lu.\n", seed0); | 265 | printf("%s: randomize(): resetting initial state (v3) to: %lu.\n", |
| 266 | argv[0], seed0); | ||
| 266 | rnd_state_set(seed0); | 267 | rnd_state_set(seed0); |
| 267 | } else { | 268 | } else { |
| 268 | /* time_t uses an arbitrary encoding, but hopefully the low order */ | 269 | /* time_t uses an arbitrary encoding, but hopefully the low order */ |
| @@ -288,7 +289,8 @@ void randomize(int argc, char **argv) | |||
| 288 | } | 289 | } |
| 289 | 290 | ||
| 290 | seed0 = rnd_state(); | 291 | seed0 = rnd_state(); |
| 291 | printf("randomize(): choosing initial state (v3): %lu.\n", seed0); | 292 | printf("%s: randomize(): choosing initial state (v3): %lu.\n", |
| 293 | argv[0], seed0); | ||
| 292 | rnd_state_set(seed0); | 294 | rnd_state_set(seed0); |
| 293 | } | 295 | } |
| 294 | } | 296 | } |
| @@ -386,7 +388,7 @@ void cdie(int res, const char *s) | |||
| 386 | 388 | ||
| 387 | /* C. COPYRIGHT AND LICENSE | 389 | /* C. COPYRIGHT AND LICENSE |
| 388 | * | 390 | * |
| 389 | * Copyright (C) 2001-2002, 2008 Ravenbrook Limited <http://www.ravenbrook.com/>. | 391 | * Copyright (c) 2001-2013 Ravenbrook Limited <http://www.ravenbrook.com/>. |
| 390 | * All rights reserved. This is an open source license. Contact | 392 | * All rights reserved. This is an open source license. Contact |
| 391 | * Ravenbrook for commercial licensing options. | 393 | * Ravenbrook for commercial licensing options. |
| 392 | * | 394 | * |