diff options
author | Rogan Creswick <creswick@gmail.com> | 2013-06-16 13:13:00 -0700 |
---|---|---|
committer | Rogan Creswick <creswick@gmail.com> | 2013-06-16 13:13:00 -0700 |
commit | 088f171d315fccae73205dd7bdb5957b09d92e54 (patch) | |
tree | 7782832d363e1bd1c98643c381e6f39c10a5ff0a /src | |
parent | 6119a4e5a1ced33fd7b974064d56b49f92700c4c (diff) |
the batch runner now injects dependencies, and a few tests check for this behavior
Diffstat (limited to 'src')
8 files changed, 45 insertions, 4 deletions
diff --git a/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java b/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java index 69b8c1c..74bd109 100644 --- a/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java +++ b/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java @@ -268,6 +268,12 @@ public class BatchRunner { injected += Utils.readFile(_root + JS_SRC_ROOT + "selenium/selenium-injected-compute.js"); injected += Utils.readFile(_root + JS_SRC_ROOT + "fiveui/injected/compute.js"); + if (null != ruleSet.getDependencies()) { + for (String dep : ruleSet.getDependencies()) { + injected += Utils.readFile(dep); + } + } + String ruleStrList = ruleSet.toJS(); String cmd = "fiveui.selPort.send('ForceEval', " + ruleStrList + ");"; diff --git a/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessRunnerTest.java b/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessRunnerTest.java index f5f09dc..28954fd 100644 --- a/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessRunnerTest.java +++ b/src/batchtools/headless/src/test/java/com/galois/fiveui/HeadlessRunnerTest.java @@ -94,9 +94,14 @@ public class HeadlessRunnerTest { }, { "../../../exampleData/sites/", - "src/test/resources/runDescriptions/headlessSample3.json", + "src/test/resources/runDescriptions/headlessSample4.json", ImmutableList.of(Result.error(null, "Generate Errors")) - } + }, + { + "../../../exampleData/sites/", + "src/test/resources/runDescriptions/headlessSample3.json", + ImmutableList.of(Result.error(null, "Generate Errors - custom")) + } }; for (Object[] descr : rawTests) { diff --git a/src/batchtools/headless/src/test/resources/ruleSets/customReporter.js b/src/batchtools/headless/src/test/resources/ruleSets/customReporter.js new file mode 100644 index 0000000..b51b2c3 --- /dev/null +++ b/src/batchtools/headless/src/test/resources/ruleSets/customReporter.js @@ -0,0 +1,6 @@ +/** + * Just a function to test dependencies. + */ +myReport = function(report, msg) { + report.error("custom "+msg); +};
\ No newline at end of file diff --git a/src/batchtools/headless/src/test/resources/ruleSets/makeError-deps.js b/src/batchtools/headless/src/test/resources/ruleSets/makeError-deps.js new file mode 100644 index 0000000..f686ccd --- /dev/null +++ b/src/batchtools/headless/src/test/resources/ruleSets/makeError-deps.js @@ -0,0 +1,5 @@ +exports.name = "Generate Errors - custom"; +exports.description = "Always report an error"; +exports.rule = function(report) { + myReport(report, "error"); +};
\ No newline at end of file diff --git a/src/batchtools/headless/src/test/resources/ruleSets/ruleSet-dependencies.json b/src/batchtools/headless/src/test/resources/ruleSets/ruleSet-dependencies.json new file mode 100644 index 0000000..d1c7ff3 --- /dev/null +++ b/src/batchtools/headless/src/test/resources/ruleSets/ruleSet-dependencies.json @@ -0,0 +1,5 @@ +{ "name": "RS with deps" +, "description": "" +, "dependencies": [ "customReporter.js" ] +, "rules": [ "makeError-deps.js" ] +}
\ No newline at end of file diff --git a/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample3.json b/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample3.json index 5be7735..f1e8184 100644 --- a/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample3.json +++ b/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample3.json @@ -1,6 +1,6 @@ [ { "url": "http://localhost:8000/headings.html", - "ruleSet": "../ruleSets/alwaysErrors.json" + "ruleSet": "../ruleSets/ruleSet-dependencies.json" } ] diff --git a/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample4.json b/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample4.json new file mode 100644 index 0000000..5be7735 --- /dev/null +++ b/src/batchtools/headless/src/test/resources/runDescriptions/headlessSample4.json @@ -0,0 +1,6 @@ +[ +{ + "url": "http://localhost:8000/headings.html", + "ruleSet": "../ruleSets/alwaysErrors.json" +} +] diff --git a/src/batchtools/rsTester/src/main/java/com/galois/fiveui/RuleSet.java b/src/batchtools/rsTester/src/main/java/com/galois/fiveui/RuleSet.java index 8e750ea..ca358d6 100644 --- a/src/batchtools/rsTester/src/main/java/com/galois/fiveui/RuleSet.java +++ b/src/batchtools/rsTester/src/main/java/com/galois/fiveui/RuleSet.java @@ -105,7 +105,15 @@ public class RuleSet { } public List<String> getDependencies() { - return dependencies; + if (null == dependencies) { + return null; + } + + List<String> qualifiedDeps = Lists.newArrayList(); + for (String dep : dependencies) { + qualifiedDeps.add(this.descDir + File.separator + dep); + } + return qualifiedDeps; } |