< prev index next >

test/native/logging/test_logStream.cpp

Print this page
rev 13180 : imported patch 8181917-refactor-ul-logstream
rev 13181 : [mq]: 8181917-refactor-ul-logstream-delta-2-to-3

*** 61,83 **** verify_stream(&stream); } TEST_VM_F(LogStreamTest, no_rm) { ResourceMark rm; ! outputStream* stream = LogTarget(Debug, gc)::stream(); ! ! verify_stream(stream); } ! TEST_VM_F(LogStreamTest, c_heap_stream) { ! Log(gc) log; ! LogStreamCHeap stream(log.debug()); ! ! verify_stream(&stream); } ! TEST_VM_F(LogStreamTest, c_heap_stream_target) { ! LogTarget(Debug, gc) log; ! LogStreamCHeap stream(log); ! ! verify_stream(&stream); } --- 61,100 ---- verify_stream(&stream); } TEST_VM_F(LogStreamTest, no_rm) { ResourceMark rm; ! LogStream ls(Log(gc)::debug()); ! verify_stream(&ls); } ! 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, in release build, that the internal line buffer of a LogStream ! // object caps out at 1M. ! TEST_VM_F(LogStreamTest, TestLineBufferAllocationCap) { ! LogStream ls(Log(logging)::info()); ! for (size_t i = 0; i < (1*M + 512); i ++) { ! ls.print_raw("A"); ! } ! const char* const line_buffer = ls._current_line.ptr(); ! ASSERT_TRUE(strlen(line_buffer) == 1*M - 1); }
< prev index next >