git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 5/5] Add tests around status handling of ignored arguments

From
JMJameson Miller <jameson.miller81@gmail.com>
Date
Oct 12, 2017, 20:16 UTC
Message-ID
<06a99e74-441e-ab22-fb4c-45302523d5cb@gmail.com>
In-Reply-To
<xmqqefq91041.fsf@gitster.mtv.corp.google.com>
On 10/12/2017 12:06 AM, Junio C Hamano wrote:
Show 15 quoted lines
> Jameson Miller <jameson.miller81@gmail.com> writes:
>
>> Add tests for status handling of '--ignored=matching` and
>> `--untracked-files=normal`.
>>
>> Signed-off-by: Jameson Miller <jamill@microsoft.com>
>> ---
> Hmph, having some tests in 3/5, changes in 4/5 and even more tests
> in 5/5 makes me as a reader a bit confused, as the description for
> these two test patches does not make it clear how they are related
> and how they are different.  Is it that changes in 1/5 alone does
> not fulfill the promise made by documentation added at 2/5 so 3/5
> only has tests for behaviour that works with 1/5 alone but is broken
> with respect to what 2/5 claims until 4/5 is applied, and these "not
> working with 1/5 alone, but works after 4/5" are added in this step?

Correct. The changes in 1/5 are to implement "--ignored=matching" with "--untracked-files=all" with corresponding tests in 3/5. The changes in 4/5 are to implement "--ignored=matching" with "--untracked-files=normal" and the corresponding tests are in 5/5.

Do you have a preference on how I organized this work? I see several possible ways to split up this work. Maybe it would be less confusing to have the implementation in the first two commits, then 1 commit with all the tests, and then a commit with the documentation? I think it makes sense to have the logic for the different flag combinations split into their own commits, but I am open to any suggestions.

