< 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


  46   LogStream stream(log.debug());
  47 
  48   verify_stream(&stream);
  49 }
  50 
  51 TEST_VM_F(LogStreamTest, from_logtarget) {
  52   LogTarget(Debug, gc) log;
  53   LogStream stream(log);
  54 
  55   verify_stream(&stream);
  56 }
  57 
  58 TEST_VM_F(LogStreamTest, handle) {
  59   LogStreamHandle(Debug, gc) stream;
  60 
  61   verify_stream(&stream);
  62 }
  63 
  64 TEST_VM_F(LogStreamTest, no_rm) {
  65   ResourceMark rm;
  66   outputStream* stream = LogTarget(Debug, gc)::stream();
  67 
  68   verify_stream(stream);
  69 }
  70 
  71 TEST_VM_F(LogStreamTest, c_heap_stream) {
  72   Log(gc) log;
  73   LogStreamCHeap stream(log.debug());
  74 
  75   verify_stream(&stream);














  76 }
  77 
  78 TEST_VM_F(LogStreamTest, c_heap_stream_target) {
  79   LogTarget(Debug, gc) log;
  80   LogStreamCHeap stream(log);
  81 
  82   verify_stream(&stream);




  83 }


  46   LogStream stream(log.debug());
  47 
  48   verify_stream(&stream);
  49 }
  50 
  51 TEST_VM_F(LogStreamTest, from_logtarget) {
  52   LogTarget(Debug, gc) log;
  53   LogStream stream(log);
  54 
  55   verify_stream(&stream);
  56 }
  57 
  58 TEST_VM_F(LogStreamTest, handle) {
  59   LogStreamHandle(Debug, gc) stream;
  60 
  61   verify_stream(&stream);
  62 }
  63 
  64 TEST_VM_F(LogStreamTest, no_rm) {
  65   ResourceMark rm;
  66   LogStream ls(Log(gc)::debug());
  67   verify_stream(&ls);

  68 }
  69 
  70 TEST_VM_F(LogStreamTest, TestLineBufferAllocation) {
  71   const int max_line_len = 1024;
  72   char* const test_string = (char*) os::malloc(max_line_len, mtLogging);
  73   memset(test_string, 'A', max_line_len);
  74   for (int interval = 1; interval < max_line_len; interval++) {
  75     LogStream ls(Log(logging)::info());
  76     int written = 0;
  77     while (written < max_line_len) {
  78       const int to_write = MIN2(interval, max_line_len - written);
  79       ls.write(test_string, interval);
  80       written += interval;
  81       const char* const line_buffer = ls._current_line.ptr();
  82       for (int i = 0; i < written; i++) {
  83         ASSERT_TRUE(line_buffer[i] == 'A');
  84       }
  85       ASSERT_TRUE(line_buffer[written] == '\0');
  86     }
  87     ls.cr(); // I do not expect printout, nor do I care. Just call cr() to flush and avoid assert in ~LogStream().
  88   }
  89 }
  90 
  91 // Test, in release build, that the internal line buffer of a LogStream
  92 // object caps out at 1M.
  93 TEST_VM_F(LogStreamTest, TestLineBufferAllocationCap) {
  94   LogStream ls(Log(logging)::info());
  95   for (size_t i = 0; i < (1*M + 512); i ++) {
  96     ls.print_raw("A");
  97   }
  98   const char* const line_buffer = ls._current_line.ptr();
  99   ASSERT_TRUE(strlen(line_buffer) == 1*M - 1);
 100 }
< prev index next >