[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tests: fix valgrind uses
From: |
Akim Demaille |
Subject: |
tests: fix valgrind uses |
Date: |
Mon, 12 Nov 2012 09:59:27 +0100 |
These patches were applied (in order) in branch-2.6, maint, and master,
together with the appropriate merges.
From 2bb8f621eb61ef282fadd39232a96589ba1979ad Mon Sep 17 00:00:00 2001
From: Akim Demaille <address@hidden>
Date: Sat, 10 Nov 2012 09:26:40 +0100
Subject: [PATCH] tests: use valgrind where appropriate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reported by Théophile Ranquet.
* tests/glr-regression.at: Rewrite some test cases so that AT_PARSER_CHECK,
which runs valgrind, is exposed with the parser, not with "echo".
* tests/local.at, tests/regression.at, tests/headers.at:
Use AT_PARSER_CHECK for generated parsers.
---
THANKS | 1 +
tests/glr-regression.at | 47 ++++++++++++++++++++++++++++-------------------
tests/headers.at | 2 +-
tests/local.at | 2 +-
tests/regression.at | 2 +-
5 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/THANKS b/THANKS
index 4e88e8f..e815f8e 100644
--- a/THANKS
+++ b/THANKS
@@ -106,6 +106,7 @@ Shura address@hidden
Stefano Lattarini address@hidden
Steve Murphy address@hidden
Sum Wu address@hidden
+Théophile Ranquet address@hidden
Thiru Ramakrishnan address@hidden
Tim Josling address@hidden
Tim Landscheidt address@hidden
diff --git a/tests/glr-regression.at b/tests/glr-regression.at
index 8570b19..aab0369 100644
--- a/tests/glr-regression.at
+++ b/tests/glr-regression.at
@@ -67,9 +67,13 @@ static YYSTYPE exprMerge (YYSTYPE x0, YYSTYPE x1)
return 0;
}
+const char *input = NULL;
+
int
-main (void)
+main (int argc, const char* argv[])
{
+ assert (argc == 2);
+ input = argv[1];
return yyparse ();
}
@@ -78,16 +82,7 @@ main (void)
int
yylex (void)
{
- for (;;)
- {
- int ch;
- assert (!feof (stdin));
- ch = getchar ();
- if (ch == EOF)
- return 0;
- else if (ch == 'B' || ch == 'P')
- return ch;
- }
+ return *input++;
}
]])
AT_BISON_OPTION_POPDEFS
@@ -96,7 +91,7 @@ AT_BISON_CHECK([[-o glr-regr1.c glr-regr1.y]], 0, [],
[glr-regr1.y: conflicts: 1 shift/reduce
])
AT_COMPILE([glr-regr1])
-AT_PARSER_CHECK([[echo BPBPB | ./glr-regr1]], 0,
+AT_PARSER_CHECK([[./glr-regr1 BPBPB]], 0,
[[E -> 'B'
E -> 'B'
E -> E 'P' E
@@ -212,16 +207,27 @@ AT_BISON_CHECK([[-o glr-regr2a.c glr-regr2a.y]], 0, [],
])
AT_COMPILE([glr-regr2a])
-AT_PARSER_CHECK([[echo s VARIABLE_1 t v x q | ./glr-regr2a]], 0,
+AT_DATA([input1.txt],
+[[s VARIABLE_1 t v x q
+]])
+AT_PARSER_CHECK([[./glr-regr2a input1.txt]], 0,
[[Variable: 'VARIABLE_1'
-]], [])
-AT_PARSER_CHECK([[echo s VARIABLE_1 , ANOTHER_VARIABLE_2 t e | ./glr-regr2a]],
+]])
+
+AT_DATA([input2.txt],
+[[s VARIABLE_1 , ANOTHER_VARIABLE_2 t e
+]])
+AT_PARSER_CHECK([[./glr-regr2a input2.txt]],
0,
[[Varlist: 'VARIABLE_1,ANOTHER_VARIABLE_2'
]])
-AT_PARSER_CHECK([[echo s VARIABLE_3 t v x | ./glr-regr2a]], 0,
+
+AT_DATA([input3.txt],
+[[s VARIABLE_3 t v x
+]])
+AT_PARSER_CHECK([[./glr-regr2a input3.txt]], 0,
[[Variable: 'VARIABLE_3'
-]], [])
+]])
AT_CLEANUP
@@ -329,10 +335,13 @@ AT_BISON_CHECK([[-o glr-regr3.c glr-regr3.y]], 0, [],
])
AT_COMPILE([glr-regr3])
-AT_PARSER_CHECK([[echo p1 t4 o2 p1 p1 t1 o1 t2 p2 o1 t3 p2 p2 | ./glr-regr3]],
+AT_DATA([input.txt],
+[[p1 t4 o2 p1 p1 t1 o1 t2 p2 o1 t3 p2 p2
+]])
+AT_PARSER_CHECK([[./glr-regr3 input.txt]],
0,
[[Result: 1c04
-]], [])
+]])
AT_CLEANUP
diff --git a/tests/headers.at b/tests/headers.at
index 7df4cc9..b53ee8a 100644
--- a/tests/headers.at
+++ b/tests/headers.at
@@ -272,7 +272,7 @@ done
AT_SKIP_IF_CANNOT_LINK_C_AND_CXX
AT_COMPILE_CXX([parser], [[x[1-8].o -DCC_IS_CXX=$CC_IS_CXX main.cc]])
-AT_CHECK([./parser], [0], [[expout]])
+AT_PARSER_CHECK([./parser], [0], [[expout]])
m4_popdef([AT_TEST])
diff --git a/tests/local.at b/tests/local.at
index e803e57..a5dde80 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -716,7 +716,7 @@ AT_COMPILE([c-only.o], [c-only.c])
AT_COMPILE_CXX([cxx-only.o], [cxx-only.cc])
AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS $LDFLAGS c-only.o cxx-only.o -o c-and-cxx ||
exit 77], [ignore], [ignore])
-AT_CHECK([./c-and-cxx])
+AT_PARSER_CHECK([./c-and-cxx])
])
diff --git a/tests/regression.at b/tests/regression.at
index 6cf2268..03c4b80 100644
--- a/tests/regression.at
+++ b/tests/regression.at
@@ -1593,7 +1593,7 @@ main (void)
]])
AT_FULL_COMPILE([input])
-AT_CHECK([./input], 0, [[x: 1, y: 2
+AT_PARSER_CHECK([./input], 0, [[x: 1, y: 2
]])
AT_BISON_OPTION_POPDEFS
--
1.8.0
commit 2c08dc504c9f4ed12414a130bcebff8f0d3f43df
Author: Akim Demaille <address@hidden>
Date: Mon Nov 12 09:49:49 2012 +0100
tests: fix syntax-check errors
Reported by Théophile Ranquet.
* tests/c++.at: Use AT_PARSER_CHECK.
Avoid using "strcmp", which triggers an error from syntax-check.
diff --git a/tests/c++.at b/tests/c++.at
index 0d50281..f5e5f46 100644
--- a/tests/c++.at
+++ b/tests/c++.at
@@ -177,8 +177,8 @@ main ()
AT_BISON_CHECK([-o list.cc list.yy])
AT_COMPILE_CXX([list])
-AT_CHECK([./list], 0,
- [(0, 1, 2, 4)
+AT_PARSER_CHECK([./list], 0,
+[(0, 1, 2, 4)
])
AT_BISON_OPTION_POPDEFS
@@ -687,7 +687,7 @@ main (int argc, const char *argv[])
input = argv[1];
break;
case 3:
- assert (!strcmp (argv[1], "--debug"));
+ assert (std::string(argv[1]) == "--debug");
debug = 1;
input = argv[2];
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- tests: fix valgrind uses,
Akim Demaille <=