diff options
| author | Filip Strömbäck <filip.stromback@liu.se> | 2020-06-11 15:19:17 +0200 |
|---|---|---|
| committer | Filip Strömbäck <filip.stromback@liu.se> | 2020-06-11 15:19:17 +0200 |
| commit | cda174afc8e1bf6b779726965f5eaa030d80b1dc (patch) | |
| tree | 9e8b37512203cad0e6959440e7b64c1ed8c3aac4 | |
| parent | b51fd37426d5c381f52bf93c5950479a9a13a594 (diff) | |
| download | pintos-rs-cda174afc8e1bf6b779726965f5eaa030d80b1dc.tar.gz | |
The klaar/pfs test now properly detects crashes better.
Previously, if the create() call would incorrectly kill the pfs process,
the test would still succeed as exit codes were not verified, and there
were no other way of identifying successful completion.
| -rw-r--r-- | src/tests/klaar/pfs.c | 6 | ||||
| -rw-r--r-- | src/tests/klaar/pfs.ck | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/tests/klaar/pfs.c b/src/tests/klaar/pfs.c index fe1c3d7..9075ba5 100644 --- a/src/tests/klaar/pfs.c +++ b/src/tests/klaar/pfs.c @@ -59,7 +59,7 @@ static void start_rw(int rn, int wn) CHECK( wait( wpid ) != -1, "wait pfs-writer %d", wpid); } -int main (int argc, char *argv[]) +int main (int argc, char *argv[]) { if ( argc != 3 ) fail("usage: pfs START END"); @@ -79,5 +79,9 @@ int main (int argc, char *argv[]) start_rw(num_reader, num_writer); msg ("end"); + + // Tell the system we're entirely done. Otherwise the test accepts + // that this process is killed for some reason (e.g. invalid syscall). + printf("pfs done\n"); return 0; } diff --git a/src/tests/klaar/pfs.ck b/src/tests/klaar/pfs.ck index 7e16ccf..8378609 100644 --- a/src/tests/klaar/pfs.ck +++ b/src/tests/klaar/pfs.ck @@ -3,5 +3,6 @@ use strict; use warnings; use tests::tests; check_expected (IGNORE_EXIT_CODES => 1, [<<'EOF']); +pfs done EOF pass; |
