mirror of https://github.com/google/oss-fuzz.git
Fix git structure and git diff testcase (#8622)
Add in more test cases for git diff Fix git base work tree allowing more coverage for git diff and other commands.
This commit is contained in:
parent
e27aa22cac
commit
3217c5d357
|
@ -104,6 +104,15 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create branch
|
||||||
|
*/
|
||||||
|
argv[0] = "branch";
|
||||||
|
argv[1] = "-f";
|
||||||
|
argv[2] = "new_branch";
|
||||||
|
argv[3] = NULL;
|
||||||
|
cmd_branch(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Alter content of TEMP_1 and TEMP_2
|
* Alter content of TEMP_1 and TEMP_2
|
||||||
*/
|
*/
|
||||||
|
@ -202,20 +211,77 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GIT_DIFF:
|
case GIT_DIFF:
|
||||||
|
switch(i % 9) {
|
||||||
|
case 0: default:
|
||||||
argv[0] = "diff";
|
argv[0] = "diff";
|
||||||
argv[1] = NULL;
|
argv[1] = NULL;
|
||||||
cmd_diff(1, (const char **)argv, (const char *)"");
|
cmd_diff(1, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
argv[1] = "TEMP_1";
|
argv[1] = "TEMP_1";
|
||||||
argv[2] = NULL;
|
argv[2] = NULL;
|
||||||
cmd_diff(2, (const char **)argv, (const char *)"");
|
cmd_diff(2, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
argv[2] = "TEMP_2";
|
argv[2] = "TEMP_2";
|
||||||
argv[3] = NULL;
|
argv[3] = NULL;
|
||||||
cmd_diff(3, (const char **)argv, (const char *)"");
|
cmd_diff(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
argv[1] = "HEAD";
|
||||||
|
argv[2] = NULL;
|
||||||
|
cmd_diff(2, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
argv[1] = "--cached";
|
||||||
|
argv[2] = NULL;
|
||||||
|
cmd_diff(2, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
argv[1] = "--diff-filter=MRC";
|
||||||
|
argv[2] = "HEAD";
|
||||||
|
argv[3] = NULL;
|
||||||
|
cmd_diff(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
argv[1] = "--diff-filter=MRC";
|
||||||
|
argv[2] = "HEAD^";
|
||||||
|
argv[3] = NULL;
|
||||||
|
cmd_diff(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
argv[1] = "-R";
|
||||||
|
argv[2] = "HEAD";
|
||||||
|
argv[3] = NULL;
|
||||||
|
cmd_diff(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
argv[1] = "master";
|
||||||
|
argv[2] = "new_branch";
|
||||||
|
argv[3] = NULL;
|
||||||
|
cmd_diff(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case GIT_DIFF_FILES:
|
case GIT_DIFF_FILES:
|
||||||
argv[0] = "diff-files";
|
argv[0] = "diff-files";
|
||||||
argv[1] = NULL;
|
argv[1] = NULL;
|
||||||
|
@ -238,6 +304,13 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||||
argv[3] = NULL;
|
argv[3] = NULL;
|
||||||
cmd_diff_tree(3, (const char **)argv, (const char *)"");
|
cmd_diff_tree(3, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
|
argv[0] = "diff-tree";
|
||||||
|
argv[1] = "master";
|
||||||
|
argv[2] = "new_branch";
|
||||||
|
argv[3] = "--";
|
||||||
|
argv[4] = NULL;
|
||||||
|
cmd_diff_tree(4, (const char **)argv, (const char *)"");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GIT_DIFF_INDEX:
|
case GIT_DIFF_INDEX:
|
||||||
|
|
Loading…
Reference in New Issue