0.3.2版本 #4
@@ -37,3 +37,8 @@ set_tests_properties(${PROJECT_NAME}unknow_command_arg PROPERTIES WILL_FAIL TRUE
 | 
			
		||||
add_executable(${PROJECT_NAME}val test_val.c)
 | 
			
		||||
target_link_libraries(${PROJECT_NAME}val CArgParse)
 | 
			
		||||
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,7 +10,6 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
 | 
			
		||||
    const char *testv[3] = {"testpackge1", "testpackge2", "testpackge3"};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Test -p
 | 
			
		||||
    char *val            = argParseGetCurArg(argparse, "-p");
 | 
			
		||||
 | 
			
		||||
@@ -27,8 +26,6 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
    printf("-i Value: %s\n", val_i);
 | 
			
		||||
    assert(strcmp(val_i, "www.test.com") == 0);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Test -f
 | 
			
		||||
    len                  = 0;
 | 
			
		||||
    const char *testf[2] = {"file1.txt", "file2.txt"};
 | 
			
		||||
@@ -38,7 +35,6 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
        assert(strcmp(val_f[i], testf[i]) == 0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    argParseFree(argparse);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -8,12 +8,11 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
 | 
			
		||||
    argParseParse(argparse, argc, argv);
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    char *command_name = argParseGetCurCommandName(argparse);
 | 
			
		||||
    printf("command name: %s\n", command_name);
 | 
			
		||||
    assert(strcmp(command_name, "tools") == 0);
 | 
			
		||||
 | 
			
		||||
    char * val = argParseGetCurArg(argparse, "-t");
 | 
			
		||||
    char *val = argParseGetCurArg(argparse, "-t");
 | 
			
		||||
    printf("tools -t: %s\n", val);
 | 
			
		||||
 | 
			
		||||
    argParseFree(argparse);
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
 | 
			
		||||
    argParseParse(argparse, argc, argv);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    argParseFree(argparse);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -18,12 +18,23 @@ ArgParse *initArgParse() {
 | 
			
		||||
                         NULL,
 | 
			
		||||
                         false,
 | 
			
		||||
                         ArgParseNOVALUE);
 | 
			
		||||
    argParseAddGlobalArg(
 | 
			
		||||
        argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, ArgParseNOVALUE);
 | 
			
		||||
    argParseAddGlobalArg(argparse,
 | 
			
		||||
                         "-q",
 | 
			
		||||
                         "--quiet",
 | 
			
		||||
                         "Quiet mode",
 | 
			
		||||
                         NULL,
 | 
			
		||||
                         NULL,
 | 
			
		||||
                         false,
 | 
			
		||||
                         ArgParseNOVALUE);
 | 
			
		||||
 | 
			
		||||
    // add arguments
 | 
			
		||||
    command = argParseAddCommand(
 | 
			
		||||
        argparse, "install", "Install the package", NULL, NULL, NULL, ArgParseNOVALUE);
 | 
			
		||||
    command = argParseAddCommand(argparse,
 | 
			
		||||
                                 "install",
 | 
			
		||||
                                 "Install the package",
 | 
			
		||||
                                 NULL,
 | 
			
		||||
                                 NULL,
 | 
			
		||||
                                 NULL,
 | 
			
		||||
                                 ArgParseNOVALUE);
 | 
			
		||||
    argParseAddArg(command,
 | 
			
		||||
                   "-i",
 | 
			
		||||
                   "--index",
 | 
			
		||||
@@ -49,8 +60,13 @@ ArgParse *initArgParse() {
 | 
			
		||||
                   false,
 | 
			
		||||
                   ArgParseMULTIVALUE);
 | 
			
		||||
 | 
			
		||||
    sub_command = argParseAddSubCommand(
 | 
			
		||||
        command, "tools", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE);
 | 
			
		||||
    sub_command = argParseAddSubCommand(command,
 | 
			
		||||
                                        "tools",
 | 
			
		||||
                                        "Install tools",
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        ArgParseMULTIVALUE);
 | 
			
		||||
 | 
			
		||||
    argParseAddArg(sub_command,
 | 
			
		||||
                   "-t",
 | 
			
		||||
@@ -60,8 +76,13 @@ ArgParse *initArgParse() {
 | 
			
		||||
                   NULL,
 | 
			
		||||
                   true,
 | 
			
		||||
                   ArgParseMULTIVALUE);
 | 
			
		||||
    sub_command = argParseAddSubCommand(
 | 
			
		||||
        command, "tools_sub", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE);
 | 
			
		||||
    sub_command = argParseAddSubCommand(command,
 | 
			
		||||
                                        "tools_sub",
 | 
			
		||||
                                        "Install tools",
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        NULL,
 | 
			
		||||
                                        ArgParseMULTIVALUE);
 | 
			
		||||
 | 
			
		||||
    argParseAddArg(sub_command,
 | 
			
		||||
                   "-s",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user