Add the ability for the command line client to activate triggers.

Also add end to end tests for this behaviour and ensure it works for
both START_TRACING, STOP_TRACING. In addition make it so that empty traces
(no triggers reached) do not create files.

Bug: 128966650
Change-Id: I8f1c6b12b76a767b394e195829b129ed6a2ee707
diff --git a/test/test_helper.h b/test/test_helper.h
index 083a529..8b2ae2d 100644
--- a/test/test_helper.h
+++ b/test/test_helper.h
@@ -33,6 +33,7 @@
 class TestHelper : public Consumer {
  public:
   static const char* GetConsumerSocketName();
+  static const char* GetProducerSocketName();
 
   explicit TestHelper(base::TestTaskRunner* task_runner);
 
@@ -58,6 +59,7 @@
   bool AttachConsumer(const std::string& key);
 
   void WaitForConsumerConnect();
+  void WaitForProducerSetup();
   void WaitForProducerEnabled();
   void WaitForTracingDisabled(uint32_t timeout_ms = 5000);
   void WaitForReadData(uint32_t read_count = 0);