From 1eff1fb146d32391785c4b4a05f3f9ba57738650 Mon Sep 17 00:00:00 2001 From: Christophe Bedard Date: Fri, 11 Oct 2019 17:10:59 -0700 Subject: [PATCH] Add test for get_symbol using lambda with capture --- tracetools/test/test_utils.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tracetools/test/test_utils.cpp b/tracetools/test/test_utils.cpp index ab94037..0bba91a 100644 --- a/tracetools/test/test_utils.cpp +++ b/tracetools/test/test_utils.cpp @@ -57,6 +57,25 @@ TEST(TestUtils, valid_symbol_lambda) { "invalid symbol"; } +/* + Testing symbol resolution lambdas with capture. + */ +TEST(TestUtils, valid_symbol_lambda_capture) { + int num = 1; + + auto l = [ = ]() {return num + 1;}; + EXPECT_STREQ( + get_symbol(l), + "TestUtils_valid_symbol_lambda_capture_Test::TestBody()::{lambda()#1}") << + "invalid symbol"; + + auto m = [&](int other_num) {return num + other_num;}; + EXPECT_STREQ( + get_symbol(m), + "TestUtils_valid_symbol_lambda_capture_Test::TestBody()::{lambda(int)#2}") << + "invalid symbol"; +} + /* Testing symbol resolution for std::function object created from std::bind. */