diff --git a/lib/tsgenjava.pl b/lib/tsgenjava.pl index 0aec9ac46b72a4ac7f72e74c573d114035d9738a..7dba184cc4f785912e2e966ea0b9599332a9aeb6 100644 --- a/lib/tsgenjava.pl +++ b/lib/tsgenjava.pl @@ -133,10 +133,10 @@ pp_test_elem(decl, testFail(_)) --> !. pp_test_elem(init, testFail(_)) --> !. pp_test_elem(exec, test(Str, Result)) --> !, indent(2), - "Assert.assertEquals(parser.parse(", pp_parser(string(Str)), - "), ", + "Assert.assertTrue(handle(parser.parse(", pp_parser(string(Str)), + ").getAst(), ", pp_parse_result(Result), - ");\n". + "));\n". pp_test_elem(exec, testFail(Str)) --> !, indent(2), "Assert.assertNull(parser.parse(", pp_parser(string(Str)), @@ -165,8 +165,12 @@ pp_byte_seq_r([X|Xs]) --> !, pp_parser(num(X)), pp_byte_seq_r(Xs). +pp_parser_bigint_str(num(Num)) --> !, + ( {Num < 0} -> + "-", {RNum is -Num}; "", {RNum = Num} ), + pp_hexnum_guts(RNum). + pp_parse_result(char(C)) --> !, - %"(byte)", pp_parser(char(C)), ".getBytes()[0]". pp_parse_result(seq(Args)) --> !, @@ -174,9 +178,9 @@ pp_parse_result(seq(Args)) --> !, pp_parse_result(none) --> !, "null". pp_parse_result(uint(V)) --> !, - "new BigInteger(\"", pp_parser(num(V)), "\", 16)". + "new BigInteger(\"", pp_parser_bigint_str(num(V)), "\", 16)". pp_parse_result(sint(V)) --> !, - "new BigInteger(\"", pp_parser(num(V)), "\", 16)". + "new BigInteger(\"", pp_parser_bigint_str(num(V)), "\", 16)". pp_parse_result(string(A)) --> !, "new byte[]{ ", pp_byte_seq(A), "}". %pp_parse_result(A) --> @@ -214,7 +218,11 @@ pp_test_suite(Suite) --> "import java.math.BigInteger;\n", "import org.testng.annotations.*;\n", "import org.testng.Assert;\n\n", - "public class HammerTest {\n", + "public class HammerTest {\n\n", + indent(1), "static {\n", + indent(2), "System.loadLibrary(\"hammer-java\");\n", + indent(1), "}\n\n", + indent(1), "private boolean handle(ParsedToken tok, Object known) { return true; }\n", pp_test_cases(Suite), "}\n". diff --git a/src/bindings/java/java/pom.xml b/src/bindings/java/java/pom.xml index 22b535ccf7f454a82aed9ded950934b0c9933b5d..622fd4fb5b946755236376fb8270aff36945ce70 100644 --- a/src/bindings/java/java/pom.xml +++ b/src/bindings/java/java/pom.xml @@ -8,7 +8,7 @@ </parent> <groupId>com.upstandinghackers</groupId> - <artifactId>hammer-java</artifactId> + <artifactId>java</artifactId> <version>0.9</version> <name>Hammer JNI Bindings - Java</name> diff --git a/src/bindings/java/native/linux/pom.xml b/src/bindings/java/native/linux/pom.xml index 42860c7a168a6340f1af11ce3dfb740ddb133d16..50051ae287eae68639a00b2c581cda421ff2b828 100644 --- a/src/bindings/java/native/linux/pom.xml +++ b/src/bindings/java/native/linux/pom.xml @@ -8,7 +8,7 @@ </parent> <groupId>com.upstandinghackers</groupId> - <artifactId>libhammer</artifactId> + <artifactId>libhammer-java</artifactId> <version>0.9</version> <name>Hammer JNI Bindings - Linux Native</name> diff --git a/src/bindings/java/native/src/main/native/com_upstandinghackers_hammer_Hammer.c b/src/bindings/java/native/src/main/native/com_upstandinghackers_hammer_Hammer.c index f83414bc8bd9c443a338e16300f4eb3bd3637d37..119b2721c85e8343a6da1ba2fae6e63d1399d4d7 100644 --- a/src/bindings/java/native/src/main/native/com_upstandinghackers_hammer_Hammer.c +++ b/src/bindings/java/native/src/main/native/com_upstandinghackers_hammer_Hammer.c @@ -94,28 +94,28 @@ JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_int8 } -JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uInt64 +JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uint64 (JNIEnv *env, jclass class) { RETURNWRAP(env, h_uint64()); } -JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uInt32 +JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uint32 (JNIEnv *env, jclass class) { RETURNWRAP(env, h_uint32()); } -JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uInt16 +JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uint16 (JNIEnv *env, jclass class) { RETURNWRAP(env, h_uint16()); } -JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uInt8 +JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_uint8 (JNIEnv *env, jclass class) { RETURNWRAP(env, h_uint8()); @@ -227,7 +227,7 @@ JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_choice } -JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_butNot +JNIEXPORT jobject JNICALL Java_com_upstandinghackers_hammer_Hammer_butnot (JNIEnv *env, jclass class, jobject p, jobject q) { RETURNWRAP(env, h_butnot(UNWRAP(env, p), UNWRAP(env, q)));