< prev index next >
test/native/logging/test_logStream.cpp
Print this page
rev 13113 : imported patch 8181917-refactor-ul-logstream
rev 13114 : imported patch 8181917-refactor-ul-logstream-changes-2
rev 13115 : [mq]: 8181917-refactor-ul-logstream-changes-3
@@ -61,23 +61,30 @@
verify_stream(&stream);
}
TEST_VM_F(LogStreamTest, no_rm) {
ResourceMark rm;
- outputStream* stream = LogTarget(Debug, gc)::stream();
-
- verify_stream(stream);
+ LogStream ls(Log(gc)::debug());
+ verify_stream(&ls);
}
-TEST_VM_F(LogStreamTest, c_heap_stream) {
- Log(gc) log;
- LogStreamCHeap stream(log.debug());
-
- verify_stream(&stream);
+TEST_VM_F(LogStreamTest, TestLineBufferAllocation) {
+ const int max_line_len = 1024;
+ char* const test_string = (char*) os::malloc(max_line_len, mtLogging);
+ memset(test_string, 'A', max_line_len);
+ for (int interval = 1; interval < max_line_len; interval++) {
+ LogStream ls(Log(logging)::info());
+ int written = 0;
+ while (written < max_line_len) {
+ const int to_write = MIN2(interval, max_line_len - written);
+ ls.write(test_string, interval);
+ written += interval;
+ const char* const line_buffer = ls._current_line.ptr();
+ for (int i = 0; i < written; i++) {
+ ASSERT_TRUE(line_buffer[i] == 'A');
+ }
+ ASSERT_TRUE(line_buffer[written] == '\0');
+ }
+ ls.cr(); // I do not expect printout, nor do I care. Just call cr() to flush and avoid assert in ~LogStream().
+ }
}
-TEST_VM_F(LogStreamTest, c_heap_stream_target) {
- LogTarget(Debug, gc) log;
- LogStreamCHeap stream(log);
-
- verify_stream(&stream);
-}
< prev index next >