TESTS_ENVIRONMENT = @top_builddir@/../../bin/cvc4
TESTS = \
simple.cvc \
- simple.smt \
- bug1.cvc \
- boolean.cvc \
- hole10.cvc \
- hole6.cvc \
- hole7.cvc \
- hole8.cvc \
- hole9.cvc \
- test9.cvc \
- test12.cvc \
- test11.cvc \
- uf20-03.cvc \
- qwh.35.405.shuffled-as.sat03-1651.smt \
- C880mul.miter.shuffled-as.sat03-348.smt \
- instance_1151.smt \
- instance_1444.smt \
- friedman_n4_i5.smt \
- friedman_n6_i4.smt \
- bmc-galileo-8.smt \
- bmc-galileo-9.smt \
- bmc-ibm-1.smt \
- bmc-ibm-2.smt \
- bmc-ibm-3.smt \
- bmc-ibm-4.smt \
- bmc-ibm-5.smt \
- bmc-ibm-6.smt \
- bmc-ibm-7.smt \
- bmc-ibm-10.smt \
- bmc-ibm-11.smt \
- bmc-ibm-12.smt \
- bmc-ibm-13.smt \
- wiki.cvc \
- logops.cvc \
- comb2.shuffled-as.sat03-420.smt
+ simple.smt
+# bug1.cvc \
+# boolean.cvc \
+# hole10.cvc \
+# hole6.cvc \
+# hole7.cvc \
+# hole8.cvc \
+# hole9.cvc \
+# test9.cvc \
+# test12.cvc \
+# test11.cvc \
+# uf20-03.cvc \
+# qwh.35.405.shuffled-as.sat03-1651.smt \
+# C880mul.miter.shuffled-as.sat03-348.smt \
+# instance_1151.smt \
+# instance_1444.smt \
+# friedman_n4_i5.smt \
+# friedman_n6_i4.smt \
+# bmc-galileo-8.smt \
+# bmc-galileo-9.smt \
+# bmc-ibm-1.smt \
+# bmc-ibm-2.smt \
+# bmc-ibm-3.smt \
+# bmc-ibm-4.smt \
+# bmc-ibm-5.smt \
+# bmc-ibm-6.smt \
+# bmc-ibm-7.smt \
+# bmc-ibm-10.smt \
+# bmc-ibm-11.smt \
+# bmc-ibm-12.smt \
+# bmc-ibm-13.smt \
+# wiki.cvc \
+# logops.cvc \
+# comb2.shuffled-as.sat03-420.smt
# synonyms for "check"
.PHONY: regress regress0 regress1 regress2 regress3 test
/********************* -*- C++ -*- */
-/** node_black.h
- ** Original author: mdeters
- ** Major contributors: none
- ** Minor contributors (to current version): dejan
+/** context_black.h
+ ** Original author: dejan
** This file is part of the CVC4 prototype.
** Copyright (c) 2009 The Analysis of Computer Systems Group (ACSys)
** Courant Institute of Mathematical Sciences
//Used in some of the tests
#include <vector>
+#include <iostream>
#include "context/context.h"
using namespace std;
}
void testIntCDO() {
+ // Test that push/pop maintains the original value
CDO<int> a1(d_context);
+ a1 = 5;
+ TS_ASSERT(d_context->getLevel() == 0);
+ d_context->push();
+ a1 = 10;
+ TS_ASSERT(d_context->getLevel() == 1);
+ TS_ASSERT(a1 == 10);
+ d_context->pop();
+ TS_ASSERT(d_context->getLevel() == 0);
+ TS_ASSERT(a1 == 5);
}
- void tearDown(){
+ void testContextPushPop() {
+ // Test what happens when the context is popped below 0
+ // the interface doesn't declare any exceptions
+ d_context->push();
+ d_context->pop();
+ d_context->pop();
+ d_context->pop();
+ }
+
+ void tearDown() {
delete d_context;
}
};
--- /dev/null
+/********************* -*- C++ -*- */
+/** context_mm_black.h
+ ** Original author: dejan
+ ** This file is part of the CVC4 prototype.
+ ** Copyright (c) 2009 The Analysis of Computer Systems Group (ACSys)
+ ** Courant Institute of Mathematical Sciences
+ ** New York University
+ ** See the file COPYING in the top-level source directory for licensing
+ ** information.
+ **
+ ** Black box testing of CVC4::Node.
+ **/
+
+#include <cxxtest/TestSuite.h>
+#include <cstring>
+
+//Used in some of the tests
+#include <vector>
+#include <iostream>
+#include "context/context_mm.h"
+
+using namespace std;
+using namespace CVC4::context;
+
+class ContextBlack : public CxxTest::TestSuite {
+private:
+
+ ContextMemoryManager* d_cmm;
+
+public:
+
+ void setUp() {
+ d_cmm = new ContextMemoryManager();
+ }
+
+ void testPushPop() {
+
+ // Push, then allocate, then pop
+ for (int p = 0; p < 5; ++ p) {
+ d_cmm->push();
+ for (int i = 1; i < 16384/3; ++i) {
+ int len = i*3;
+ char* newMem = (char*)d_cmm->newData(len);
+ for(int k = 0; k < len - 1; k ++)
+ newMem[k] = 'a';
+ newMem[len-1] = 0;
+ TS_ASSERT(strlen(newMem) == len - 1);
+ }
+ d_cmm->pop();
+ }
+
+ // Push, then allocate, then pop all at once
+ for (int p = 0; p < 5; ++ p) {
+ d_cmm->push();
+ for (int i = 1; i < 16384/3; ++i) {
+ int len = i*3;
+ char* newMem = (char*)d_cmm->newData(len);
+ for(int k = 0; k < len - 1; k ++)
+ newMem[k] = 'a';
+ newMem[len-1] = 0;
+ TS_ASSERT(strlen(newMem) == len - 1);
+ }
+ }
+ for (int p = 0; p < 5; ++ p) {
+ d_cmm->pop();
+ }
+
+ // Try poping out of scope
+ d_cmm->pop();
+ }
+
+ void tearDown() {
+ delete d_cmm;
+ }
+};