Show 78 quoted lines
>
>>   t/t7519-ignored-mode.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++-
>>   1 file changed, 59 insertions(+), 1 deletion(-)
>>
>> diff --git a/t/t7519-ignored-mode.sh b/t/t7519-ignored-mode.sh
>> index 76e91427b0..6be7701d79 100755
>> --- a/t/t7519-ignored-mode.sh
>> +++ b/t/t7519-ignored-mode.sh
>> @@ -116,10 +116,68 @@ test_expect_success 'Verify status behavior on ignored folder containing tracked
>>   		ignored_dir/ignored_1.ign ignored_dir/ignored_2.ign \
>>   		ignored_dir/tracked &&
>>   	git add -f ignored_dir/tracked &&
>> -	test_tick &&
>>   	git commit -m "Force add file in ignored directory" &&
>>   	git status --porcelain=v2 --ignored=matching --untracked-files=all >output &&
>>   	test_i18ncmp expect output
>>   '
>>   
>> +test_expect_success 'Verify matching ignored files with --untracked-files=normal' '
>> +	test_when_finished "git clean -fdx" &&
>> +	cat >expect <<-\EOF &&
>> +	? expect
>> +	? output
>> +	? untracked_dir/
>> +	! ignored_dir/
>> +	! ignored_files/ignored_1.ign
>> +	! ignored_files/ignored_2.ign
>> +	EOF
>> +
>> +	mkdir ignored_dir ignored_files untracked_dir &&
>> +	touch ignored_dir/ignored_1 ignored_dir/ignored_2 \
>> +		ignored_files/ignored_1.ign ignored_files/ignored_2.ign \
>> +		untracked_dir/untracked &&
>> +	git status --porcelain=v2 --ignored=matching --untracked-files=normal >output &&
>> +	test_i18ncmp expect output
>> +'
>> +
>> +test_expect_success 'Verify matching ignored files with --untracked-files=normal' '
>> +	test_when_finished "git clean -fdx" &&
>> +	cat >expect <<-\EOF &&
>> +	? expect
>> +	? output
>> +	? untracked_dir/
>> +	! ignored_dir/
>> +	! ignored_files/ignored_1.ign
>> +	! ignored_files/ignored_2.ign
>> +	EOF
>> +
>> +	mkdir ignored_dir ignored_files untracked_dir &&
>> +	touch ignored_dir/ignored_1 ignored_dir/ignored_2 \
>> +		ignored_files/ignored_1.ign ignored_files/ignored_2.ign \
>> +		untracked_dir/untracked &&
>> +	git status --porcelain=v2 --ignored=matching --untracked-files=normal >output &&
>> +	test_i18ncmp expect output
>> +'
>> +
>> +test_expect_success 'Verify status behavior on ignored folder containing tracked file' '
>> +	test_when_finished "git clean -fdx && git reset HEAD~1 --hard" &&
>> +	cat >expect <<-\EOF &&
>> +	? expect
>> +	? output
>> +	! ignored_dir/ignored_1
>> +	! ignored_dir/ignored_1.ign
>> +	! ignored_dir/ignored_2
>> +	! ignored_dir/ignored_2.ign
>> +	EOF
>> +
>> +	mkdir ignored_dir &&
>> +	touch ignored_dir/ignored_1 ignored_dir/ignored_2 \
>> +		ignored_dir/ignored_1.ign ignored_dir/ignored_2.ign \
>> +		ignored_dir/tracked &&
>> +	git add -f ignored_dir/tracked &&
>> +	git commit -m "Force add file in ignored directory" &&
>> +	git status --porcelain=v2 --ignored=matching --untracked-files=normal >output &&
>> +	test_i18ncmp expect output
>> +'
>> +
>>   test_done
Previous: Junio C HamanoNext: Junio C Hamano
Message 23 of 49 in “Teach Status options around showing ignored files”
  1. 0/6 Teach Status options around showing ignored filesjameson.miller81@gmail.com, Oct 5, 2017
  2. 3/6 Add tests for git status `--ignored=matching`jameson.miller81@gmail.com, Oct 5, 2017
  3. Stefan BellerOct 5, 2017
  4. 5/6 Add tests around status handling of ignored argumentsjameson.miller81@gmail.com, Oct 5, 2017
  5. 6/6 Handle unsupported combination status argumentsjameson.miller81@gmail.com, Oct 5, 2017
  6. Stefan BellerOct 5, 2017
  7. 4/6 Expand support for ignored arguments on statusjameson.miller81@gmail.com, Oct 5, 2017
  8. 1/6 Teach status options around showing ignored filesjameson.miller81@gmail.com, Oct 5, 2017
  9. 2/6 Update documentation for new directory and status logicjameson.miller81@gmail.com, Oct 5, 2017
  10. Stefan BellerOct 5, 2017
  11. Jonathan NiederOct 5, 2017
  12. Jameson MillerOct 5, 2017
  13. 0/5 Teach Status options around showing ignored filesJameson Miller, Oct 11, 2017
  14. 1/5 Teach status options around showing ignored filesJameson Miller, Oct 11, 2017
  15. Junio C HamanoOct 12, 2017
  16. Jameson MillerOct 12, 2017
  17. 2/5 Update documentation for new directory and status logicJameson Miller, Oct 11, 2017
  18. Junio C HamanoOct 12, 2017
  19. Jameson MillerOct 12, 2017
  20. Junio C HamanoOct 13, 2017
  21. 5/5 Add tests around status handling of ignored argumentsJameson Miller, Oct 11, 2017
  22. Junio C HamanoOct 12, 2017
  23. Jameson MillerOct 12, 2017
  24. Junio C HamanoOct 13, 2017
  25. 4/5 Expand support for ignored arguments on statusJameson Miller, Oct 11, 2017
  26. Junio C HamanoOct 12, 2017
  27. 3/5 Add tests for git status `--ignored=matching`Jameson Miller, Oct 11, 2017
  28. Junio C HamanoOct 12, 2017
  29. Jameson MillerOct 12, 2017
  30. 0/4 status: add option to show ignored files differentlyJameson Miller, Oct 19, 2017
  31. 1/4 status: add option to show ignored files differentlyJameson Miller, Oct 19, 2017
  32. Junio C HamanoOct 23, 2017
  33. 2/4 status: report matching ignored and normal untrackedJameson Miller, Oct 19, 2017
  34. 3/4 status: document options to show matching ignored filesJameson Miller, Oct 19, 2017
  35. 4/4 status: test --ignored=matchingJameson Miller, Oct 19, 2017
  36. Stefan BellerOct 19, 2017
  37. Junio C HamanoOct 22, 2017
  38. Junio C HamanoOct 23, 2017
  39. 0/4 status: add option to show ignored files differentlyJameson Miller, Oct 23, 2017
  40. 1/4 status: add option to show ignored files differentlyJameson Miller, Oct 23, 2017
  41. 3/4 status: document options to show matching ignored filesJameson Miller, Oct 23, 2017
  42. 2/4 status: report matching ignored and normal untrackedJameson Miller, Oct 23, 2017
  43. 4/4 status: test ignored modesJameson Miller, Oct 23, 2017
  44. 0/4 status: add option to show ignored files differentlyjameson.miller81@gmail.com, Oct 30, 2017
  45. 3/4 status: document options to show matching ignored filesjameson.miller81@gmail.com, Oct 30, 2017
  46. 4/4 status: test ignored modesjameson.miller81@gmail.com, Oct 30, 2017
  47. 2/4 status: report matching ignored and normal untrackedjameson.miller81@gmail.com, Oct 30, 2017
  48. 1/4 status: add option to show ignored files differentlyjameson.miller81@gmail.com, Oct 30, 2017
  49. Junio C HamanoOct 31, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.