]> git.unchartedbackwaters.co.uk Git - francis/stp.git/commitdiff
* Add the leak.c test which is currently failing.
authortrevor_hansen <trevor_hansen@e59a4935-1847-0410-ae03-e826735625c1>
Tue, 3 Nov 2009 14:41:00 +0000 (14:41 +0000)
committertrevor_hansen <trevor_hansen@e59a4935-1847-0410-ae03-e826735625c1>
Tue, 3 Nov 2009 14:41:00 +0000 (14:41 +0000)
* Set the virtual memory limit low when checking for leaks.

git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@375 e59a4935-1847-0410-ae03-e826735625c1

tests/c-api-tests/Makefile
tests/c-api-tests/leak.c [new file with mode: 0644]

index e6fed843e5746446c9925623b80c9e16eef34291..68a5ddb90f67e96cbe4badaac3284d59c992e9f1 100644 (file)
@@ -1,7 +1,9 @@
+# Some of these tests look for leaks, so place a limit on virtual memory.
+# Big enough leaks will thus cause a segfault.
+
 include ../../scripts/Makefile.common
 CXXFLAGS=-DEXT_HASH_MAP $(CFLAGS) -I../../src/c_interface -L../../lib
 
-
 all: 0 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19
        rm -rf *.out
 
@@ -41,7 +43,7 @@ all: 0 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19
        ./a10.out
 11:
        g++  $(CXXFLAGS)  squares-leak.c -lstp -o a11.out
-#      ./a11.out
+       ulimit -v 30000 && ./a11.out
 12:
        g++  $(CXXFLAGS)  stp-counterex.c -lstp -o a12.out
        ./a12.out
@@ -68,6 +70,10 @@ all: 0 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19
        g++  -g $(CXXFLAGS)  biosat-rna.cpp  -lstp -o biosat.out
        ./biosat.out AUUGGUAUGUAAGCUACUUCUUCCAAGACCA 800
 
+20:
+       g++  -g $(CXXFLAGS)  leak.c  -lstp -o a20.out
+       ulimit -v 13000 && ./a20.out
+
 
 clean:
