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

Re: [PATCH v4 3/6] t-reftable-stack: use Git's tempfile API instead of mkstemp()

From
Patrick Steinhardt <ps@pks.im>
Date
Sep 5, 2024, 07:14 UTC
Message-ID
<ZtlacTtiEgPCRzTi@pks.im>
In-Reply-To
<20240904150132.11567-4-chandrapratap3519@gmail.com>
On Wed, Sep 04, 2024 at 08:08:03PM +0530, Chandra Pratap wrote:
Show 5 quoted lines
> Git's tempfile API defined by $GIT_DIR/tempfile.{c,h} provides
> a unified interface for tempfile operations. Since reftable/stack.c
> uses this API for all its tempfile needs instead of raw functions
> like mkstemp(), make the ported stack test strictly use Git's
> tempfile API as well.

I don't quite think that this is sufficient motivation. The real benefit is that we know to clean up the tempfile in case the test fails because it gets registered and pruned via a signal handler.

Patrick
Show 32 quoted lines
> Mentored-by: Patrick Steinhardt <ps@pks.im>
> Mentored-by: Christian Couder <chriscool@tuxfamily.org>
> Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
> ---
>  t/unit-tests/t-reftable-stack.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/t/unit-tests/t-reftable-stack.c b/t/unit-tests/t-reftable-stack.c
> index c74660a1e2..8047e25c48 100644
> --- a/t/unit-tests/t-reftable-stack.c
> +++ b/t/unit-tests/t-reftable-stack.c
> @@ -76,7 +76,8 @@ static char *get_tmp_dir(int linenumber)
>  static void t_read_file(void)
>  {
>  	char *fn = get_tmp_template(__LINE__);
> -	int fd = mkstemp(fn);
> +	struct tempfile *tmp = mks_tempfile(fn);
> +	int fd = get_tempfile_fd(tmp);
>  	char out[1024] = "line1\n\nline2\nline3";
>  	int n, err;
>  	char **names = NULL;
> @@ -95,6 +96,7 @@ static void t_read_file(void)
>  		check_str(want[i], names[i]);
>  	free_names(names);
>  	(void) remove(fn);
> +	delete_tempfile(&tmp);
>  }
>  
>  static int write_test_ref(struct reftable_writer *wr, void *arg)
> -- 
> 2.45.GIT
> 
Previous: Chandra PratapNext: Chandra Pratap
Message 48 of 72 in “t: port reftable/stack_test.c to the unit testing framework”
  1. Chandra PratapAug 6, 2024
  2. 1/6 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Aug 6, 2024
  3. 2/6 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Aug 6, 2024
  4. Eric SunshineAug 6, 2024
  5. Patrick SteinhardtAug 7, 2024
  6. 3/6 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Aug 6, 2024
  7. Junio C HamanoAug 6, 2024
  8. Patrick SteinhardtAug 7, 2024
  9. 4/6 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Aug 6, 2024
  10. Patrick SteinhardtAug 7, 2024
  11. Chandra PratapAug 7, 2024
  12. Patrick SteinhardtAug 8, 2024
  13. 5/6 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Aug 6, 2024
  14. 6/6 t-reftable-stack: add test for stack iteratorsChandra Pratap, Aug 6, 2024
  15. Patrick SteinhardtAug 7, 2024
  16. Junio C HamanoAug 6, 2024
  17. Chandra PratapAug 7, 2024
  18. [GSoC][PATCH v2 0/6] t: port reftable/stack_test.c to the unit testing frameworkChandra Pratap, Aug 23, 2024
  19. 1/6 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Aug 23, 2024
  20. 2/6 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Aug 23, 2024
  21. Patrick SteinhardtAug 26, 2024
  22. 3/6 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Aug 23, 2024
  23. 4/6 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Aug 23, 2024
  24. 5/6 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Aug 23, 2024
  25. 6/6 t-reftable-stack: add test for stack iteratorsChandra Pratap, Aug 23, 2024
  26. Patrick SteinhardtAug 26, 2024
  27. [GSoC][PATCH v3 0/6] t: port reftable/stack_test.c to the unit testing frameworkChandra Pratap, Aug 26, 2024
  28. 1/6 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Aug 26, 2024
  29. 2/6 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Aug 26, 2024
  30. 3/6 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Aug 26, 2024
  31. 4/6 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Aug 26, 2024
  32. 5/6 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Aug 26, 2024
  33. 6/6 t-reftable-stack: add test for stack iteratorsChandra Pratap, Aug 26, 2024
  34. Junio C HamanoAug 26, 2024
  35. Chandra PratapAug 26, 2024
  36. Junio C HamanoAug 26, 2024
  37. Junio C HamanoAug 26, 2024
  38. [GSoC][PATCH v4 0/6] t: port reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 4, 2024
  39. 1/6 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 4, 2024
  40. Junio C HamanoSep 4, 2024
  41. Patrick SteinhardtSep 5, 2024
  42. Chandra PratapSep 5, 2024
  43. Patrick SteinhardtSep 5, 2024
  44. Junio C HamanoSep 5, 2024
  45. Patrick SteinhardtSep 6, 2024
  46. 2/6 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Sep 4, 2024
  47. 3/6 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Sep 4, 2024
  48. Patrick SteinhardtSep 5, 2024
  49. 4/6 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Sep 4, 2024
  50. Patrick SteinhardtSep 5, 2024
  51. 5/6 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Sep 4, 2024
  52. 6/6 t-reftable-stack: add test for stack iteratorsChandra Pratap, Sep 4, 2024
  53. Patrick SteinhardtSep 5, 2024
  54. [GSoC][PATCH v5 0/7] t: port reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 6, 2024
  55. 1/7 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 6, 2024
  56. 2/7 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Sep 6, 2024
  57. 3/7 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Sep 6, 2024
  58. 4/7 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Sep 6, 2024
  59. 5/7 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Sep 6, 2024
  60. 6/7 t-reftable-stack: add test for stack iteratorsChandra Pratap, Sep 6, 2024
  61. 7/7 t: clean up leftover reftable test cruftChandra Pratap, Sep 6, 2024
  62. Junio C HamanoSep 6, 2024
  63. Junio C HamanoSep 6, 2024
  64. [GSoC][PATCH v6 0/6] t: port reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 8, 2024
  65. 1/6 t: move reftable/stack_test.c to the unit testing frameworkChandra Pratap, Sep 8, 2024
  66. 2/6 t: harmonize t-reftable-stack.c with coding guidelinesChandra Pratap, Sep 8, 2024
  67. 3/6 t-reftable-stack: use Git's tempfile API instead of mkstemp()Chandra Pratap, Sep 8, 2024
  68. 4/6 t-reftable-stack: use reftable_ref_record_equal() to compare ref recordsChandra Pratap, Sep 8, 2024
  69. Patrick SteinhardtSep 9, 2024
  70. 5/6 t-reftable-stack: add test for non-default compaction factorChandra Pratap, Sep 8, 2024
  71. 6/6 t-reftable-stack: add test for stack iteratorsChandra Pratap, Sep 8, 2024
  72. Patrick SteinhardtSep 9, 2024

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.