1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include "common.h"
namespace bpftrace::test::codegen {
TEST(codegen, for_map_variables)
{
test(R"(
begin
{
@map[16] = 32;
$var1 = 123;
$var2 = "abc";
$var3 = "def";
for ($kv : @map) {
$var1++;
$can_read = $var3;
}
@len = $var1;
})",
NAME);
}
TEST(codegen, for_map_variables_multiple_loops)
{
test(R"(
begin
{
@[0] = 0;
$var1 = 0;
$var2 = 0;
// Ensure we get unique ctx_t types for each loop
for ($_ : @) {
$var1++;
}
for ($_ : @) {
$var1++;
$var2++;
}
})",
NAME);
}
} // namespace bpftrace::test::codegen
|