From b92c92867f00fe5c2ac8ea462588ab23c22f9b0a Mon Sep 17 00:00:00 2001 From: sridharv Date: Sun, 27 Mar 2016 20:14:38 +0200 Subject: [PATCH] tests: fix string comparison + regex matching --- MoreAsserts.java | 10 ++++++++-- gojava_test.go | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/MoreAsserts.java b/MoreAsserts.java index 50a8a6f..068ad7f 100644 --- a/MoreAsserts.java +++ b/MoreAsserts.java @@ -4,6 +4,7 @@ import go.LoadJNI; import java.util.Arrays; import java.lang.Math; import java.lang.reflect.Method; +import java.util.regex.Pattern; import go.SeqTest; @@ -41,7 +42,7 @@ public class MoreAsserts { } public static void assertEquals(String msg, String expected, String actual) { - assertTrue(msg, expected == actual); + assertTrue(String.format("%s expected:%s != actual:%s", msg, expected, actual), expected.equals(actual)); } public static void assertEquals(String msg, boolean expected, boolean actual) { @@ -66,8 +67,9 @@ public class MoreAsserts { public static void main(String[] args) { SeqTest test = new SeqTest(); Class c = test.getClass(); + boolean failed = false; for (Method method : c.getDeclaredMethods()) { - if (!method.getName().startsWith("test")) { + if (!method.getName().startsWith("test") || !Pattern.matches(args[0], method.getName())) { continue; } @@ -78,8 +80,12 @@ public class MoreAsserts { } catch (Exception ex) { System.out.println(" FAIL"); ex.printStackTrace(); + failed = true; } } + if (failed) { + System.exit(1); + } } } diff --git a/gojava_test.go b/gojava_test.go index 8648d76..d53ebbc 100644 --- a/gojava_test.go +++ b/gojava_test.go @@ -7,8 +7,11 @@ import ( "path/filepath" "os/exec" "os" + "flag" ) +var javaTest = flag.String("javatest", ".*", "Run only java tests matching the regular expression") + func TestJavaBind(t *testing.T) { tmpDir, err := ioutil.TempDir("", "gojavatest") if err != nil { @@ -33,7 +36,7 @@ func TestJavaBind(t *testing.T) { if err := runCommand("javac", "-cp", jar, "-d", tmpDir, toCopy[0].dst, toCopy[1].dst); err != nil { t.Fatal(err) } - cmd := exec.Command("java", "-cp", jar + ":" + tmpDir, "go.MoreAsserts") + cmd := exec.Command("java", "-cp", jar + ":" + tmpDir, "go.MoreAsserts", *javaTest) cmd.Stderr = os.Stderr cmd.Stdout = os.Stdout if err := cmd.Run(); err != nil {