From a85200e31427e6b36a3e1799d43e9f885c3d7ffb Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 15 Jul 2007 07:35:06 +0100 Subject: [PATCH] add support for #skip tests --- src/edu/berkeley/fleet/Main.java | 5 +++++ src/edu/berkeley/fleet/assembler/Parser.java | 4 ++++ src/edu/berkeley/fleet/assembler/fleet.g | 1 + 3 files changed, 10 insertions(+) diff --git a/src/edu/berkeley/fleet/Main.java b/src/edu/berkeley/fleet/Main.java index 65d53bf..51e7493 100644 --- a/src/edu/berkeley/fleet/Main.java +++ b/src/edu/berkeley/fleet/Main.java @@ -94,6 +94,11 @@ public class Main { } else if (f.getPath().endsWith(".fleet")) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); edu.berkeley.fleet.assembler.Main.assemble(fleet, new InputStreamReader(new FileInputStream(f)), baos); + if (edu.berkeley.fleet.assembler.Parser.skip) { + System.out.println("\r[" + ANSI.yellow("SKIP") + + "] " + ANSI.yellow(f.getPath())); + return; + } FleetProcess fp = fleet.run(baos.toByteArray()); try { ArrayList expect = edu.berkeley.fleet.assembler.Parser.expect; diff --git a/src/edu/berkeley/fleet/assembler/Parser.java b/src/edu/berkeley/fleet/assembler/Parser.java index 3fd059b..0e714ad 100644 --- a/src/edu/berkeley/fleet/assembler/Parser.java +++ b/src/edu/berkeley/fleet/assembler/Parser.java @@ -54,6 +54,7 @@ public class Parser { // this needs to be "code bag zero" CodeBag baseCodeBag = new CodeBag(); CodeBag rootCodeBag = new CodeBag(); + skip = false; baseCodeBag.add(new Instruction.Literal.CodeBagDescriptor(null, rootCodeBag.getFakeAddress(), 1)); walk((Tree)parse(r), rootCodeBag); if (fleet instanceof edu.berkeley.fleet.slipway.Slipway) @@ -137,6 +138,8 @@ public class Parser { } else if (head.equals("Expect")) { expect.add(Long.parseLong(string(t.child(0)))); + } else if (head.equals("Skip")) { + skip = true; } } @@ -302,5 +305,6 @@ public class Parser { // hideous hack public static ArrayList expect; + public static boolean skip; } diff --git a/src/edu/berkeley/fleet/assembler/fleet.g b/src/edu/berkeley/fleet/assembler/fleet.g index d11d42e..4e69705 100644 --- a/src/edu/berkeley/fleet/assembler/fleet.g +++ b/src/edu/berkeley/fleet/assembler/fleet.g @@ -66,4 +66,5 @@ Directive = "#memory" "{" (Memory:: int +/ (ws! "," ws!)) "}" /ws | Include:: "#include" ws! "\"" ~[\"]+ "\"" | Ship:: "#ship" shipname ":" ("":: [0-9A-Za-z_.]++) /ws | Expect:: "#expect" int /ws + | Skip:: "#skip" -- 1.7.10.4