summaryrefslogtreecommitdiffstats
path: root/pintos-progos/tests/intro
diff options
context:
space:
mode:
Diffstat (limited to 'pintos-progos/tests/intro')
-rw-r--r--pintos-progos/tests/intro/Grading5
-rw-r--r--pintos-progos/tests/intro/alarm-clock/Make.tests15
-rw-r--r--pintos-progos/tests/intro/alarm-clock/Rubric7
l---------pintos-progos/tests/intro/alarm-clock/alarm-multiple.ck1
l---------pintos-progos/tests/intro/alarm-clock/alarm-negative.c1
l---------pintos-progos/tests/intro/alarm-clock/alarm-negative.ck1
l---------pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.c1
l---------pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.ck1
l---------pintos-progos/tests/intro/alarm-clock/alarm-single.ck1
l---------pintos-progos/tests/intro/alarm-clock/alarm-wait.c1
l---------pintos-progos/tests/intro/alarm-clock/alarm-zero.c1
l---------pintos-progos/tests/intro/alarm-clock/alarm-zero.ck1
-rw-r--r--pintos-progos/tests/intro/alarm-clock/tests.c80
-rw-r--r--pintos-progos/tests/intro/userprog-args/Make.tests27
-rw-r--r--pintos-progos/tests/intro/userprog-args/Rubric7
l---------pintos-progos/tests/intro/userprog-args/args-dbl-space.ck1
-rw-r--r--pintos-progos/tests/intro/userprog-args/args-limit.c70
-rw-r--r--pintos-progos/tests/intro/userprog-args/args-limit.ck11
l---------pintos-progos/tests/intro/userprog-args/args-many.ck1
l---------pintos-progos/tests/intro/userprog-args/args-multiple.ck1
l---------pintos-progos/tests/intro/userprog-args/args-none.ck1
l---------pintos-progos/tests/intro/userprog-args/args-single.ck1
l---------pintos-progos/tests/intro/userprog-args/args.c1
l---------pintos-progos/tests/intro/userprog-args/child-simple.c1
24 files changed, 0 insertions, 238 deletions
diff --git a/pintos-progos/tests/intro/Grading b/pintos-progos/tests/intro/Grading
deleted file mode 100644
index b1ff6b8..0000000
--- a/pintos-progos/tests/intro/Grading
+++ /dev/null
@@ -1,5 +0,0 @@
1# Percentage of the testing point total designated for each set of
2# tests.
3
450.0% tests/intro/alarm-clock/Rubric
550.0% tests/intro/userprog-args/Rubric
diff --git a/pintos-progos/tests/intro/alarm-clock/Make.tests b/pintos-progos/tests/intro/alarm-clock/Make.tests
deleted file mode 100644
index 55ad443..0000000
--- a/pintos-progos/tests/intro/alarm-clock/Make.tests
+++ /dev/null
@@ -1,15 +0,0 @@
1# -*- makefile -*-
2tests/intro/alarm-clock/%.output: SIMULATOR = bochs
3tests/intro/alarm-clock/%.output: PINTOSOPTS += --kernel-test
4tests/intro/alarm-clock/%.output: FILESYSSOURCE = --filesys-size=1
5
6# Test names.
7tests/intro/alarm-clock_TESTS = $(addprefix tests/intro/alarm-clock/,alarm-single \
8alarm-multiple alarm-simultaneous alarm-zero alarm-negative)
9
10# Sources for tests.
11tests/intro/alarm-clock_SRC = tests/intro/alarm-clock/tests.c
12tests/intro/alarm-clock_SRC += tests/intro/alarm-clock/alarm-wait.c
13tests/intro/alarm-clock_SRC += tests/intro/alarm-clock/alarm-simultaneous.c
14tests/intro/alarm-clock_SRC += tests/intro/alarm-clock/alarm-zero.c
15tests/intro/alarm-clock_SRC += tests/intro/alarm-clock/alarm-negative.c
diff --git a/pintos-progos/tests/intro/alarm-clock/Rubric b/pintos-progos/tests/intro/alarm-clock/Rubric
deleted file mode 100644
index 0cf3dc1..0000000
--- a/pintos-progos/tests/intro/alarm-clock/Rubric
+++ /dev/null
@@ -1,7 +0,0 @@
1Functionality and robustness of alarm clock:
24 alarm-single
34 alarm-multiple
44 alarm-simultaneous
51 alarm-zero
61 alarm-negative
7
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-multiple.ck b/pintos-progos/tests/intro/alarm-clock/alarm-multiple.ck
deleted file mode 120000
index f3a9edc..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-multiple.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-multiple.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-negative.c b/pintos-progos/tests/intro/alarm-clock/alarm-negative.c
deleted file mode 120000
index 483aa63..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-negative.c
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-negative.c \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-negative.ck b/pintos-progos/tests/intro/alarm-clock/alarm-negative.ck
deleted file mode 120000
index 279520e..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-negative.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-negative.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.c b/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.c
deleted file mode 120000
index 6362b61..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.c
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-simultaneous.c \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.ck b/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.ck
deleted file mode 120000
index 7226d0c..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-simultaneous.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-simultaneous.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-single.ck b/pintos-progos/tests/intro/alarm-clock/alarm-single.ck
deleted file mode 120000
index 7f98a51..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-single.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-single.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-wait.c b/pintos-progos/tests/intro/alarm-clock/alarm-wait.c
deleted file mode 120000
index 2755ae5..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-wait.c
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-wait.c \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-zero.c b/pintos-progos/tests/intro/alarm-clock/alarm-zero.c
deleted file mode 120000
index a1f3ca7..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-zero.c
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-zero.c \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/alarm-zero.ck b/pintos-progos/tests/intro/alarm-clock/alarm-zero.ck
deleted file mode 120000
index 3f98d64..0000000
--- a/pintos-progos/tests/intro/alarm-clock/alarm-zero.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../threads/alarm-zero.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/alarm-clock/tests.c b/pintos-progos/tests/intro/alarm-clock/tests.c
deleted file mode 100644
index 4a96360..0000000
--- a/pintos-progos/tests/intro/alarm-clock/tests.c
+++ /dev/null
@@ -1,80 +0,0 @@
1#include "tests/threads/tests.h"
2#include <debug.h>
3#include <string.h>
4#include <stdio.h>
5
6struct test
7 {
8 const char *name;
9 test_func *function;
10 };
11
12static const struct test tests[] =
13 {
14 {"alarm-single", test_alarm_single},
15 {"alarm-multiple", test_alarm_multiple},
16 {"alarm-simultaneous", test_alarm_simultaneous},
17 {"alarm-zero", test_alarm_zero},
18 {"alarm-negative", test_alarm_negative},
19 };
20
21static const char *test_name;
22
23/* Runs the test named NAME. */
24void
25run_test (const char *name)
26{
27 const struct test *t;
28
29 for (t = tests; t < tests + sizeof tests / sizeof *tests; t++)
30 if (!strcmp (name, t->name))
31 {
32 test_name = name;
33 msg ("begin");
34 t->function ();
35 msg ("end");
36 return;
37 }
38 PANIC ("no test named \"%s\"", name);
39}
40
41/* Prints FORMAT as if with printf(),
42 prefixing the output by the name of the test
43 and following it with a new-line character. */
44void
45msg (const char *format, ...)
46{
47 va_list args;
48
49 printf ("(%s) ", test_name);
50 va_start (args, format);
51 vprintf (format, args);
52 va_end (args);
53 putchar ('\n');
54}
55
56/* Prints failure message FORMAT as if with printf(),
57 prefixing the output by the name of the test and FAIL:
58 and following it with a new-line character,
59 and then panics the kernel. */
60void
61fail (const char *format, ...)
62{
63 va_list args;
64
65 printf ("(%s) FAIL: ", test_name);
66 va_start (args, format);
67 vprintf (format, args);
68 va_end (args);
69 putchar ('\n');
70
71 PANIC ("test failed");
72}
73
74/* Prints a message indicating the current test passed. */
75void
76pass (void)
77{
78 printf ("(%s) PASS\n", test_name);
79}
80
diff --git a/pintos-progos/tests/intro/userprog-args/Make.tests b/pintos-progos/tests/intro/userprog-args/Make.tests
deleted file mode 100644
index 6f7a474..0000000
--- a/pintos-progos/tests/intro/userprog-args/Make.tests
+++ /dev/null
@@ -1,27 +0,0 @@
1# -*- makefile -*-
2
3tests/intro/userprog-args/%.output: FILESYSSOURCE = --filesys-size=2
4tests/intro/userprog-args/%.output: PUTFILES = $(filter-out kernel.bin loader.bin, $^)
5tests/intro/userprog-args/%.output: SIMULATOR = --qemu
6tests/intro/userprog-args_TESTS = $(addprefix tests/intro/userprog-args/,args-none \
7args-single args-multiple args-many args-dbl-space args-limit)
8
9tests/intro/userprog-args_PROGS = $(tests/intro/userprog-args_TESTS) $(addprefix \
10tests/intro/userprog-args/,child-simple child-args)
11
12tests/intro/userprog-args/args-none_SRC = tests/intro/userprog-args/args.c
13tests/intro/userprog-args/args-single_SRC = tests/intro/userprog-args/args.c
14tests/intro/userprog-args/args-multiple_SRC = tests/intro/userprog-args/args.c
15tests/intro/userprog-args/args-many_SRC = tests/intro/userprog-args/args.c
16tests/intro/userprog-args/args-dbl-space_SRC = tests/intro/userprog-args/args.c
17tests/intro/userprog-args/args-limit_SRC = tests/intro/userprog-args/args-limit.c
18
19tests/intro/userprog-args/child-simple_SRC = tests/intro/userprog-args/child-simple.c
20tests/intro/userprog-args/child-args_SRC = tests/intro/userprog-args/args.c
21
22$(foreach prog,$(tests/intro/userprog-args_PROGS),$(eval $(prog)_SRC += tests/lib.c))
23
24tests/intro/userprog-args/args-single_ARGS = onearg
25tests/intro/userprog-args/args-multiple_ARGS = some arguments for you!
26tests/intro/userprog-args/args-many_ARGS = a b c d e f g h i j k l m n o p q r s t u v
27tests/intro/userprog-args/args-dbl-space_ARGS = two spaces!
diff --git a/pintos-progos/tests/intro/userprog-args/Rubric b/pintos-progos/tests/intro/userprog-args/Rubric
deleted file mode 100644
index f5474c5..0000000
--- a/pintos-progos/tests/intro/userprog-args/Rubric
+++ /dev/null
@@ -1,7 +0,0 @@
1Functionality of stack setup:
23 args-none
33 args-single
43 args-multiple
53 args-many
63 args-dbl-space
73 args-limit
diff --git a/pintos-progos/tests/intro/userprog-args/args-dbl-space.ck b/pintos-progos/tests/intro/userprog-args/args-dbl-space.ck
deleted file mode 120000
index 730d787..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-dbl-space.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args-dbl-space.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/args-limit.c b/pintos-progos/tests/intro/userprog-args/args-limit.c
deleted file mode 100644
index 159d868..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-limit.c
+++ /dev/null
@@ -1,70 +0,0 @@
1/* Test the limit for (1) number of arguments and (2) total size of arguments */
2#include <syscall.h>
3#include <string.h>
4#include "tests/lib.h"
5
6#define MAX_SIZE 4096
7
8static bool recurse (int, int);
9
10char cmd[MAX_SIZE * 4];
11
12static bool
13recurse (int argsize, int argcount)
14{
15 int i, j;
16 char *p;
17 strlcpy (cmd, "args-limit", 11);
18 p = cmd+strlen(cmd);
19 for (i = 0; i < argcount; i++) {
20 *p++ = ' ';
21 for (j = 0; j < argsize; j++) {
22 *p++ = 'X';
23 }
24 }
25 *p = 0;
26 if (wait (exec (cmd)) < 0) {
27 return false;
28 } else {
29 return true;
30 }
31}
32
33int
34main (int argc, char **argv)
35{
36 test_name = argv[0];
37 if(argc <= 1) {
38 int step;
39 int max_args = 0, max_size = 0;
40
41 msg ("begin");
42
43 /* Binary search number of arguments */
44 for (step = MAX_SIZE; step > 0 && max_args < MAX_SIZE; step>>=1) {
45 int t = max_args + step;
46 if (recurse (1, t)) {
47 max_args = t;
48 }
49 }
50 if (max_args > 63) {
51 msg ("success. at least 64 command line arguments are supported.");
52 } else {
53 msg ("FAIL: Only %d command line arguments are supported",max_args);
54 }
55 /* Binary search size of arguments */
56 for (step = MAX_SIZE; step > 0 && max_size < MAX_SIZE; step>>=1) {
57 int t = max_size + step;
58 if (recurse (t, 1)) {
59 max_size = t;
60 }
61 }
62 if (max_size >= 100) {
63 msg ("success. arguments with at least 100 bytes are supported.");
64 } else {
65 msg ("FAIL: Arguments with more than %d bytes are not supported.",max_size);
66 }
67 msg ("end");
68 }
69 return 0;
70}
diff --git a/pintos-progos/tests/intro/userprog-args/args-limit.ck b/pintos-progos/tests/intro/userprog-args/args-limit.ck
deleted file mode 100644
index ed8ead2..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-limit.ck
+++ /dev/null
@@ -1,11 +0,0 @@
1# -*- perl -*-
2use strict;
3use warnings;
4use tests::tests;
5check_expected (IGNORE_EXIT_CODES => 1, [<<'EOF']);
6(args-limit) begin
7(args-limit) success. at least 64 command line arguments are supported.
8(args-limit) success. arguments with at least 100 bytes are supported.
9(args-limit) end
10EOF
11pass;
diff --git a/pintos-progos/tests/intro/userprog-args/args-many.ck b/pintos-progos/tests/intro/userprog-args/args-many.ck
deleted file mode 120000
index ed175bd..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-many.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args-many.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/args-multiple.ck b/pintos-progos/tests/intro/userprog-args/args-multiple.ck
deleted file mode 120000
index 4f9935f..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-multiple.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args-multiple.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/args-none.ck b/pintos-progos/tests/intro/userprog-args/args-none.ck
deleted file mode 120000
index 861d319..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-none.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args-none.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/args-single.ck b/pintos-progos/tests/intro/userprog-args/args-single.ck
deleted file mode 120000
index df8e737..0000000
--- a/pintos-progos/tests/intro/userprog-args/args-single.ck
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args-single.ck \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/args.c b/pintos-progos/tests/intro/userprog-args/args.c
deleted file mode 120000
index 0d798ac..0000000
--- a/pintos-progos/tests/intro/userprog-args/args.c
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/args.c \ No newline at end of file
diff --git a/pintos-progos/tests/intro/userprog-args/child-simple.c b/pintos-progos/tests/intro/userprog-args/child-simple.c
deleted file mode 120000
index f8a3ce7..0000000
--- a/pintos-progos/tests/intro/userprog-args/child-simple.c
+++ /dev/null
@@ -1 +0,0 @@
1../../userprog/child-simple.c \ No newline at end of file