diff --git a/tests/.gitignore b/tests/.gitignore index d25e2d6249151b770c07da07716c81b88b9649f4..7b70bccffc40d658e29d3a82098cafef75130ba3 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,3 +1,4 @@ +/gen/ /alloc /args /atof diff --git a/tests/Makefile b/tests/Makefile index 15e80e24a04726ba67e3b4ace105e5bc1bed3cd5..6c2a838d878c6e7498fa8909e987439c5cb6615e 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -27,7 +27,31 @@ clean: rm -f $(BINS) *.out run: $(BINS) - for bin in $(BINS); do echo "# $${bin} #"; "./$${bin}" test args; done + for bin in $(BINS); \ + do + echo "# $${bin} #"; \ + "./$${bin}" test args; \ + done + +expected: $(BINS) + rm -rf expected + mkdir -p expected + for bin in $(BINS); \ + do \ + echo "# $${bin} #"; \ + "./$${bin}" test args > "expected/$${bin}.stdout" 2> "expected/$${bin}.stderr"; \ + done + +verify: $(BINS) + rm -rf gen + mkdir -p gen + for bin in $(BINS); \ + do \ + echo "# $${bin} #"; \ + "./$${bin}" test args > "gen/$${bin}.stdout" 2> "gen/$${bin}.stderr"; \ + diff -u "gen/$${bin}.stdout" "expected/$${bin}.stdout"; \ + diff -u "gen/$${bin}.stderr" "expected/$${bin}.stderr"; \ + done GCCHEAD=\ -nostdinc \ diff --git a/tests/expected/alloc.stderr b/tests/expected/alloc.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/alloc.stdout b/tests/expected/alloc.stdout new file mode 100644 index 0000000000000000000000000000000000000000..74753f94e3cfa3f1e9b0374f2f82e4dff032316f --- /dev/null +++ b/tests/expected/alloc.stdout @@ -0,0 +1,2 @@ +malloc 0x55ac6c472618 +calloc 0x55ac6c472618 diff --git a/tests/expected/args.stderr b/tests/expected/args.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/args.stdout b/tests/expected/args.stdout new file mode 100644 index 0000000000000000000000000000000000000000..3b9ef538c3b9a209e24658fe4ef796b8983cc835 --- /dev/null +++ b/tests/expected/args.stdout @@ -0,0 +1 @@ +./args test args diff --git a/tests/expected/atof.stderr b/tests/expected/atof.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/atof.stdout b/tests/expected/atof.stdout new file mode 100644 index 0000000000000000000000000000000000000000..01e913dbfe725d2fdb0b96b99af47aed063f1792 --- /dev/null +++ b/tests/expected/atof.stdout @@ -0,0 +1 @@ +-3.14 diff --git a/tests/expected/atoi.stderr b/tests/expected/atoi.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/atoi.stdout b/tests/expected/atoi.stdout new file mode 100644 index 0000000000000000000000000000000000000000..d90e37cceac826425a16f83375fa2271261c4541 --- /dev/null +++ b/tests/expected/atoi.stdout @@ -0,0 +1,6 @@ +-42 +555 +1234567890 +-42 +555 +1234567890 diff --git a/tests/expected/brk.stderr b/tests/expected/brk.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/brk.stdout b/tests/expected/brk.stdout new file mode 100644 index 0000000000000000000000000000000000000000..c7e87198e01823db56563f4fe0fefe5b192dfb30 --- /dev/null +++ b/tests/expected/brk.stdout @@ -0,0 +1 @@ +brk exited with status code 0 diff --git a/tests/expected/chdir.stderr b/tests/expected/chdir.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/chdir.stdout b/tests/expected/chdir.stdout new file mode 100644 index 0000000000000000000000000000000000000000..6d79e11be0b87900d32ef232c49b0b99fc526f48 --- /dev/null +++ b/tests/expected/chdir.stdout @@ -0,0 +1,2 @@ +initial cwd: /home/jeremy/Projects/relibc/tests +final cwd: /home/jeremy/Projects/relibc diff --git a/tests/expected/create.stderr b/tests/expected/create.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/create.stdout b/tests/expected/create.stdout new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/ctype.stderr b/tests/expected/ctype.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/ctype.stdout b/tests/expected/ctype.stdout new file mode 100644 index 0000000000000000000000000000000000000000..e83b1e5f11ff31bed1bbfd1ab18e5f793a440275 --- /dev/null +++ b/tests/expected/ctype.stdout @@ -0,0 +1 @@ +Success: 0 diff --git a/tests/expected/dup.stderr b/tests/expected/dup.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/dup.stdout b/tests/expected/dup.stdout new file mode 100644 index 0000000000000000000000000000000000000000..20ec3fc2838660ac3a4dcb4428bd025b248e4fc5 --- /dev/null +++ b/tests/expected/dup.stdout @@ -0,0 +1 @@ +fd 4 duped into fd 5 diff --git a/tests/expected/error.stderr b/tests/expected/error.stderr new file mode 100644 index 0000000000000000000000000000000000000000..4eb19d82f37676f845b7b3a59a4991ce5a22996a --- /dev/null +++ b/tests/expected/error.stderr @@ -0,0 +1 @@ +perror: No such file or directory diff --git a/tests/expected/error.stdout b/tests/expected/error.stdout new file mode 100644 index 0000000000000000000000000000000000000000..f4ea5c920d19509171eff96610dc67881b4d6e04 --- /dev/null +++ b/tests/expected/error.stdout @@ -0,0 +1 @@ +errno: 2 = No such file or directory diff --git a/tests/expected/fchdir.stderr b/tests/expected/fchdir.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/fchdir.stdout b/tests/expected/fchdir.stdout new file mode 100644 index 0000000000000000000000000000000000000000..4c110c289b34afe90d556803fc35c38e5967d250 --- /dev/null +++ b/tests/expected/fchdir.stdout @@ -0,0 +1 @@ +fchdir exited with status code 0 diff --git a/tests/expected/fcntl.stderr b/tests/expected/fcntl.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/fcntl.stdout b/tests/expected/fcntl.stdout new file mode 100644 index 0000000000000000000000000000000000000000..20ec3fc2838660ac3a4dcb4428bd025b248e4fc5 --- /dev/null +++ b/tests/expected/fcntl.stdout @@ -0,0 +1 @@ +fd 4 duped into fd 5 diff --git a/tests/expected/fsync.stderr b/tests/expected/fsync.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/fsync.stdout b/tests/expected/fsync.stdout new file mode 100644 index 0000000000000000000000000000000000000000..0b3deee6ecb6b6d14b65744dafc7e1fe7e4e7312 --- /dev/null +++ b/tests/expected/fsync.stdout @@ -0,0 +1 @@ +fsync exited with status code 0 diff --git a/tests/expected/ftruncate.stderr b/tests/expected/ftruncate.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/ftruncate.stdout b/tests/expected/ftruncate.stdout new file mode 100644 index 0000000000000000000000000000000000000000..5f0c8d705411b4e130d4da724c02e521b8f75927 --- /dev/null +++ b/tests/expected/ftruncate.stdout @@ -0,0 +1 @@ +ftruncate exited with status code 0 diff --git a/tests/expected/getid.stderr b/tests/expected/getid.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/getid.stdout b/tests/expected/getid.stdout new file mode 100644 index 0000000000000000000000000000000000000000..a51fd84a302264be258b90f328bf59ade1eacb18 --- /dev/null +++ b/tests/expected/getid.stdout @@ -0,0 +1 @@ +egid: 1000, euid: 1000, gid: 1000, pgid: 23916, pid: 23933, ppid 23918, uid 1000 diff --git a/tests/expected/link.stderr b/tests/expected/link.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/link.stdout b/tests/expected/link.stdout new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/math.stderr b/tests/expected/math.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/math.stdout b/tests/expected/math.stdout new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/pipe.stderr b/tests/expected/pipe.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/pipe.stdout b/tests/expected/pipe.stdout new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/printf.stderr b/tests/expected/printf.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/printf.stdout b/tests/expected/printf.stdout new file mode 100644 index 0000000000000000000000000000000000000000..ad30d8fbca48dc82518f2786cbb220d29dd075d3 --- /dev/null +++ b/tests/expected/printf.stdout @@ -0,0 +1,8 @@ +percent: % +string: String +char: c +int: -16 +uint: 32 +hex: beef +HEX: C0FFEE +string: end diff --git a/tests/expected/rmdir.stderr b/tests/expected/rmdir.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/rmdir.stdout b/tests/expected/rmdir.stdout new file mode 100644 index 0000000000000000000000000000000000000000..be0153a5a554b913c6bc7a1309b0d6eeed423649 --- /dev/null +++ b/tests/expected/rmdir.stdout @@ -0,0 +1 @@ +rmdir exited with status code 0 diff --git a/tests/expected/write.stderr b/tests/expected/write.stderr new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tests/expected/write.stdout b/tests/expected/write.stdout new file mode 100644 index 0000000000000000000000000000000000000000..980a0d5f19a64b4b30a87d4206aade58726b60e3 --- /dev/null +++ b/tests/expected/write.stdout @@ -0,0 +1 @@ +Hello World!