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
|
#include "common.h"
namespace bpftrace::test::codegen {
TEST(codegen, late_variable_decl)
{
// This test is to ensure that late variable declarations in an outer scope
// don't bleed into inner scopes earlier in the script.
// All the $x variables below should get their own allocation
test(R"(
begin
{
if (1) {
$x = 1;
}
unroll(1) {
$x = 2;
}
$i = 1;
while($i) {
--$i;
$x = 3;
}
@map[16] = 32;
for ($kv : @map) {
$x = 4;
}
let $x = 5;
})",
NAME);
}
} // namespace bpftrace::test::codegen
|