Make tests public. Rewrite most tests. Add tests.
[pintos-anon] / src / tests / vm / child-linear.c
diff --git a/src/tests/vm/child-linear.c b/src/tests/vm/child-linear.c
new file mode 100644 (file)
index 0000000..4fde22c
--- /dev/null
@@ -0,0 +1,32 @@
+#include <string.h>
+#include "tests/arc4.h"
+#include "tests/lib.h"
+#include "tests/main.h"
+
+const char *test_name = "child-linear";
+
+#define SIZE (128 * 1024)
+static char buf[SIZE];
+
+int
+main (int argc, char *argv[])
+{
+  const char *key = argv[argc - 1];
+  struct arc4 arc4;
+  size_t i;
+
+  /* Encrypt zeros. */
+  arc4_init (&arc4, key, strlen (key));
+  arc4_crypt (&arc4, buf, SIZE);
+
+  /* Decrypt back to zeros. */
+  arc4_init (&arc4, key, strlen (key));
+  arc4_crypt (&arc4, buf, SIZE);
+
+  /* Check that it's all zeros. */
+  for (i = 0; i < SIZE; i++)
+    if (buf[i] != '\0')
+      fail ("byte %zu != 0", i);
+
+  return 0x42;
+}