app/test: disable filtering with stripped binary
authorThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 19 Jul 2016 16:43:19 +0000 (18:43 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 21 Jul 2016 21:58:53 +0000 (23:58 +0200)
The unavailable tests are filtered out by autotest by looking for
the symbols in the binary:

PCI autotest:                  Skipped [Not Available]       [00m 00s]
Malloc autotest:               Success                       [00m 00s]

It results to skip everything if the binary has no symbol (stripped):

PCI autotest:                  Skipped [Not Available]       [00m 00s]
Malloc autotest:               Skipped [Not Available]       [00m 00s]

This case is handled by getting back to the old behaviour if the binary
has no symbol information:

PCI autotest:                  Fail [Not found]              [00m 00s]
Malloc autotest:               Success                       [00m 00s]

Fixes: d553c8f2b1a2 ("app/test: filter out unavailable tests")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: Olivier Matz <olivier.matz@6wind.com>
app/test/autotest_runner.py

index bd99e19..21d3be2 100644 (file)
@@ -107,8 +107,10 @@ def run_test_group(cmdline, test_group):
 
        # parse the binary for available test commands
        binary = cmdline.split()[0]
 
        # parse the binary for available test commands
        binary = cmdline.split()[0]
-       symbols = subprocess.check_output(['nm', binary]).decode('utf-8')
-       avail_cmds = re.findall('test_register_(\w+)', symbols)
+       stripped = 'not stripped' not in subprocess.check_output(['file', binary])
+       if not stripped:
+               symbols = subprocess.check_output(['nm', binary]).decode('utf-8')
+               avail_cmds = re.findall('test_register_(\w+)', symbols)
 
        # run all tests in test group
        for test in test_group["Tests"]:
 
        # run all tests in test group
        for test in test_group["Tests"]:
@@ -129,7 +131,7 @@ def run_test_group(cmdline, test_group):
                        print >>logfile, "\n%s %s\n" % ("-"*20, test["Name"])
 
                        # run test function associated with the test
                        print >>logfile, "\n%s %s\n" % ("-"*20, test["Name"])
 
                        # run test function associated with the test
-                       if test["Command"] in avail_cmds:
+                       if stripped or test["Command"] in avail_cmds:
                                result = test["Func"](child, test["Command"])
                        else:
                                result = (0, "Skipped [Not Available]")
                                result = test["Func"](child, test["Command"])
                        else:
                                result = (0, "Skipped [Not Available]")