summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/flex
diff options
context:
space:
mode:
authorChong Lu <Chong.Lu@windriver.com>2014-02-14 17:47:27 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-14 12:30:20 +0000
commitb563b3bb789597320e6d4fc804f697d5f829da52 (patch)
treeb5c464f8f15f334e2b4f3edd0845cc7c09c9062a /meta/recipes-devtools/flex
parente089580dcf5dc5d09ecf6afa1eaa7ea043688937 (diff)
downloadpoky-b563b3bb789597320e6d4fc804f697d5f829da52.tar.gz
flex: enable ptest support
Install flex test suite and run it as ptest. (From OE-Core rev: 3ca11e4c5efcccfa06b4109e69ce7d42d02ce8e4) Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/flex')
-rwxr-xr-xmeta/recipes-devtools/flex/files/run-ptest29
-rw-r--r--meta/recipes-devtools/flex/flex.inc21
2 files changed, 48 insertions, 2 deletions
diff --git a/meta/recipes-devtools/flex/files/run-ptest b/meta/recipes-devtools/flex/files/run-ptest
new file mode 100755
index 0000000000..bffba16f70
--- /dev/null
+++ b/meta/recipes-devtools/flex/files/run-ptest
@@ -0,0 +1,29 @@
1#!/bin/sh
2
3test1="test-alloc-extra test-array-nr test-array-r test-basic-nr test-basic-r test-extended test-quotes \
4test-bison-nr test-bison-yylloc test-bison-yylval test-c++-basic test-c-cpp-nr test-prefix-nr test-ccl \
5test-c-cpp-r test-c++-multiple-scanners test-mem-r test-mem-nr test-debug-nr test-linedir-r test-noansi-r \
6test-yyextra test-header-r test-noansi-nr test-debug-r TEMPLATE test-top test-header-nr test-prefix-r"
7test2="test-multiple-scanners-nr test-posixly-correct test-posix test-string-r test-string-nr"
8test3="test-pthread test-include-by-push test-include-by-buffer test-include-by-reentrant"
9test4="test-lineno-nr test-lineno-r test-lineno-trailing"
10test5="test-c++-yywrap test-rescan-r test-rescan-nr"
11test6="test-reject-nr test-reject-r"
12test7="test-reject-ser test-reject-ver"
13test8="test-multiple-scanners-r"
14
15output() {
16 if [ $? -eq 0 ]; \
17 then echo "PASS: $i"; \
18 else echo "FAIL: $i"; \
19 fi;
20}
21
22for i in $test1; do $i/$i < $i/test.input >/dev/null; output; done
23for i in $test2; do $i/$i >/dev/null; output; done
24for i in $test3; do cd $i; ./$i test-1.input >/dev/null; output; cd ..; done
25for i in $test4; do test `$i/$i < $i/test.input` -eq `$i/$i 1 < $i/test.input` >/dev/null; output; done
26for i in $test5; do $i/$i $i/test.input >/dev/null; output; done
27for i in $test6; do test-reject/$i < test-reject/test.input >/dev/null; output; done
28for i in $test7; do test-reject/$i test-reject/$i.tables < test-reject/test.input >/dev/null; output; done
29cd $test8; ./$test8 >/dev/null; i=$test8 output
diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc
index 96d5de5f74..75c10ef340 100644
--- a/meta/recipes-devtools/flex/flex.inc
+++ b/meta/recipes-devtools/flex/flex.inc
@@ -6,9 +6,12 @@ HOMEPAGE = "http://sourceforge.net/projects/flex/"
6SECTION = "devel" 6SECTION = "devel"
7LICENSE = "BSD" 7LICENSE = "BSD"
8 8
9SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 " 9SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
10 file://run-ptest \
11"
12
13inherit autotools gettext ptest
10 14
11inherit autotools gettext
12 15
13M4 = "${bindir}/m4" 16M4 = "${bindir}/m4"
14M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" 17M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
@@ -25,3 +28,17 @@ do_install_append_class-nativesdk() {
25} 28}
26 29
27RDEPENDS_${PN} += "m4" 30RDEPENDS_${PN} += "m4"
31DEPENDS_${PN}-ptest += "bison-native flex-native"
32
33do_compile_ptest() {
34 for i in `find ${S}/tests/ -type d |grep -Ev "concatenated-options|reject|table-opts" | awk -F/ '{print $NF}'`; \
35 do oe_runmake -C ${S}/tests/$i -f ${B}/tests/$i/Makefile top_builddir=${B} FLEX=flex $i; \
36 done
37 oe_runmake -C ${S}/tests/test-reject -f ${B}/tests/test-reject/Makefile top_builddir=${B} FLEX=flex test-reject-nr test-reject-r test-reject-ser test-reject-ver
38}
39
40do_install_ptest() {
41 for i in `find ${S}/tests/ -type d | awk -F/ '{print $NF}'`; \
42 do cp -r ${S}/tests/$i ${D}${PTEST_PATH}; \
43 done
44}