diff options
| author | liuwentan <[email protected]> | 2022-12-27 18:12:05 +0800 |
|---|---|---|
| committer | liuwentan <[email protected]> | 2022-12-27 18:12:05 +0800 |
| commit | 9c4741d0c189278ea5c98406f8769e5d3a09f96f (patch) | |
| tree | 43e201bda1819b81c42196b0a26dc2bcf58c69a5 /test/test_maatframe.cpp | |
| parent | af3058e9eb9c015c8cb829f26a91c6afa3fe1a61 (diff) | |
fix flagScan multiHit bugv3.6.19
Diffstat (limited to 'test/test_maatframe.cpp')
| -rw-r--r-- | test/test_maatframe.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/test/test_maatframe.cpp b/test/test_maatframe.cpp index fb4d3ab..27a631a 100644 --- a/test/test_maatframe.cpp +++ b/test/test_maatframe.cpp @@ -159,14 +159,14 @@ TEST(FlagScan, basic) ASSERT_GT(table_id, 0); //compile_id:192 flag: 0000 0001 mask: 0000 0011 - //scan_data: 0000 0001 or 0000 0101 should hit - uint64_t scan_data=1; + //scan_data: 0000 1001 or 0000 1101 should hit + uint64_t scan_data=9; ret=Maat_scan_flag(g_feather, table_id, scan_data, result, 4, &mid, 0); EXPECT_EQ(ret, 1); EXPECT_EQ(result[0].config_id, 192); Maat_clean_status(&mid); - scan_data=5; + scan_data=13; ret=Maat_scan_flag(g_feather, table_id, scan_data, result, 4, &mid, 0); EXPECT_EQ(ret, 1); EXPECT_EQ(result[0].config_id, 192); @@ -208,6 +208,29 @@ TEST(FlagScan, withExprRegion) Maat_clean_status(&mid); } +TEST(FlagScan, hitMultiCompile) +{ + int ret=0; + int flag_table_id=0; + struct Maat_rule_t result[4]; + int found_pos[4]; + const char* flag_table_name="FLAG_CONFIG"; + scan_status_t mid=NULL; + + flag_table_id=Maat_table_register(g_feather,flag_table_name); + ASSERT_GT(flag_table_id, 0); + + //compile_id:192 flag: 0000 0001 mask: 0000 0011 + //compile_id:194 flag: 0001 0101 mask: 0001 1111 + //scan_data: 0001 0101 should hit compile192 and compile194 + uint64_t flag_scan_data=21; + ret=Maat_scan_flag(g_feather, flag_table_id, flag_scan_data, result, 4, &mid, 0); + EXPECT_EQ(ret, 2); + EXPECT_EQ(result[0].config_id, 194); + EXPECT_EQ(result[1].config_id, 192); + Maat_clean_status(&mid); +} + TEST_F(JSONUpdate, OldCfg) { scan_with_old_or_new_cfg(JSONUpdate::_shared_feather_j, 1); |
