diff options
| -rwxr-xr-x | meta/recipes-devtools/flex/files/run-ptest | 29 | ||||
| -rw-r--r-- | meta/recipes-devtools/flex/flex.inc | 21 |
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 | |||
| 3 | test1="test-alloc-extra test-array-nr test-array-r test-basic-nr test-basic-r test-extended test-quotes \ | ||
| 4 | test-bison-nr test-bison-yylloc test-bison-yylval test-c++-basic test-c-cpp-nr test-prefix-nr test-ccl \ | ||
| 5 | test-c-cpp-r test-c++-multiple-scanners test-mem-r test-mem-nr test-debug-nr test-linedir-r test-noansi-r \ | ||
| 6 | test-yyextra test-header-r test-noansi-nr test-debug-r TEMPLATE test-top test-header-nr test-prefix-r" | ||
| 7 | test2="test-multiple-scanners-nr test-posixly-correct test-posix test-string-r test-string-nr" | ||
| 8 | test3="test-pthread test-include-by-push test-include-by-buffer test-include-by-reentrant" | ||
| 9 | test4="test-lineno-nr test-lineno-r test-lineno-trailing" | ||
| 10 | test5="test-c++-yywrap test-rescan-r test-rescan-nr" | ||
| 11 | test6="test-reject-nr test-reject-r" | ||
| 12 | test7="test-reject-ser test-reject-ver" | ||
| 13 | test8="test-multiple-scanners-r" | ||
| 14 | |||
| 15 | output() { | ||
| 16 | if [ $? -eq 0 ]; \ | ||
| 17 | then echo "PASS: $i"; \ | ||
| 18 | else echo "FAIL: $i"; \ | ||
| 19 | fi; | ||
| 20 | } | ||
| 21 | |||
| 22 | for i in $test1; do $i/$i < $i/test.input >/dev/null; output; done | ||
| 23 | for i in $test2; do $i/$i >/dev/null; output; done | ||
| 24 | for i in $test3; do cd $i; ./$i test-1.input >/dev/null; output; cd ..; done | ||
| 25 | for i in $test4; do test `$i/$i < $i/test.input` -eq `$i/$i 1 < $i/test.input` >/dev/null; output; done | ||
| 26 | for i in $test5; do $i/$i $i/test.input >/dev/null; output; done | ||
| 27 | for i in $test6; do test-reject/$i < test-reject/test.input >/dev/null; output; done | ||
| 28 | for i in $test7; do test-reject/$i test-reject/$i.tables < test-reject/test.input >/dev/null; output; done | ||
| 29 | cd $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/" | |||
| 6 | SECTION = "devel" | 6 | SECTION = "devel" |
| 7 | LICENSE = "BSD" | 7 | LICENSE = "BSD" |
| 8 | 8 | ||
| 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 " | 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \ |
| 10 | file://run-ptest \ | ||
| 11 | " | ||
| 12 | |||
| 13 | inherit autotools gettext ptest | ||
| 10 | 14 | ||
| 11 | inherit autotools gettext | ||
| 12 | 15 | ||
| 13 | M4 = "${bindir}/m4" | 16 | M4 = "${bindir}/m4" |
| 14 | M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" | 17 | M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" |
| @@ -25,3 +28,17 @@ do_install_append_class-nativesdk() { | |||
| 25 | } | 28 | } |
| 26 | 29 | ||
| 27 | RDEPENDS_${PN} += "m4" | 30 | RDEPENDS_${PN} += "m4" |
| 31 | DEPENDS_${PN}-ptest += "bison-native flex-native" | ||
| 32 | |||
| 33 | do_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 | |||
| 40 | do_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 | } | ||
