Merge "logcat: Add -h and --help flags"
This commit is contained in:
commit
23e308398f
|
@ -882,6 +882,7 @@ static int __logcat(android_logcat_context_internal* context) {
|
|||
{ "grep", required_argument, nullptr, 'e' },
|
||||
// hidden and undocumented reserved alias for --max-count
|
||||
{ "head", required_argument, nullptr, 'm' },
|
||||
{ "help", no_argument, nullptr, 'h' },
|
||||
{ id_str, required_argument, nullptr, 0 },
|
||||
{ "last", no_argument, nullptr, 'L' },
|
||||
{ "max-count", required_argument, nullptr, 'm' },
|
||||
|
@ -900,9 +901,8 @@ static int __logcat(android_logcat_context_internal* context) {
|
|||
};
|
||||
// clang-format on
|
||||
|
||||
ret = getopt_long_r(argc, argv,
|
||||
":cdDLt:T:gG:sQf:r:n:v:b:BSpP:m:e:", long_options,
|
||||
&option_index, &optctx);
|
||||
ret = getopt_long_r(argc, argv, ":cdDhLt:T:gG:sQf:r:n:v:b:BSpP:m:e:",
|
||||
long_options, &option_index, &optctx);
|
||||
if (ret < 0) break;
|
||||
|
||||
switch (ret) {
|
||||
|
@ -1304,6 +1304,11 @@ static int __logcat(android_logcat_context_internal* context) {
|
|||
"Option -%c needs an argument\n", optctx.optopt);
|
||||
goto exit;
|
||||
|
||||
case 'h':
|
||||
show_help(context);
|
||||
show_format_help(context);
|
||||
goto exit;
|
||||
|
||||
default:
|
||||
logcat_panic(context, HELP_TRUE, "Unrecognized Option %c\n",
|
||||
optctx.optopt);
|
||||
|
|
|
@ -1668,3 +1668,22 @@ TEST(logcat, security) {
|
|||
EXPECT_TRUE(reportedSecurity("logcat -b security -c 2>&1"));
|
||||
EXPECT_TRUE(reportedSecurity("logcat -b security -G 256K 2>&1"));
|
||||
}
|
||||
|
||||
static size_t commandOutputSize(const char* command) {
|
||||
logcat_define(ctx);
|
||||
FILE* fp = logcat_popen(ctx, command);
|
||||
if (!fp) return 0;
|
||||
|
||||
std::string ret;
|
||||
if (!android::base::ReadFdToString(fileno(fp), &ret)) return 0;
|
||||
if (logcat_pclose(ctx, fp) != 0) return 0;
|
||||
|
||||
return ret.size();
|
||||
}
|
||||
|
||||
TEST(logcat, help) {
|
||||
size_t logcatHelpTextSize = commandOutputSize("logcat -h 2>&1");
|
||||
EXPECT_LT(4096UL, logcatHelpTextSize);
|
||||
size_t logcatLastHelpTextSize = commandOutputSize("logcat -L -h 2>&1");
|
||||
EXPECT_EQ(logcatHelpTextSize, logcatLastHelpTextSize);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue