diff --git a/userspace/libsinsp/test/CMakeLists.txt b/userspace/libsinsp/test/CMakeLists.txt index d19164013b..00f71f290d 100644 --- a/userspace/libsinsp/test/CMakeLists.txt +++ b/userspace/libsinsp/test/CMakeLists.txt @@ -82,6 +82,7 @@ endif() file(GLOB_RECURSE TEST_HELPERS ${CMAKE_CURRENT_SOURCE_DIR}/helpers/*.cpp) set(LIBSINSP_UNIT_TESTS_SOURCES + ast_exprs.ut.cpp test_utils.cpp sinsp_with_test_input.cpp cgroup_list_counter.ut.cpp diff --git a/userspace/libsinsp/test/ast_exprs.ut.cpp b/userspace/libsinsp/test/ast_exprs.ut.cpp new file mode 100644 index 0000000000..64b56377ee --- /dev/null +++ b/userspace/libsinsp/test/ast_exprs.ut.cpp @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: Apache-2.0 +/* +Copyright (C) 2024 The Falco Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +*/ + +#include +#include + +using namespace libsinsp::filter::ast; + +static std::unique_ptr make_expr(const std::string& cond) +{ + libsinsp::filter::parser p(cond); + + std::unique_ptr e = p.parse(); + + return e; +} + +TEST(ast, compare_binary_check_exprs) +{ + std::unique_ptr e1 = make_expr("evt.num >= 0"); + std::unique_ptr e2 = make_expr("evt.num = 0"); + ASSERT_FALSE(e1->is_equal(e2.get())); +}