diff options
author | Mark Salyzyn <salyzyn@google.com> | 2016-04-29 11:28:03 -0700 |
---|---|---|
committer | Mark Salyzyn <salyzyn@google.com> | 2016-04-29 11:33:26 -0700 |
commit | e7e5f1b6aede24e47e49d3a668f5d386814ab02a (patch) | |
tree | de6a6f7b10c9655e3e4fbec1dc57248dfa350db7 /logcat/tests | |
parent | 17f3b1bad76925c327a6572f6058b32651499d3c (diff) | |
download | core-e7e5f1b6aede24e47e49d3a668f5d386814ab02a.tar.gz core-e7e5f1b6aede24e47e49d3a668f5d386814ab02a.tar.bz2 core-e7e5f1b6aede24e47e49d3a668f5d386814ab02a.zip |
logcat: confirm -g result after -c
Bug: 28451229
Change-Id: I43a1721ae991cc1316335ba4b3b868b904926d42
Diffstat (limited to 'logcat/tests')
-rw-r--r-- | logcat/tests/logcat_test.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/logcat/tests/logcat_test.cpp b/logcat/tests/logcat_test.cpp index 997e68213..920d50447 100644 --- a/logcat/tests/logcat_test.cpp +++ b/logcat/tests/logcat_test.cpp @@ -810,12 +810,14 @@ TEST(logcat, blocking_clear) { ASSERT_TRUE(NULL != (fp = popen( "( trap exit HUP QUIT INT PIPE KILL ; sleep 6; echo DONE )&" " logcat -b events -c 2>&1 ;" + " logcat -b events -g 2>&1 ;" " logcat -v brief -b events 2>&1", "r"))); char buffer[BIG_BUFFER]; int count = 0; + int minus_g = 0; int signals = 0; @@ -833,6 +835,50 @@ TEST(logcat, blocking_clear) { break; } + int size, consumed, max, payload; + char size_mult[3], consumed_mult[3]; + size = consumed = max = payload = 0; + if (6 == sscanf(buffer, "events: ring buffer is %d%2s (%d%2s consumed)," + " max entry is %db, max payload is %db", + &size, size_mult, &consumed, consumed_mult, + &max, &payload)) { + long full_size = size, full_consumed = consumed; + + switch(size_mult[0]) { + case 'G': + full_size *= 1024; + /* FALLTHRU */ + case 'M': + full_size *= 1024; + /* FALLTHRU */ + case 'K': + full_size *= 1024; + /* FALLTHRU */ + case 'b': + break; + } + switch(consumed_mult[0]) { + case 'G': + full_consumed *= 1024; + /* FALLTHRU */ + case 'M': + full_consumed *= 1024; + /* FALLTHRU */ + case 'K': + full_consumed *= 1024; + /* FALLTHRU */ + case 'b': + break; + } + EXPECT_GT(full_size, full_consumed); + EXPECT_GT(full_size, max); + EXPECT_GT(max, payload); + EXPECT_GT(max, full_consumed); + + ++minus_g; + continue; + } + ++count; int p; @@ -861,6 +907,7 @@ TEST(logcat, blocking_clear) { pclose(fp); EXPECT_LE(1, count); + EXPECT_EQ(1, minus_g); EXPECT_EQ(1, signals); } |