Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1156)

Side by Side Diff: runtime/vm/trace_buffer_test.cc

Issue 50413003: TraceBuffer implementation with tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/trace_buffer.cc ('k') | runtime/vm/vm_sources.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 #include "platform/assert.h"
6 #include "vm/globals.h"
7 #include "vm/json_stream.h"
8 #include "vm/trace_buffer.h"
9 #include "vm/unit_test.h"
10
11 namespace dart {
12
13
14 UNIT_TEST_CASE(TraceBufferEmpty) {
15 TraceBuffer* trace_buffer = new TraceBuffer(3);
16 {
17 JSONStream js;
18 trace_buffer->PrintToJSONStream(&js);
19 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[]}", js.ToCString());
20 }
srdjan 2013/10/29 15:21:19 'delete trace_buffer', here and elsewhere below.
Cutch 2013/10/29 23:51:40 Done.
21 }
22
23
24 UNIT_TEST_CASE(TraceBufferClear) {
25 TraceBuffer* trace_buffer = new TraceBuffer(3);
26 trace_buffer->Trace(kMicrosecondsPerSecond * 1, "abc");
27 trace_buffer->Clear();
28 {
29 JSONStream js;
30 trace_buffer->PrintToJSONStream(&js);
31 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":[]}", js.ToCString());
32 }
33 }
34
35
36 UNIT_TEST_CASE(TraceBufferTrace) {
37 TraceBuffer* trace_buffer = new TraceBuffer(3);
38
39 trace_buffer->Trace(kMicrosecondsPerSecond * 1, "abc");
40 {
41 JSONStream js;
42 trace_buffer->PrintToJSONStream(&js);
43 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":["
44 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000,"
45 "\"message\":\"abc\"}]}", js.ToCString());
46 }
47 trace_buffer->Trace(kMicrosecondsPerSecond * 2, "def");
48 {
49 JSONStream js;
50 trace_buffer->PrintToJSONStream(&js);
51 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":["
52 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000,"
53 "\"message\":\"abc\"},"
54 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000,"
55 "\"message\":\"def\"}]}", js.ToCString());
56 }
57 trace_buffer->Trace(kMicrosecondsPerSecond * 3, "ghi");
58 {
59 JSONStream js;
60 trace_buffer->PrintToJSONStream(&js);
61 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":["
62 "{\"type\":\"TraceBufferEntry\",\"time\":1.000000,"
63 "\"message\":\"abc\"},"
64 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000,"
65 "\"message\":\"def\"},"
66 "{\"type\":\"TraceBufferEntry\",\"time\":3.000000,"
67 "\"message\":\"ghi\"}]}", js.ToCString());
68 }
69 // This will overwrite the first Trace.
70 trace_buffer->Trace(kMicrosecondsPerSecond * 4, "jkl");
71 {
72 JSONStream js;
73 trace_buffer->PrintToJSONStream(&js);
74 EXPECT_STREQ("{\"type\":\"TraceBuffer\",\"members\":["
75 "{\"type\":\"TraceBufferEntry\",\"time\":2.000000,"
76 "\"message\":\"def\"},"
77 "{\"type\":\"TraceBufferEntry\",\"time\":3.000000,"
78 "\"message\":\"ghi\"},"
79 "{\"type\":\"TraceBufferEntry\",\"time\":4.000000,"
80 "\"message\":\"jkl\"}]}", js.ToCString());
81 }
82 }
83
84
85 UNIT_TEST_CASE(TraceBufferTraceF) {
86 TraceBuffer* trace_buffer = new TraceBuffer(3);
87 trace_buffer->TraceF("foo %d %s", 99, "bar");
88 {
89 JSONStream js;
90 trace_buffer->PrintToJSONStream(&js);
91 EXPECT_SUBSTRING("foo 99 bar", js.ToCString());
92 }
93 }
94
95
96 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/trace_buffer.cc ('k') | runtime/vm/vm_sources.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698