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

Re: [PATCH v2 06/26] test: completion: add run_func() helper

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 11, 2020, 07:27 UTC
Message-ID
<xmqq1rh05p6f.fsf@gitster.c.googlers.com>
In-Reply-To
<20201110212136.870769-7-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> Pretty straightforward: runs functions.

Hmph, sorry but this is not straight-forward at least to me. Yes, the helper runs whatever is given on the command line, but then it does "print_comp", too. And the proposed log message is not entirely clear on the most important thing: why?

What is this "helper" meant to help?  Reduce repetition?
Show 16 quoted lines
> +run_func ()
> +{
> +	local -a COMPREPLY &&
> +	"$@" && print_comp
> +}
> +
>  # Test high-level completion
>  # Arguments are:
>  # 1: typed text so far (cur)
> @@ -452,8 +458,7 @@ test_expect_success '__gitcomp_direct - puts everything into COMPREPLY as-is' '
>  	EOF
>  	(
>  		cur=should_be_ignored &&
> -		__gitcomp_direct "$(cat expected)" &&
> -		print_comp
> +		run_func __gitcomp_direct "$(cat expected)"

This is an no-op rewrite, as we used to do the gitcomp-direct followed by print-comp, which is exactly what the helper does. So the helper does reduce repetition, which by itself would be a good thing but is there other benefit we are trying to seek (there does not have to be any)?

>  test_expect_success '__gitcomp - doesnt fail because of invalid variable name' '
> -	__gitcomp "$invalid_variable_name"
> +	run_func __gitcomp "$invalid_variable_name"

This one changes the behaviour in that it starts running print_comp which we didn't run. It may be a good thing and improvement, but then we'd better advertise it in the proposed log message.

Show 9 quoted lines
>  '
>  
>  read -r -d "" refs <<-\EOF
> @@ -586,7 +591,7 @@ test_expect_success '__gitcomp_nl - no suffix' '
>  '
>  
>  test_expect_success '__gitcomp_nl - doesnt fail because of invalid variable name' '
> -	__gitcomp_nl "$invalid_variable_name"
> +	run_func __gitcomp_nl "$invalid_variable_name"
Likewise.
>  '
Thanks.
Previous: Felipe ContrerasNext: Felipe Contreras
Message 11 of 36 in “completion: bash: a bunch of fixes, cleanups, and reorganization”
  1. 00/26 completion: bash: a bunch of fixes, cleanups, and reorganizationFelipe Contreras, Nov 10, 2020
  2. 01/26 completion: bash: fix prefix detection in branch.*Felipe Contreras, Nov 10, 2020
  3. SZEDER GáborNov 25, 2020
  4. Junio C HamanoNov 25, 2020
  5. Felipe ContrerasNov 25, 2020
  6. 02/26 completion: bash: add correct suffix in variablesFelipe Contreras, Nov 10, 2020
  7. 03/26 completion: bash: fix for suboptions with valueFelipe Contreras, Nov 10, 2020
  8. 04/26 completion: bash: do not modify COMP_WORDBREAKSFelipe Contreras, Nov 10, 2020
  9. 05/26 test: completion: fix currently typed wordsFelipe Contreras, Nov 10, 2020
  10. 06/26 test: completion: add run_func() helperFelipe Contreras, Nov 10, 2020
  11. Junio C HamanoNov 11, 2020
  12. Felipe ContrerasNov 11, 2020
  13. Junio C HamanoNov 11, 2020
  14. Felipe ContrerasNov 12, 2020
  15. 07/26 completion: bash: remove non-append functionalityFelipe Contreras, Nov 10, 2020
  16. 08/26 completion: bash: get rid of _append() functionsFelipe Contreras, Nov 10, 2020
  17. 10/26 completion: bash: factor out check in __gitcompFelipe Contreras, Nov 10, 2020
  18. 09/26 completion: bash: get rid of any non-append codeFelipe Contreras, Nov 10, 2020
  19. 11/26 completion: bash: simplify equal suffix checkFelipe Contreras, Nov 10, 2020
  20. 12/26 completion: bash: refactor __gitcompFelipe Contreras, Nov 10, 2020
  21. Junio C HamanoNov 12, 2020
  22. Felipe ContrerasNov 12, 2020
  23. 13/26 completion: bash: simplify __gitcompFelipe Contreras, Nov 10, 2020
  24. 15/26 completion: bash: improve __gitcomp suffix codeFelipe Contreras, Nov 10, 2020
  25. 14/26 completion: bash: change suffix check in __gitcompFelipe Contreras, Nov 10, 2020
  26. 16/26 completion: bash: simplify config_variable_nameFelipe Contreras, Nov 10, 2020
  27. 17/26 test: completion: switch __gitcomp_nl prefix testFelipe Contreras, Nov 10, 2020
  28. 18/26 completion: bash: simplify _get_comp_words_by_ref()Felipe Contreras, Nov 10, 2020
  29. 19/26 completion: bash: refactor _get_comp_words_by_ref()Felipe Contreras, Nov 10, 2020
  30. 20/26 completion: bash: cleanup _get_comp_words_by_ref()Felipe Contreras, Nov 10, 2020
  31. 21/26 completion: bash: trivial cleanupFelipe Contreras, Nov 10, 2020
  32. 22/26 completion: bash: rename _get_comp_words_by_ref()Felipe Contreras, Nov 10, 2020
  33. 23/26 completion: bash: improve __gitcomp descriptionFelipe Contreras, Nov 10, 2020
  34. 24/26 completion: bash: add __gitcomp_optsFelipe Contreras, Nov 10, 2020
  35. 25/26 completion: bash: cleanup __gitcomp* invocationsFelipe Contreras, Nov 10, 2020
  36. 26/26 completion: bash: shuffle __gitcomp functionsFelipe Contreras, Nov 10, 2020

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.