[lldb-dev] test results look typical?

via lldb-dev lldb-dev at lists.llvm.org
Mon Aug 24 18:50:36 PDT 2015


On Mon, Aug 24, 2015 at 05:37:43PM -0700, via lldb-dev wrote:
> On Mon, Aug 24, 2015 at 03:37:52PM -0700, Todd Fiala via lldb-dev wrote:
> > On Linux on non-virtualized hardware, I currently see the failures below on
> > Ubuntu 14.04.2 using a setup like this:
> > [...]
> > 
> > ninja check-lldb output:

FYI, ninja check-lldb actually calls dosep.

> > Ran 394 test suites (15 failed) (3.807107%)
> > Ran 474 test cases (17 failed) (3.586498%)
> 
> I don't think you can trust the reporting of dosep.py's "Ran N test
> cases", as it fails to count about 500 test cases.  The only way I've
> found to get an accurate count is to add up all the Ns from "Ran N tests
> in" as follows:
> 
> ./dosep.py -s --options "-v --executable $BLDDIR/bin/lldb" 2>&1 | tee test_out.log
> export total=`grep -E "^Ran [0-9]+ tests? in" test_out.log | awk '{count+=$2} END {print count}'`

Of course, these commands assume you're running the tests from the lldb/test directory.
 
> (See comments in http://reviews.llvm.org/rL238467.)  

I've pasted (and tweaked) the relavent comments from that review here, where I describe a narrowed case showing how dosep fails to count all the test cases from one test suite in test/types.  Note that the tests were run on OSX, so your counts may vary.

The final count from:
    Ran N test cases .*
is wrong, as I'll explain below. I've done a comparison between dosep and dotest on a narrowed subset of tests to show how dosep can omit the test cases from a test suite in its count.

Tested on subset of lldb/test with just the following directories/files (i.e. all others directories/files were removed):
    test/make
    test/pexpect-2.4
    test/plugins
    test/types
    test/unittest2
# The .py files kept in test/types are as follows (so test/types/TestIntegerTypes.py* was removed):
    test/types/AbstractBase.py
    test/types/HideTestFailures.py
    test/types/TestFloatTypes.py
    test/types/TestFloatTypesExpr.py
    test/types/TestIntegerTypesExpr.py
    test/types/TestRecursiveTypes.py

Tests were run in the lldb/test directory using the following commands:
    dotest:
	./dotest.py -v
    dosep:
	./dosep.py -s --options "-v"

Comparing the test case totals, dotest correctly counts 46, but dosep counts only 16:
    dotest:
	Ran 46 tests in 75.934s
    dosep:
	Testing: 23 tests, 4 threads ## note: this number changes randonmly
	Ran 6 tests in 7.049s
	[PASSED TestFloatTypes.py] - 1 out of 23 test suites processed
	Ran 6 tests in 11.165s
	[PASSED TestFloatTypesExpr.py] - 2 out of 23 test suites processed
	Ran 30 tests in 54.581s ## FIXME: not counted?
	[PASSED TestIntegerTypesExpr.py] - 3 out of 23 test suites processed
	Ran 4 tests in 3.212s
	[PASSED TestRecursiveTypes.py] - 4 out of 23 test suites processed
	Ran 4 test suites (0 failed) (0.000000%)
	Ran 16 test cases (0 failed) (0.000000%)

With test/types/TestIntegerTypesExpr.py* removed, both correctly count 16 test cases:
    dosep:
	Testing: 16 tests, 4 threads
	Ran 6 tests in 7.059s
	Ran 6 tests in 11.186s
	Ran 4 tests in 3.241s
	Ran 3 test suites (0 failed) (0.000000%)
	Ran 16 test cases (0 failed) (0.000000%)

Note: I couldn't compare the test counts on all the tests because of the concern raised in http://reviews.llvm.org/rL237053. That is, dotest can no longer complete the tests on OSX, as all test suites fail after test case 898: test_disassemble_invalid_vst_1_64_raw_data get ERRORs. I don't think that issue is related to problems in dosep.

Thanks,
-Dawn


More information about the lldb-dev mailing list