style: 优化代码格式和测试用例
This commit is contained in:
@@ -26,14 +26,14 @@ Command *createCommand(char *name,
|
|||||||
CommandGroup *createCommandGroup(char *name, char *help); // 创建命令组
|
CommandGroup *createCommandGroup(char *name, char *help); // 创建命令组
|
||||||
|
|
||||||
CommandGroup *addCommandToGroup(CommandGroup *group,
|
CommandGroup *addCommandToGroup(CommandGroup *group,
|
||||||
Command *command); // 添加命令到命令组
|
Command *command); // 添加命令到命令组
|
||||||
|
|
||||||
CommandArgs *createCommandArgs(char *short_opt,
|
CommandArgs *createCommandArgs(char *short_opt,
|
||||||
char *long_opt,
|
char *long_opt,
|
||||||
char *default_val,
|
char *default_val,
|
||||||
char *help,
|
char *help,
|
||||||
ArgParseCallback callback,
|
ArgParseCallback callback,
|
||||||
bool required,
|
bool required,
|
||||||
ArgParseValueType value_type); // 创建命令参数
|
ArgParseValueType value_type); // 创建命令参数
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -36,4 +36,9 @@ set_tests_properties(${PROJECT_NAME}unknow_command_arg PROPERTIES WILL_FAIL TRUE
|
|||||||
# 未知命令选项测试,预期打印该命令的帮助信息
|
# 未知命令选项测试,预期打印该命令的帮助信息
|
||||||
add_executable(${PROJECT_NAME}val test_val.c)
|
add_executable(${PROJECT_NAME}val test_val.c)
|
||||||
target_link_libraries(${PROJECT_NAME}val CArgParse)
|
target_link_libraries(${PROJECT_NAME}val CArgParse)
|
||||||
add_test(${PROJECT_NAME}val ${PROJECT_NAME}val file1.txt file2.txt file3.txt -v -q)
|
add_test(${PROJECT_NAME}val ${PROJECT_NAME}val file1.txt file2.txt file3.txt -v -q)
|
||||||
|
|
||||||
|
# 未知命令选项测试,预期打印该命令的帮助信息
|
||||||
|
add_executable(${PROJECT_NAME}required test_required.c)
|
||||||
|
target_link_libraries(${PROJECT_NAME}required CArgParse)
|
||||||
|
add_test(${PROJECT_NAME}required ${PROJECT_NAME}required file1.txt file2.txt file3.txt -v -f d)
|
||||||
@@ -10,12 +10,11 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
const char *testv[3] = {"testpackge1", "testpackge2", "testpackge3"};
|
const char *testv[3] = {"testpackge1", "testpackge2", "testpackge3"};
|
||||||
|
|
||||||
|
|
||||||
// Test -p
|
// Test -p
|
||||||
char *val = argParseGetCurArg(argparse, "-p");
|
char *val = argParseGetCurArg(argparse, "-p");
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
char **vals = argParseGetCurArgList(argparse, "-p", &len);
|
char **vals = argParseGetCurArgList(argparse, "-p", &len);
|
||||||
|
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
printf("-p Value: %s\n", vals[i]);
|
printf("-p Value: %s\n", vals[i]);
|
||||||
@@ -27,18 +26,15 @@ int main(int argc, char *argv[]) {
|
|||||||
printf("-i Value: %s\n", val_i);
|
printf("-i Value: %s\n", val_i);
|
||||||
assert(strcmp(val_i, "www.test.com") == 0);
|
assert(strcmp(val_i, "www.test.com") == 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Test -f
|
// Test -f
|
||||||
len = 0;
|
len = 0;
|
||||||
const char *testf[2] = {"file1.txt", "file2.txt"};
|
const char *testf[2] = {"file1.txt", "file2.txt"};
|
||||||
char **val_f = argParseGetCurArgList(argparse, "-f", &len);
|
char **val_f = argParseGetCurArgList(argparse, "-f", &len);
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
printf("-f Value: %s\n", val_f[i]);
|
printf("-f Value: %s\n", val_f[i]);
|
||||||
assert(strcmp(val_f[i], testf[i]) == 0);
|
assert(strcmp(val_f[i], testf[i]) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
argParseFree(argparse);
|
argParseFree(argparse);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
const char *testv[3] = {"testpackge1", "testpackge2", "testpackge3"};
|
const char *testv[3] = {"testpackge1", "testpackge2", "testpackge3"};
|
||||||
|
|
||||||
char *val = argParseGetCurArg(argparse, "-p");
|
char *val = argParseGetCurArg(argparse, "-p");
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
char **vals = argParseGetCurArgList(argparse, "-p", &len);
|
char **vals = argParseGetCurArgList(argparse, "-p", &len);
|
||||||
|
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
printf("-p Value: %s\n", vals[i]);
|
printf("-p Value: %s\n", vals[i]);
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
argParseParse(argparse, argc, argv);
|
argParseParse(argparse, argc, argv);
|
||||||
|
|
||||||
|
|
||||||
char *command_name = argParseGetCurCommandName(argparse);
|
char *command_name = argParseGetCurCommandName(argparse);
|
||||||
printf("command name: %s\n", command_name);
|
printf("command name: %s\n", command_name);
|
||||||
assert(strcmp(command_name, "tools") == 0);
|
assert(strcmp(command_name, "tools") == 0);
|
||||||
|
|
||||||
char * val = argParseGetCurArg(argparse, "-t");
|
char *val = argParseGetCurArg(argparse, "-t");
|
||||||
printf("tools -t: %s\n", val);
|
printf("tools -t: %s\n", val);
|
||||||
|
|
||||||
argParseFree(argparse);
|
argParseFree(argparse);
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
argParseParse(argparse, argc, argv);
|
argParseParse(argparse, argc, argv);
|
||||||
|
|
||||||
|
|
||||||
argParseFree(argparse);
|
argParseFree(argparse);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -18,12 +18,23 @@ ArgParse *initArgParse() {
|
|||||||
NULL,
|
NULL,
|
||||||
false,
|
false,
|
||||||
ArgParseNOVALUE);
|
ArgParseNOVALUE);
|
||||||
argParseAddGlobalArg(
|
argParseAddGlobalArg(argparse,
|
||||||
argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, ArgParseNOVALUE);
|
"-q",
|
||||||
|
"--quiet",
|
||||||
|
"Quiet mode",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
false,
|
||||||
|
ArgParseNOVALUE);
|
||||||
|
|
||||||
// add arguments
|
// add arguments
|
||||||
command = argParseAddCommand(
|
command = argParseAddCommand(argparse,
|
||||||
argparse, "install", "Install the package", NULL, NULL, NULL, ArgParseNOVALUE);
|
"install",
|
||||||
|
"Install the package",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
ArgParseNOVALUE);
|
||||||
argParseAddArg(command,
|
argParseAddArg(command,
|
||||||
"-i",
|
"-i",
|
||||||
"--index",
|
"--index",
|
||||||
@@ -49,8 +60,13 @@ ArgParse *initArgParse() {
|
|||||||
false,
|
false,
|
||||||
ArgParseMULTIVALUE);
|
ArgParseMULTIVALUE);
|
||||||
|
|
||||||
sub_command = argParseAddSubCommand(
|
sub_command = argParseAddSubCommand(command,
|
||||||
command, "tools", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE);
|
"tools",
|
||||||
|
"Install tools",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
ArgParseMULTIVALUE);
|
||||||
|
|
||||||
argParseAddArg(sub_command,
|
argParseAddArg(sub_command,
|
||||||
"-t",
|
"-t",
|
||||||
@@ -60,8 +76,13 @@ ArgParse *initArgParse() {
|
|||||||
NULL,
|
NULL,
|
||||||
true,
|
true,
|
||||||
ArgParseMULTIVALUE);
|
ArgParseMULTIVALUE);
|
||||||
sub_command = argParseAddSubCommand(
|
sub_command = argParseAddSubCommand(command,
|
||||||
command, "tools_sub", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE);
|
"tools_sub",
|
||||||
|
"Install tools",
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
ArgParseMULTIVALUE);
|
||||||
|
|
||||||
argParseAddArg(sub_command,
|
argParseAddArg(sub_command,
|
||||||
"-s",
|
"-s",
|
||||||
@@ -101,8 +122,8 @@ int main(int argc, char *argv[]) {
|
|||||||
printf("val: %s\n", val);
|
printf("val: %s\n", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
char **vals = argParseGetValList(argparse, &len);
|
char **vals = argParseGetValList(argparse, &len);
|
||||||
|
|
||||||
char *test_val[3] = {"file1.txt", "file2.txt", "file3.txt"};
|
char *test_val[3] = {"file1.txt", "file2.txt", "file3.txt"};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user