Merge "logcat: test: report system(command) details"

am: 5980fe4aff

Change-Id: I63c8b1d3f21b280023c4a8536c49cfa588f522f9
This commit is contained in:
Mark Salyzyn 2016-10-12 21:42:30 +00:00 committed by android-build-merger
commit 811696b1ce

View file

@ -570,6 +570,14 @@ TEST(logcat, blocking_tail) {
EXPECT_EQ(1, signals); EXPECT_EQ(1, signals);
} }
// meant to be handed to ASSERT_FALSE / EXPECT_FALSE to expand the message
static testing::AssertionResult IsFalse(int ret, const char* command) {
return ret ?
(testing::AssertionSuccess() <<
"ret=" << ret << " command=\"" << command << "\"") :
testing::AssertionFailure();
}
TEST(logcat, logrotate) { TEST(logcat, logrotate) {
static const char form[] = "/data/local/tmp/logcat.logrotate.XXXXXX"; static const char form[] = "/data/local/tmp/logcat.logrotate.XXXXXX";
char buf[sizeof(form)]; char buf[sizeof(form)];
@ -581,7 +589,7 @@ TEST(logcat, logrotate) {
snprintf(command, sizeof(command), comm, buf); snprintf(command, sizeof(command), comm, buf);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (!ret) { if (!ret) {
snprintf(command, sizeof(command), "ls -s %s 2>/dev/null", buf); snprintf(command, sizeof(command), "ls -s %s 2>/dev/null", buf);
@ -611,7 +619,7 @@ TEST(logcat, logrotate) {
} }
} }
snprintf(command, sizeof(command), "rm -rf %s", buf); snprintf(command, sizeof(command), "rm -rf %s", buf);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
} }
TEST(logcat, logrotate_suffix) { TEST(logcat, logrotate_suffix) {
@ -625,7 +633,7 @@ TEST(logcat, logrotate_suffix) {
snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir); snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (!ret) { if (!ret) {
snprintf(command, sizeof(command), "ls %s 2>/dev/null", tmp_out_dir); snprintf(command, sizeof(command), "ls %s 2>/dev/null", tmp_out_dir);
@ -664,7 +672,7 @@ TEST(logcat, logrotate_suffix) {
EXPECT_EQ(11, log_file_count); EXPECT_EQ(11, log_file_count);
} }
snprintf(command, sizeof(command), "rm -rf %s", tmp_out_dir); snprintf(command, sizeof(command), "rm -rf %s", tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
} }
TEST(logcat, logrotate_continue) { TEST(logcat, logrotate_continue) {
@ -679,10 +687,10 @@ TEST(logcat, logrotate_continue) {
snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename); snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (ret) { if (ret) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
FILE *fp; FILE *fp;
@ -690,7 +698,7 @@ TEST(logcat, logrotate_continue) {
EXPECT_TRUE(NULL != ((fp = fopen(command, "r")))); EXPECT_TRUE(NULL != ((fp = fopen(command, "r"))));
if (!fp) { if (!fp) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
char *line = NULL; char *line = NULL;
@ -714,23 +722,23 @@ TEST(logcat, logrotate_continue) {
EXPECT_TRUE(NULL != second_last_line); EXPECT_TRUE(NULL != second_last_line);
if (!second_last_line) { if (!second_last_line) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
// re-run the command, it should only add a few lines more content if it // re-run the command, it should only add a few lines more content if it
// continues where it left off. // continues where it left off.
snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename); snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename);
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (ret) { if (ret) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir); std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir);
EXPECT_NE(nullptr, dir); EXPECT_NE(nullptr, dir);
if (!dir) { if (!dir) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
struct dirent *entry; struct dirent *entry;
@ -769,7 +777,7 @@ TEST(logcat, logrotate_continue) {
free(second_last_line); free(second_last_line);
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
} }
TEST(logcat, logrotate_clear) { TEST(logcat, logrotate_clear) {
@ -790,17 +798,17 @@ TEST(logcat, logrotate_clear) {
logcat_cmd, tmp_out_dir, log_filename, num_val); logcat_cmd, tmp_out_dir, log_filename, num_val);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (ret) { if (ret) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir); std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir);
EXPECT_NE(nullptr, dir); EXPECT_NE(nullptr, dir);
if (!dir) { if (!dir) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
struct dirent *entry; struct dirent *entry;
@ -819,17 +827,18 @@ TEST(logcat, logrotate_clear) {
strcat(command, clear_cmd); strcat(command, clear_cmd);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (ret) { if (ret) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(system(command));
EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir); std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(tmp_out_dir), closedir);
EXPECT_NE(nullptr, dir); EXPECT_NE(nullptr, dir);
if (!dir) { if (!dir) {
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
return; return;
} }
struct dirent *entry; struct dirent *entry;
@ -845,7 +854,7 @@ TEST(logcat, logrotate_clear) {
} }
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
} }
static int logrotate_count_id(const char *logcat_cmd, const char *tmp_out_dir) { static int logrotate_count_id(const char *logcat_cmd, const char *tmp_out_dir) {
@ -856,7 +865,7 @@ static int logrotate_count_id(const char *logcat_cmd, const char *tmp_out_dir) {
snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename); snprintf(command, sizeof(command), logcat_cmd, tmp_out_dir, log_filename);
int ret; int ret;
EXPECT_FALSE((ret = system(command))); EXPECT_FALSE(IsFalse(ret = system(command), command));
if (ret) { if (ret) {
return -1; return -1;
} }
@ -914,7 +923,7 @@ TEST(logcat, logrotate_id) {
static const char cleanup_cmd[] = "rm -rf %s"; static const char cleanup_cmd[] = "rm -rf %s";
char command[strlen(cleanup_cmd) + strlen(tmp_out_dir_form)]; char command[strlen(cleanup_cmd) + strlen(tmp_out_dir_form)];
snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir); snprintf(command, sizeof(command), cleanup_cmd, tmp_out_dir);
EXPECT_FALSE(system(command)); EXPECT_FALSE(IsFalse(system(command), command));
} }
TEST(logcat, logrotate_nodir) { TEST(logcat, logrotate_nodir) {