lttng-tools: fix ptest

Since the upgrade to 2.8, lttng-tools' test harness silently succeeds
but doesn't actually run the tests.  This is because upstream made
some changes in their test harness:

83666813ca

Updates to address this include:
- drop now-irrelevant patch
- change the ptest-run make target
- remove indiscriminate search/replace commands from do_install_ptest
- copy entire build directory into PTEST_PATH and then remove unneeded files
- use lttng binaries installed on the system for the tests
- add lttng-tools-ptest runtime dependencies
  - lttng-tools itself
  - babeltrace, used by the test harness to process traces
  - perl modules required by babelstats.pl test script
  - procps (for pgrep, pidof)
  - gawk
- remove unnecessary chmod and munging of utils.sh script library
- remove checkpatch from ptest installation tree
- avoid path-munging of libtool artifacts altogether
- use more efficient find+sed patterns to munge Makefiles
- reduce test harness output to conform to ptest rules

On qemux86-64 and qemuarm I get relatively stable results, with
PASS/FAIL varying by +-1 on successive runs.

TOTAL: 2345
PASS:  1735
SKIP:  311
XFAIL: 0
FAIL:  292
XPASS: 0
ERROR: 7

There are some ERRORs worth looking into further but this should be a
useful basis for future work.

(From OE-Core rev: 9e9875fc19df6b924aa7f9d06e7b4e07222d0799)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Lynch
2016-09-27 14:04:46 -05:00
committed by Richard Purdie
parent d31bd86379
commit 206ad10eaa
3 changed files with 59 additions and 51 deletions

View File

@@ -1,4 +1,5 @@
#!/bin/sh
make -C tests installcheck
# Without --ignore-exit, the tap harness causes any FAILs within a
# test plan to raise ERRORs; this is just noise.
makeargs="LOG_DRIVER_FLAGS=--ignore-exit"
make -t all >/dev/null 2>&1 && exec make -s $makeargs check 2>/dev/null

View File

@@ -1,27 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
index 584f59b..c2bcabd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,3 +12,9 @@ dist_doc_DATA = LICENSE \
dist_noinst_DATA = CodingStyle
EXTRA_DIST = extras/lttng-bash_completion gpl-2.0.txt lgpl-2.1.txt
+
+install-ptest:
+ cp -r $(srcdir)/tests $(DESTDIR)
+ for m in $$(find $(DESTDIR)/tests -name Makefile); do \
+ sed -i -e 's|^Makefile:|_Makefile:|' $$m; \
+ done
diff --git a/tests/run.sh b/tests/run.sh
index c6c50fd..6455359 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -19,4 +19,7 @@
[ -z "$1" ] && echo "Error: No testlist. Please specify a testlist to run." && exit 1
-prove --merge --exec '' - < $1
+prove --merge -v --exec '' - < $1 | sed \
+ -e 's|^ok \(.*\)|PASS: \1|' \
+ -e 's|^not ok \(.*\)|FAIL: \1|' \
+ | egrep -h 'PASS|FAIL'