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

Re: [PATCH v4 1/2] t6400: preserve git ls-files exit status code

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 30, 2021, 20:44 UTC
Message-ID
<xmqqzgv7t757.fsf@gitster.g>
In-Reply-To
<YNxPEb4V3SIqGRl9@danh.dev>
Đoàn Trần Công Danh  <congdanhqx@gmail.com> writes:
Show 10 quoted lines
>> Could be, except that I recall we saw extra noises like --out/--err
>> that weren't used and contaminating the current working directory,
>> which are gone from the latest iteration.
>
> Yes, in v{1,2}, there's the extra noises of --out and --err,
> but it's gone in v3.
>
> I guess you're thinking about the contamination of $PWD iff it's not
> a git worktree. That could be simplified by BUG-ging if $PWD is not
> a git worktree.

No. I am not thinking about that. I do not think it is a big loss if the helper cannot be used in non-repository.

> Maybe, you're thinking about the extra noises to handle the failure run
> of command under check? That could be dropped, too.
No.  I am not thinking about that, either.
> Would you mind looking at v3 1/4 again to see what is your opinion
> there? I don't mind re-roll a same or simplified version of v3,
> with s/test_line_count_cmd/test_output_wc_l/ if you see fit.
Let's not go back that far.  This is taken from v4 (t/t6400) ...
	local ops val &&
	if test "$#" -le 2
	then
		BUG "Expect 2 or more arguments"
	fi &&
	ops="$1" &&
	val="$2" &&
	shift 2 &&
	mkdir -p .git/trash &&
	"$@" >.git/trash/output &&
	test_line_count "$ops" "$val" .git/trash/output

... except that it runs '"$@"' instead of 'git ls-files "$@"', so that we could try running things other than ls-files, and that would be mostly good enough. We may want to be prepared for a caller who wants to use the helper from within a subdirectory by not hardcoding ".git/trash", though. Something along the lines of ...

	local ops val &&
+	local trashdir=$(git rev-parse --git-dir)/trash &&
	if test ...
	...
-	mkdir -p .git/trash &&
-	"$@" >".git/trash/output" &&
-	test_line_count "$ops" "$val" .git/trash/output
+	mkdir -p "$trashdir" &&
+	"$@" >"$trashdir/output" &&
+	test_line_count "$ops" "$val" "$trashdir/output"
Previous: Đoàn Trần Công DanhNext: Đoàn Trần Công Danh
Message 33 of 42 in “t: new helper test_line_count_cmd”
  1. 0/5 t: new helper test_line_count_cmdĐoàn Trần Công Danh, Jun 15, 2021
  2. 1/5 test-lib-functions: introduce test_line_count_cmdĐoàn Trần Công Danh, Jun 15, 2021
  3. Felipe ContrerasJun 17, 2021
  4. 2/5 t6402: use find(1) builtin to filter instead of grepĐoàn Trần Công Danh, Jun 15, 2021
  5. 3/5 t0041: use test_line_count_cmd to check std{out,err}Đoàn Trần Công Danh, Jun 15, 2021
  6. Junio C HamanoJun 16, 2021
  7. Đoàn Trần Công DanhJun 16, 2021
  8. Junio C HamanoJun 17, 2021
  9. 4/5 t6400: use test_line_count_cmd to count # of lines in stdoutĐoàn Trần Công Danh, Jun 15, 2021
  10. 5/5 t6402: use test_line_count_cmd to count # of lines in stdoutĐoàn Trần Công Danh, Jun 15, 2021
  11. 0/4 t: new helper test_line_count_cmdĐoàn Trần Công Danh, Jun 19, 2021
  12. Eric SunshineJun 19, 2021
  13. Junio C HamanoJun 19, 2021
  14. Eric SunshineJun 19, 2021
  15. Junio C HamanoJun 19, 2021
  16. Đoàn Trần Công DanhJun 21, 2021
  17. Eric SunshineJun 22, 2021
  18. 1/4 test-lib-functions: introduce test_line_count_cmdĐoàn Trần Công Danh, Jun 19, 2021
  19. Andrei RybakJun 21, 2021
  20. Andrei RybakJun 24, 2021
  21. 2/4 t6402: use find(1) builtin to filter instead of grepĐoàn Trần Công Danh, Jun 19, 2021
  22. Andrei RybakJun 21, 2021
  23. Đoàn Trần Công DanhJun 21, 2021
  24. 3/4 t6400: use test_line_count_cmd to count # of lines in stdoutĐoàn Trần Công Danh, Jun 19, 2021
  25. 4/4 t6402: use test_line_count_cmd to count # of lines in stdoutĐoàn Trần Công Danh, Jun 19, 2021
  26. 0/2 t640{0,2}: preserve ls-files exit status codeĐoàn Trần Công Danh, Jun 29, 2021
  27. 1/2 t6400: preserve git ls-files exit status codeĐoàn Trần Công Danh, Jun 29, 2021
  28. Eric SunshineJun 29, 2021
  29. Junio C HamanoJun 29, 2021
  30. Eric SunshineJun 30, 2021
  31. Junio C HamanoJun 30, 2021
  32. Đoàn Trần Công DanhJun 30, 2021
  33. Junio C HamanoJun 30, 2021
  34. 2/2 t6402: preserve git exit status codeĐoàn Trần Công Danh, Jun 29, 2021
  35. Junio C HamanoJun 29, 2021
  36. 0/3 new test-libs-function: test_stdout_line_countĐoàn Trần Công Danh, Jul 4, 2021
  37. 1/3 test-lib-functions: introduce test_stdout_line_countĐoàn Trần Công Danh, Jul 4, 2021
  38. Eric SunshineJul 4, 2021
  39. Junio C HamanoJul 6, 2021
  40. Đoàn Trần Công DanhJul 7, 2021
  41. 2/3 t6400: preserve git ls-files exit status codeĐoàn Trần Công Danh, Jul 4, 2021
  42. 3/3 t6402: preserve git exit status codeĐoàn Trần Công Danh, Jul 4, 2021

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.