tests: fix string comparison + regex matching

This commit is contained in:
sridharv
2016-03-27 20:14:38 +02:00
parent b7b4d886f1
commit b92c92867f
2 changed files with 12 additions and 3 deletions

View File

@ -4,6 +4,7 @@ import go.LoadJNI;
import java.util.Arrays; import java.util.Arrays;
import java.lang.Math; import java.lang.Math;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.regex.Pattern;
import go.SeqTest; import go.SeqTest;
@ -41,7 +42,7 @@ public class MoreAsserts {
} }
public static void assertEquals(String msg, String expected, String actual) { 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) { public static void assertEquals(String msg, boolean expected, boolean actual) {
@ -66,8 +67,9 @@ public class MoreAsserts {
public static void main(String[] args) { public static void main(String[] args) {
SeqTest test = new SeqTest(); SeqTest test = new SeqTest();
Class c = test.getClass(); Class c = test.getClass();
boolean failed = false;
for (Method method : c.getDeclaredMethods()) { for (Method method : c.getDeclaredMethods()) {
if (!method.getName().startsWith("test")) { if (!method.getName().startsWith("test") || !Pattern.matches(args[0], method.getName())) {
continue; continue;
} }
@ -78,8 +80,12 @@ public class MoreAsserts {
} catch (Exception ex) { } catch (Exception ex) {
System.out.println(" FAIL"); System.out.println(" FAIL");
ex.printStackTrace(); ex.printStackTrace();
failed = true;
} }
} }
if (failed) {
System.exit(1);
}
} }
} }

View File

@ -7,8 +7,11 @@ import (
"path/filepath" "path/filepath"
"os/exec" "os/exec"
"os" "os"
"flag"
) )
var javaTest = flag.String("javatest", ".*", "Run only java tests matching the regular expression")
func TestJavaBind(t *testing.T) { func TestJavaBind(t *testing.T) {
tmpDir, err := ioutil.TempDir("", "gojavatest") tmpDir, err := ioutil.TempDir("", "gojavatest")
if err != nil { 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 { if err := runCommand("javac", "-cp", jar, "-d", tmpDir, toCopy[0].dst, toCopy[1].dst); err != nil {
t.Fatal(err) 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.Stderr = os.Stderr
cmd.Stdout = os.Stdout cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {