Create new TraceHelper for each tracing session.
This makes sure we do not accidentally keep old state.
Change-Id: Id9a18e76eea5dbc93c7623b5eeb5b9708612cd8c
diff --git a/test/test_helper.h b/test/test_helper.h
index f2fe7dd..21caa66 100644
--- a/test/test_helper.h
+++ b/test/test_helper.h
@@ -61,6 +61,19 @@
void WaitForTracingDisabled(uint32_t timeout_ms = 5000);
void WaitForReadData(uint32_t read_count = 0);
+ std::string AddID(const std::string& checkpoint) {
+ return checkpoint + "." + std::to_string(instance_num_);
+ }
+
+ std::function<void()> CreateCheckpoint(const std::string& checkpoint) {
+ return task_runner_->CreateCheckpoint(AddID(checkpoint));
+ }
+
+ void RunUntilCheckpoint(const std::string& checkpoint,
+ uint32_t timeout_ms = 5000) {
+ return task_runner_->RunUntilCheckpoint(AddID(checkpoint), timeout_ms);
+ }
+
std::function<void()> WrapTask(const std::function<void()>& function);
TaskRunnerThread* service_thread() { return &service_thread_; }
@@ -68,6 +81,8 @@
const std::vector<protos::TracePacket>& trace() { return trace_; }
private:
+ static uint64_t next_instance_num_;
+ uint64_t instance_num_;
base::TestTaskRunner* task_runner_ = nullptr;
int cur_consumer_num_ = 0;