01: //
02: // Copyright (C) 2005 United States Government as represented by the
03: // Administrator of the National Aeronautics and Space Administration
04: // (NASA). All Rights Reserved.
05: //
06: // This software is distributed under the NASA Open Source Agreement
07: // (NOSA), version 1.3. The NOSA has been approved by the Open Source
08: // Initiative. See the file NOSA-1.3-JPF at the top of the distribution
09: // directory tree for the complete NOSA document.
10: //
11: // THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY
12: // KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
13: // LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
14: // SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
15: // A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT
16: // THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT
17: // DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE.
18: //
19: package gov.nasa.jpf.mc;
20:
21: import gov.nasa.jpf.jvm.TestJPF;
22: import gov.nasa.jpf.jvm.Verify;
23:
24: import junit.framework.TestSuite;
25:
26: import junit.textui.TestRunner;
27:
28: /**
29: * JPF driver of gov.nasa.jpf.jvm.Verify test for nondeterministic
30: * data initialization
31: */
32: public class TestRandomJPF extends TestJPF {
33: static String testClass = "gov.nasa.jpf.mc.TestRandom";
34:
35: public TestRandomJPF(String name) {
36: super (name);
37: }
38:
39: public static void main(String[] args) {
40: TestRunner.run(suite());
41: }
42:
43: public static TestSuite suite() {
44: return new TestSuite(TestRandomJPF.class);
45: }
46:
47: /**************************** tests **********************************/
48: public void testRandom() {
49: String[] args = { testClass, "testRandom", "3" };
50:
51: Verify.resetCounter(0);
52:
53: runJPFnoException(args);
54:
55: if (Verify.getCounter(0) != 4) {
56: fail("wrong number of backtracks");
57: }
58: }
59:
60: public void testRandomBFS() {
61: String[] args = {
62: "+search.class=gov.nasa.jpf.search.heuristic.HeuristicSearch",
63: "+search.heuristic.class=gov.nasa.jpf.search.heuristic.BFSHeuristic",
64: testClass };
65:
66: Verify.resetCounter(0);
67:
68: runJPFnoException(args);
69:
70: if (Verify.getCounter(0) != 4) {
71: System.out.println("#### " + Verify.getCounter(0));
72: fail("wrong number of backtracks");
73: }
74: }
75: }
|