From: Hongzhi.Song Date: Thu, 16 Aug 2018 07:38:47 +0000 (-0700) Subject: runtime selftest: test_trace_events_sample of ksample.py X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~16991 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ccf8150b4c65f2feac16cc2881188f14d9e5390;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git runtime selftest: test_trace_events_sample of ksample.py The debug info can not be written to trace buffer immediately by thread. So we should sleep some seconds. Signed-off-by: Hongzhi.Song Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/runtime/cases/ksample.py b/meta/lib/oeqa/runtime/cases/ksample.py index 260bc3cfbd7..26fbe9d8cbd 100644 --- a/meta/lib/oeqa/runtime/cases/ksample.py +++ b/meta/lib/oeqa/runtime/cases/ksample.py @@ -18,7 +18,8 @@ class KSample(OERuntimeTestCase): else: # check result result = ("%s" % match_string) in output - self.assertTrue(result) + msg = output + self.assertTrue(result, msg) self.assertEqual(status, 0, cmd) def check_config(self, config_opt=''): @@ -126,7 +127,16 @@ class KSampleTest(KSample): self.cmd_and_check("echo 1 > /sys/kernel/debug/tracing/events/sample-trace/enable") self.cmd_and_check("cat /sys/kernel/debug/tracing/events/sample-trace/enable") # check result - self.cmd_and_check("cat /sys/kernel/debug/tracing/trace | grep hello | head -n1 | cut -d\':\' -f2", " foo_bar") + status = 1 + count = 0 + while status != 0: + time.sleep(1) + status, output = self.target.run('cat /sys/kernel/debug/tracing/trace | grep hello | head -n1 | cut -d\':\' -f2') + if " foo_bar" in output: + break + count = count + 1 + if count > 5: + self.assertTrue(False, "Time out when check result") # disable trace self.cmd_and_check("echo 0 > /sys/kernel/debug/tracing/events/sample-trace/enable") # clean up trace