-       rm -rf *~ *.out
\ No newline at end of file
+       rm -rf *~ *.out
diff --git a/tests/c-api-tests/leak.c b/tests/c-api-tests/leak.c
new file mode 100644 (file)
index 0000000..b49fa48
--- /dev/null
@@ -0,0 +1,118 @@
+#include "c_interface.h"
+#include <stdio.h>
+int main(){
+    for (int i=0; i < 100000;i++){
+
+   
+    VC vc;
+       vc = vc_createValidityChecker();
+       vc_setFlags(vc,'n');
+       vc_setFlags(vc,'d');
+       vc_setFlags(vc,'p');
+    
+    // create 50 expression
+    Expr a1 = vc_varExpr(vc, "a1", vc_bv32Type(vc));
+    Expr a2 = vc_varExpr(vc, "a2", vc_bv32Type(vc));
+    Expr a3 = vc_varExpr(vc, "a3", vc_bv32Type(vc));
+    Expr a4 = vc_varExpr(vc, "a4", vc_bv32Type(vc));
+    Expr a5 = vc_varExpr(vc, "a5", vc_bv32Type(vc));
+    Expr a6 = vc_varExpr(vc, "a6", vc_bv32Type(vc));
+    Expr a7 = vc_varExpr(vc, "a7", vc_bv32Type(vc));
+    Expr a8 = vc_varExpr(vc, "a8", vc_bv32Type(vc));
+    Expr a9 = vc_varExpr(vc, "a9", vc_bv32Type(vc));
+    Expr a10 = vc_varExpr(vc, "a10", vc_bv32Type(vc));
+    Expr a11 = vc_varExpr(vc, "a11", vc_bv32Type(vc));
+    Expr a12 = vc_varExpr(vc, "a12", vc_bv32Type(vc));
+    Expr a13 = vc_varExpr(vc, "a13", vc_bv32Type(vc));
+    Expr a14 = vc_varExpr(vc, "a14", vc_bv32Type(vc));
+    Expr a15 = vc_varExpr(vc, "a15", vc_bv32Type(vc));
+    Expr a16 = vc_varExpr(vc, "a16", vc_bv32Type(vc));
+    Expr a17 = vc_varExpr(vc, "a17", vc_bv32Type(vc));
+    Expr a18 = vc_varExpr(vc, "a18", vc_bv32Type(vc));
+    Expr a19 = vc_varExpr(vc, "a19", vc_bv32Type(vc));
+    Expr a20 = vc_varExpr(vc, "a20", vc_bv32Type(vc));
+    Expr a21 = vc_varExpr(vc, "a21", vc_bv32Type(vc));
+    Expr a22 = vc_varExpr(vc, "a22", vc_bv32Type(vc));
+    Expr a23 = vc_varExpr(vc, "a23", vc_bv32Type(vc));
+    Expr a24 = vc_varExpr(vc, "a24", vc_bv32Type(vc));
+    Expr a25 = vc_varExpr(vc, "a25", vc_bv32Type(vc));
+    Expr a26 = vc_varExpr(vc, "a26", vc_bv32Type(vc));
+    Expr a27 = vc_varExpr(vc, "a27", vc_bv32Type(vc));
+    Expr a28 = vc_varExpr(vc, "a28", vc_bv32Type(vc));
+    Expr a29 = vc_varExpr(vc, "a29", vc_bv32Type(vc));
+    Expr a30 = vc_varExpr(vc, "a30", vc_bv32Type(vc));
+    Expr a31 = vc_varExpr(vc, "a31", vc_bv32Type(vc));
+    Expr a32 = vc_varExpr(vc, "a32", vc_bv32Type(vc));
+    Expr a33 = vc_varExpr(vc, "a33", vc_bv32Type(vc));
+    Expr a34 = vc_varExpr(vc, "a34", vc_bv32Type(vc));
+    Expr a35 = vc_varExpr(vc, "a35", vc_bv32Type(vc));
+    Expr a36 = vc_varExpr(vc, "a36", vc_bv32Type(vc));
+    Expr a37 = vc_varExpr(vc, "a37", vc_bv32Type(vc));
+    Expr a38 = vc_varExpr(vc, "a38", vc_bv32Type(vc));
+    Expr a39 = vc_varExpr(vc, "a39", vc_bv32Type(vc));
+    Expr a40 = vc_varExpr(vc, "a40", vc_bv32Type(vc));
+    Expr a41 = vc_varExpr(vc, "a41", vc_bv32Type(vc));
+    Expr a42 = vc_varExpr(vc, "a42", vc_bv32Type(vc));
+    Expr a43 = vc_varExpr(vc, "a43", vc_bv32Type(vc));
+    Expr a44 = vc_varExpr(vc, "a44", vc_bv32Type(vc));
+    Expr a45 = vc_varExpr(vc, "a45", vc_bv32Type(vc));
+    Expr a46 = vc_varExpr(vc, "a46", vc_bv32Type(vc));
+    Expr a47 = vc_varExpr(vc, "a47", vc_bv32Type(vc));
+    Expr a48 = vc_varExpr(vc, "a48", vc_bv32Type(vc));
+    Expr a49 = vc_varExpr(vc, "a49", vc_bv32Type(vc));
+    Expr a50 = vc_varExpr(vc, "a50", vc_bv32Type(vc));
+    
+    vc_DeleteExpr(a1);
+    vc_DeleteExpr(a2);
+    vc_DeleteExpr(a3);
+    vc_DeleteExpr(a4);
+    vc_DeleteExpr(a5);
+    vc_DeleteExpr(a6);
+    vc_DeleteExpr(a7);
+    vc_DeleteExpr(a8);
+    vc_DeleteExpr(a9);
+    vc_DeleteExpr(a10);
+    vc_DeleteExpr(a11);
+    vc_DeleteExpr(a12);
+    vc_DeleteExpr(a13);
+    vc_DeleteExpr(a14);
+    vc_DeleteExpr(a15);
+    vc_DeleteExpr(a16);
+    vc_DeleteExpr(a17);
+    vc_DeleteExpr(a18);
+    vc_DeleteExpr(a19);
+    vc_DeleteExpr(a20);
+    vc_DeleteExpr(a21);
+    vc_DeleteExpr(a22);
+    vc_DeleteExpr(a23);
+    vc_DeleteExpr(a24);
+    vc_DeleteExpr(a25);
+    vc_DeleteExpr(a26);
+    vc_DeleteExpr(a27);
+    vc_DeleteExpr(a28);
+    vc_DeleteExpr(a29);
+    vc_DeleteExpr(a30);
+    vc_DeleteExpr(a31);
+    vc_DeleteExpr(a32);
+    vc_DeleteExpr(a33);
+    vc_DeleteExpr(a34);
+    vc_DeleteExpr(a35);
+    vc_DeleteExpr(a36);
+    vc_DeleteExpr(a37);
+    vc_DeleteExpr(a38);
+    vc_DeleteExpr(a39);
+    vc_DeleteExpr(a40);
+    vc_DeleteExpr(a41);
+    vc_DeleteExpr(a42);
+    vc_DeleteExpr(a43);
+    vc_DeleteExpr(a44);
+    vc_DeleteExpr(a45);
+    vc_DeleteExpr(a46);
+    vc_DeleteExpr(a47);
+    vc_DeleteExpr(a48);
+    vc_DeleteExpr(a49);
+    vc_DeleteExpr(a50);
+    
+    vc_Destroy(vc);
+    }
+}