示例#1
0
TEST_F(PacksTests, test_discovery_cache) {
  Config c;
  // This pack and discovery query are valid, expect the SQL to execute.
  c.addPack("valid_discovery_pack", "", getPackWithValidDiscovery());
  size_t query_count = 0U;
  size_t query_attemts = 5U;
  for (size_t i = 0; i < query_attemts; i++) {
    c.scheduledQueries(
        ([&query_count](const std::string& name, const ScheduledQuery& query) {
          query_count++;
        }));
  }
  EXPECT_EQ(query_count, query_attemts);

  size_t pack_count = 0U;
  c.packs(([&pack_count, query_attemts](std::shared_ptr<Pack>& p) {
    pack_count++;
    // There is one pack without a discovery query.
    EXPECT_EQ(p->getStats().total, query_attemts + 1);
    EXPECT_EQ(p->getStats().hits, query_attemts);
    EXPECT_EQ(p->getStats().misses, 1U);
  }));

  EXPECT_EQ(pack_count, 1U);
  c.reset();
}
示例#2
0
TEST_F(PacksTests, test_discovery_cache) {
  auto c = Config();
  c.addPack("kernel", "", getPackWithValidDiscovery());
  size_t query_count = 0;
  for (size_t i = 0; i < 5; i++) {
    c.scheduledQueries(
        ([&query_count](const std::string& name, const ScheduledQuery& query) {
          query_count++;
         }));
  }
  EXPECT_EQ(query_count, 5U);

  size_t pack_count = 0U;
  c.packs(([&pack_count](Pack& p) {
    pack_count++;
    EXPECT_EQ(p.getStats().total, 5);
    EXPECT_EQ(p.getStats().hits, 4);
    EXPECT_EQ(p.getStats().misses, 1);
  }));

  EXPECT_EQ(pack_count, 1U);
}
示例#3
0
TEST_F(PacksTests, test_discovery_cache) {
  auto c = Config();
  // This pack and discovery query are valid, expect the SQL to execute.
  c.addPack("valid_discovery_pack", "", getPackWithValidDiscovery());
  size_t query_count = 0U;
  size_t query_attemts = 5U;
  for (size_t i = 0; i < query_attemts; i++) {
    c.scheduledQueries(
        ([&query_count](const std::string& name, const ScheduledQuery& query) {
          query_count++;
         }));
  }
  EXPECT_EQ(query_count, query_attemts);

  size_t pack_count = 0U;
  c.packs(([&pack_count, query_attemts](Pack& p) {
    pack_count++;
    EXPECT_EQ(p.getStats().total, query_attemts);
    EXPECT_EQ(p.getStats().hits, query_attemts - 1);
    EXPECT_EQ(p.getStats().misses, 1U);
  }));

  EXPECT_EQ(pack_count, 1U);
}