about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--003trace.cc2
-rw-r--r--003trace.test.cc6
2 files changed, 7 insertions, 1 deletions
diff --git a/003trace.cc b/003trace.cc
index 965940a8..5b48f1c4 100644
--- a/003trace.cc
+++ b/003trace.cc
@@ -255,7 +255,7 @@ int trace_count(string label, string line) {
   long result = 0;
   for (vector<trace_line>::iterator p = Trace_stream->past_lines.begin(); p != Trace_stream->past_lines.end(); ++p) {
     if (label == p->label) {
-      if (line == "" || line == trim(p->contents))
+      if (line == "" || trim(line) == trim(p->contents))
         ++result;
     }
   }
diff --git a/003trace.test.cc b/003trace.test.cc
index f34cbf88..31c35e2d 100644
--- a/003trace.test.cc
+++ b/003trace.test.cc
@@ -10,6 +10,12 @@ void test_trace_check_ignores_other_layers() {
   CHECK_TRACE_DOESNT_CONTAIN("test layer 2: foo");
 }
 
+void test_trace_check_ignores_leading_whitespace() {
+  trace("test layer 1") << " foo" << end();
+  CHECK(trace_count("test layer 1", /*too little whitespace*/"foo") == 1);
+  CHECK(trace_count("test layer 1", /*too much whitespace*/"  foo") == 1);
+}
+
 void test_trace_check_ignores_other_lines() {
   trace("test layer 1") << "foo" << end();
   trace("test layer 1") << "bar" << end();