#include "src/trace_processor/perfetto_sql/intrinsics/table_functions/ancestor.h"
#include <memory>
#include "perfetto/ext/base/status_or.h"
#include "perfetto/trace_processor/basic_types.h"
#include "src/base/test/status_matchers.h"
#include "src/trace_processor/db/table.h"
#include "src/trace_processor/perfetto_sql/intrinsics/table_functions/tables_py.h"
#include "src/trace_processor/storage/trace_storage.h"
#include "test/gtest_and_gmock.h"
namespace perfetto::trace_processor {
namespace {
TEST(…) {
TraceStorage storage;
storage.mutable_slice_table()->Insert({});
Ancestor generator{Ancestor::Type::kSlice, &storage};
base::StatusOr<std::unique_ptr<Table>> res =
generator.ComputeTable({SqlValue()});
ASSERT_OK(…);
ASSERT_EQ(…);
}
TEST(…) {
TraceStorage storage;
storage.mutable_stack_profile_callsite_table()->Insert({});
Ancestor generator{Ancestor::Type::kStackProfileCallsite, &storage};
base::StatusOr<std::unique_ptr<Table>> res =
generator.ComputeTable({SqlValue()});
ASSERT_OK(…);
ASSERT_EQ(…);
}
TEST(…) {
TraceStorage storage;
storage.mutable_slice_table()->Insert({});
Ancestor generator{Ancestor::Type::kSliceByStack, &storage};
base::StatusOr<std::unique_ptr<Table>> res =
generator.ComputeTable({SqlValue()});
ASSERT_OK(…);
ASSERT_EQ(…);
}
}
}