about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--test/Runtime/POSIX/TestMain.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Runtime/POSIX/TestMain.c b/test/Runtime/POSIX/TestMain.c
new file mode 100644
index 00000000..c91d4e36
--- /dev/null
+++ b/test/Runtime/POSIX/TestMain.c
@@ -0,0 +1,23 @@
+// Run applications with the posix environment but without additional arguments argc, argv for main
+// RUN: %llvmgcc -DMAIN1 %s -emit-llvm -O0 -c -g -o %t.bc
+// RUN: rm -rf %t.klee-out
+// RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc | FileCheck %s -check-prefix=CHECK-MAIN1
+// RUN: %llvmgcc -DMAIN2 %s -emit-llvm -O0 -c -g -o %t.bc
+// RUN: rm -rf %t.klee-out
+// RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc | FileCheck %s -check-prefix=CHECK-MAIN2
+#ifdef MAIN1
+#include <stdio.h>
+int main() {
+ printf("Execute main1\n");
+ // CHECK-MAIN1: Execute main1
+ return 0;
+}
+#endif
+#ifdef MAIN2
+#include <stdio.h>
+int main(void) {
+ printf("Execute main2\n");
+ // CHECK-MAIN2: Execute main2
+ return 0;
+}
+#endif