Search in sources :

Example 6 with Wmm

use of com.dat3m.dartagnan.wmm.Wmm in project Dat3M by hernanponcedeleon.

the class PrinterTest method LinuxtoString.

@Test()
public void LinuxtoString() throws Exception {
    Wmm cat = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/linux-kernel.cat"));
    assertNotNull(cat.toString());
}
Also used : Wmm(com.dat3m.dartagnan.wmm.Wmm) ParserCat(com.dat3m.dartagnan.parsers.cat.ParserCat) File(java.io.File) Test(org.junit.Test)

Example 7 with Wmm

use of com.dat3m.dartagnan.wmm.Wmm in project Dat3M by hernanponcedeleon.

the class PrinterTest method TSOtoString.

@Test()
public void TSOtoString() throws Exception {
    Wmm cat = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/tso.cat"));
    assertNotNull(cat.toString());
}
Also used : Wmm(com.dat3m.dartagnan.wmm.Wmm) ParserCat(com.dat3m.dartagnan.parsers.cat.ParserCat) File(java.io.File) Test(org.junit.Test)

Example 8 with Wmm

use of com.dat3m.dartagnan.wmm.Wmm in project Dat3M by hernanponcedeleon.

the class PrinterTest method AARCH64toString.

@Test()
public void AARCH64toString() throws Exception {
    Wmm cat = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/aarch64.cat"));
    assertNotNull(cat.toString());
}
Also used : Wmm(com.dat3m.dartagnan.wmm.Wmm) ParserCat(com.dat3m.dartagnan.parsers.cat.ParserCat) File(java.io.File) Test(org.junit.Test)

Example 9 with Wmm

use of com.dat3m.dartagnan.wmm.Wmm in project Dat3M by hernanponcedeleon.

the class UnusedTestFails method data.

@Parameterized.Parameters(name = "{index}: {0} bound={2}")
public static Iterable<Object[]> data() throws IOException {
    String scCat = GlobalSettings.ATOMIC_AS_LOCK ? "cat/svcomp-locks.cat" : "cat/svcomp.cat";
    Wmm sc = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + scCat));
    Wmm tso = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/tso.cat"));
    Wmm power = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/power.cat"));
    Wmm arm = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/aarch64.cat"));
    List<Object[]> data = new ArrayList<>();
    return data;
}
Also used : Wmm(com.dat3m.dartagnan.wmm.Wmm) ArrayList(java.util.ArrayList) ParserCat(com.dat3m.dartagnan.parsers.cat.ParserCat) File(java.io.File)

Example 10 with Wmm

use of com.dat3m.dartagnan.wmm.Wmm in project Dat3M by hernanponcedeleon.

the class BuildWitnessTest method BuildWriteEncode.

@Test
public void BuildWriteEncode() throws Exception {
    Configuration config = Configuration.builder().setOption(WITNESS_ORIGINAL_PROGRAM_PATH, ResourceHelper.TEST_RESOURCE_PATH + "witness/lazy01-for-witness.bpl").setOption(BOUND, "1").build();
    Program p = new ProgramParser().parse(new File(ResourceHelper.TEST_RESOURCE_PATH + "witness/lazy01-for-witness.bpl"));
    Wmm wmm = new ParserCat().parse(new File(ResourceHelper.CAT_RESOURCE_PATH + "cat/svcomp.cat"));
    VerificationTask task = VerificationTask.builder().withConfig(config).build(p, wmm, EnumSet.of(Property.getDefault()));
    try (SolverContext ctx = TestHelper.createContext();
        ProverEnvironment prover = ctx.newProverEnvironment(ProverOptions.GENERATE_MODELS)) {
        Result res = IncrementalSolver.run(ctx, prover, task);
        WitnessBuilder witnessBuilder = new WitnessBuilder(task, ctx, prover, res);
        config.inject(witnessBuilder);
        WitnessGraph graph = witnessBuilder.build();
        File witnessFile = new File(System.getenv("DAT3M_HOME") + "/output/lazy01-for-witness.graphml");
        // The file should not exist
        assertFalse(witnessFile.exists());
        // Write to file
        graph.write();
        // The file should exist now
        assertTrue(witnessFile.exists());
        // Delete the file
        witnessFile.delete();
        // Create encoding
        BooleanFormula enc = graph.encode(p, ctx);
        BooleanFormulaManager bmgr = ctx.getFormulaManager().getBooleanFormulaManager();
        // Check the formula is not trivial
        assertFalse(bmgr.isFalse(enc));
        assertFalse(bmgr.isTrue(enc));
    }
}
Also used : Program(com.dat3m.dartagnan.program.Program) BooleanFormulaManager(org.sosy_lab.java_smt.api.BooleanFormulaManager) Configuration(org.sosy_lab.common.configuration.Configuration) ProgramParser(com.dat3m.dartagnan.parsers.program.ProgramParser) ParserCat(com.dat3m.dartagnan.parsers.cat.ParserCat) Result(com.dat3m.dartagnan.utils.Result) SolverContext(org.sosy_lab.java_smt.api.SolverContext) VerificationTask(com.dat3m.dartagnan.verification.VerificationTask) Wmm(com.dat3m.dartagnan.wmm.Wmm) File(java.io.File) ProverEnvironment(org.sosy_lab.java_smt.api.ProverEnvironment) BooleanFormula(org.sosy_lab.java_smt.api.BooleanFormula) Test(org.junit.Test)

Aggregations

Wmm (com.dat3m.dartagnan.wmm.Wmm)14 ParserCat (com.dat3m.dartagnan.parsers.cat.ParserCat)10 File (java.io.File)8 Program (com.dat3m.dartagnan.program.Program)6 Test (org.junit.Test)6 ProgramParser (com.dat3m.dartagnan.parsers.program.ProgramParser)4 VerificationTask (com.dat3m.dartagnan.verification.VerificationTask)4 SolverContext (org.sosy_lab.java_smt.api.SolverContext)4 Property (com.dat3m.dartagnan.configuration.Property)3 Result (com.dat3m.dartagnan.utils.Result)3 EnumSet (java.util.EnumSet)3 Configuration (org.sosy_lab.common.configuration.Configuration)3 Relation (com.dat3m.dartagnan.wmm.relation.Relation)2 List (java.util.List)2 Collectors (java.util.stream.Collectors)2 ProverEnvironment (org.sosy_lab.java_smt.api.ProverEnvironment)2 Arch (com.dat3m.dartagnan.configuration.Arch)1 OptionInfo.collectOptions (com.dat3m.dartagnan.configuration.OptionInfo.collectOptions)1 PHANTOM_REFERENCES (com.dat3m.dartagnan.configuration.OptionNames.PHANTOM_REFERENCES)1 ParserErrorListener (com.dat3m.dartagnan.exception.ParserErrorListener)1