2018-08-27 16:21:26 +00:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2014-present, Facebook, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
2019-02-19 18:52:19 +00:00
|
|
|
* This source code is licensed in accordance with the terms specified in
|
|
|
|
* the LICENSE file found in the root directory of this source tree.
|
2018-08-27 16:21:26 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
// Sanity check integration test for elf_sections
|
|
|
|
// Spec file: specs/linux/elf_sections.table
|
|
|
|
|
|
|
|
#include <osquery/tests/integration/tables/helper.h>
|
|
|
|
|
|
|
|
namespace osquery {
|
2018-09-21 18:54:31 +00:00
|
|
|
namespace table_tests {
|
2018-08-27 16:21:26 +00:00
|
|
|
|
2018-09-21 18:54:31 +00:00
|
|
|
class elfSections : public testing::Test {
|
|
|
|
protected:
|
|
|
|
void SetUp() override {
|
|
|
|
setUpEnvironment();
|
|
|
|
}
|
|
|
|
};
|
2018-08-27 16:21:26 +00:00
|
|
|
|
|
|
|
TEST_F(elfSections, test_sanity) {
|
|
|
|
// 1. Query data
|
2019-02-07 11:11:41 +00:00
|
|
|
auto const data = execute_query("select * from elf_sections where path = ''");
|
2018-08-27 16:21:26 +00:00
|
|
|
// 2. Check size before validation
|
|
|
|
// ASSERT_GE(data.size(), 0ul);
|
|
|
|
// ASSERT_EQ(data.size(), 1ul);
|
|
|
|
// ASSERT_EQ(data.size(), 0ul);
|
|
|
|
// 3. Build validation map
|
2018-09-21 18:54:31 +00:00
|
|
|
// See helper.h for avaialbe flags
|
2018-08-27 16:21:26 +00:00
|
|
|
// Or use custom DataCheck object
|
2019-09-26 03:35:15 +00:00
|
|
|
// ValidationMap row_map = {
|
2018-08-27 16:21:26 +00:00
|
|
|
// {"name", NormalType}
|
|
|
|
// {"type", IntType}
|
|
|
|
// {"vaddr", IntType}
|
|
|
|
// {"offset", IntType}
|
|
|
|
// {"size", IntType}
|
|
|
|
// {"flags", NormalType}
|
|
|
|
// {"link", NormalType}
|
|
|
|
// {"align", IntType}
|
|
|
|
// {"path", NormalType}
|
|
|
|
//}
|
|
|
|
// 4. Perform validation
|
2018-08-29 19:16:00 +00:00
|
|
|
// validate_rows(data, row_map);
|
2018-08-27 16:21:26 +00:00
|
|
|
}
|
|
|
|
|
2018-09-21 18:54:31 +00:00
|
|
|
} // namespace table_tests
|
2018-08-27 16:21:26 +00:00
|
|
|
} // namespace osquery
|