From: Kajol Jain <kj...@linux.ibm.com> Added test case for parsing "?" in metric expression.
Signed-off-by: Kajol Jain <kj...@linux.ibm.com> Acked-by: Jiri Olsa <jo...@redhat.com> Cc: Alexander Shishkin <alexander.shish...@linux.intel.com> Cc: Andi Kleen <a...@linux.intel.com> Cc: Anju T Sudhakar <a...@linux.vnet.ibm.com> Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> Cc: Jin Yao <yao....@linux.intel.com> Cc: Joe Mario <jma...@redhat.com> Cc: Kan Liang <kan.li...@linux.intel.com> Cc: Madhavan Srinivasan <ma...@linux.vnet.ibm.com> Cc: Mamatha Inamdar <mamat...@linux.vnet.ibm.com> Cc: Mark Rutland <mark.rutl...@arm.com> Cc: Michael Ellerman <m...@ellerman.id.au> Cc: Michael Petlan <mpet...@redhat.com> Cc: Namhyung Kim <namhy...@kernel.org> Cc: Paul Mackerras <pau...@ozlabs.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Ravi Bangoria <ravi.bango...@linux.ibm.com> Cc: Sukadev Bhattiprolu <suka...@linux.vnet.ibm.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: linuxppc-dev@lists.ozlabs.org Link: http://lore.kernel.org/lkml/20200401203340.31402-6-kj...@linux.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> --- tools/perf/tests/expr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/perf/tests/expr.c b/tools/perf/tests/expr.c index 516504cf0ea5..f9e8e5628836 100644 --- a/tools/perf/tests/expr.c +++ b/tools/perf/tests/expr.c @@ -59,6 +59,14 @@ int test__expr(struct test *t __maybe_unused, int subtest __maybe_unused) TEST_ASSERT_VAL("find other", !strcmp(other[2], "BOZO")); TEST_ASSERT_VAL("find other", other[3] == NULL); + TEST_ASSERT_VAL("find other", + expr__find_other("EVENT1\\,param\\=?@ + EVENT2\\,param\\=?@", NULL, + &other, &num_other, 3) == 0); + TEST_ASSERT_VAL("find other", num_other == 2); + TEST_ASSERT_VAL("find other", !strcmp(other[0], "EVENT1,param=3/")); + TEST_ASSERT_VAL("find other", !strcmp(other[1], "EVENT2,param=3/")); + TEST_ASSERT_VAL("find other", other[2] == NULL); + for (i = 0; i < num_other; i++) zfree(&other[i]); free((void *)other); -- 2.21.1