Added unit tests. Meant to be run with nodeunit

This commit is contained in:
Mitchell Plamann
2015-03-28 18:35:43 -04:00
parent af86f56873
commit 6774610569
6 changed files with 52 additions and 0 deletions

3
test/ishr.c0 Normal file
View File

@@ -0,0 +1,3 @@
int main () {
return -1 >> 1; /* should return -1 */
}

24
test/ishr.c0.bc0 Normal file
View File

@@ -0,0 +1,24 @@
C0 C0 FF EE # magic number
00 09 # version 4, arch = 1 (64 bits)
00 00 # int pool count
# int pool
00 00 # string pool total size
# string pool
00 01 # function count
# function_pool
#<main>
00 00 # number of arguments = 0
00 00 # number of local variables = 0
00 06 # code length = 6 bytes
10 FF # bipush -1 # -1
10 01 # bipush 1 # 1
7A # ishr # (-(1) >> 1)
B0 # return #
00 00 # native count
# native pool

1
test/ishr.c0.bc0out Normal file
View File

@@ -0,0 +1 @@
-1

1
test/ishr.c0.c0out Normal file
View File

@@ -0,0 +1 @@
-1

BIN
test/ishr.c0.ex Executable file

Binary file not shown.

23
test/tests.js Normal file
View File

@@ -0,0 +1,23 @@
parser = require("../src/bytecode-parser.js")
c0vm = require("../src/c0vm.js")
var callbacks = {}
// Tests that IADD, BIPUSH, and RETURN (from main) work
exports.testIADD = function(test) {
var result = c0vm.execute(parser.parse("iadd.c0.bc0"), callbacks, false);
test.ok(result == -2, "iadd.c0.bc0 - Error in IADD, BIPUSH, or RETURN");
test.done();
};
exports.testPrint = function(test) {
var result = c0vm.execute(parser.parse("test.bc0"), callbacks, false);
test.ok(result == 0, "test.bc0 - Did not print to screen correctly");
test.done();
}
exports.testISHR = function(test) {
var result = c0vm.execute(parser.parse("ishr.c0.bc0"), callbacks, false);
test.ok(result == -1, "ishr.c0.bc0 - -1 >> 1 gave " + result + ", not -1");
test.done();
}