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

[PATCH v5 0/9] Introduce clar testing framework

From
Patrick Steinhardt <ps@pks.im>
Date
Aug 16, 2024, 07:04 UTC
Message-ID
<cover.1723791831.git.ps@pks.im>
In-Reply-To
<cover.1722415748.git.ps@pks.im>
Hi,

this is the fifth version of my patch series that introduces the clar testing framework for our unit tests.

Changes compared to v4:
  - The whitespace fixes have been merged upstream, so I've updated the
    embedded copy of clar and dropped the subsequent patch that fixed
    them in our copy. The NonStop compatibility fixes have not yet been
    merged as the pull request needs some more work.
  - Both "clar-decls.h" and "clar.suite" are now part of GENERATED_H.
    This brings removal of these files via "make clean" for free.
  - The "sparse" target already depends on GENERATED_H, but in a broken
    way. I've fixed that in a new commit.
  - The "sparse" target no longer checks external sources, including the
    clar sources.
  - The "hdr-check" target now depends on GENERATED_H, as well. This
    avoids having to manually wire up dependencies on generated headers
    per file, which seems rather unmaintainable to me.

With this, the "hdr-check" and "sparse" targets all work on my machine now.

Thanks!
Patrick
Patrick Steinhardt (9):
  t: do not pass GIT_TEST_OPTS to unit tests with prove
  t: import the clar unit testing framework
  t/clar: fix compatibility with NonStop
  Makefile: fix sparse dependency on GENERATED_H
  Makefile: make hdr-check depend on generated headers
  Makefile: do not use sparse on third-party sources
  Makefile: wire up the clar unit testing framework
  t/unit-tests: convert strvec tests to use clar
  t/unit-tests: convert ctype tests to use clar
 .gitignore                                 |   1 +
 Documentation/technical/unit-tests.txt     |   2 +
 Makefile                                   |  53 +-
 t/Makefile                                 |   4 +-
 t/run-test.sh                              |   2 +-
 t/unit-tests/.gitignore                    |   2 +
 t/unit-tests/clar-generate.awk             |  50 ++
 t/unit-tests/clar/.github/workflows/ci.yml |  23 +
 t/unit-tests/clar/COPYING                  |  15 +
 t/unit-tests/clar/README.md                | 329 ++++++++
 t/unit-tests/clar/clar.c                   | 842 +++++++++++++++++++++
 t/unit-tests/clar/clar.h                   | 173 +++++
 t/unit-tests/clar/clar/fixtures.h          |  50 ++
 t/unit-tests/clar/clar/fs.h                | 522 +++++++++++++
 t/unit-tests/clar/clar/print.h             | 211 ++++++
 t/unit-tests/clar/clar/sandbox.h           | 159 ++++
 t/unit-tests/clar/clar/summary.h           | 143 ++++
 t/unit-tests/clar/generate.py              | 266 +++++++
 t/unit-tests/clar/test/.gitignore          |   4 +
 t/unit-tests/clar/test/Makefile            |  39 +
 t/unit-tests/clar/test/clar_test.h         |  16 +
 t/unit-tests/clar/test/main.c              |  40 +
 t/unit-tests/clar/test/main.c.sample       |  27 +
 t/unit-tests/clar/test/resources/test/file |   1 +
 t/unit-tests/clar/test/sample.c            |  84 ++
 t/unit-tests/{t-ctype.c => ctype.c}        |  71 +-
 t/unit-tests/{t-strvec.c => strvec.c}      | 119 ++-
 t/unit-tests/unit-test.c                   |  17 +
 t/unit-tests/unit-test.h                   |   3 +
 29 files changed, 3166 insertions(+), 102 deletions(-)
 create mode 100644 t/unit-tests/clar-generate.awk
 create mode 100644 t/unit-tests/clar/.github/workflows/ci.yml
 create mode 100644 t/unit-tests/clar/COPYING
 create mode 100644 t/unit-tests/clar/README.md
 create mode 100644 t/unit-tests/clar/clar.c
 create mode 100644 t/unit-tests/clar/clar.h
 create mode 100644 t/unit-tests/clar/clar/fixtures.h
 create mode 100644 t/unit-tests/clar/clar/fs.h
 create mode 100644 t/unit-tests/clar/clar/print.h
 create mode 100644 t/unit-tests/clar/clar/sandbox.h
 create mode 100644 t/unit-tests/clar/clar/summary.h
 create mode 100755 t/unit-tests/clar/generate.py
 create mode 100644 t/unit-tests/clar/test/.gitignore
 create mode 100644 t/unit-tests/clar/test/Makefile
 create mode 100644 t/unit-tests/clar/test/clar_test.h
 create mode 100644 t/unit-tests/clar/test/main.c
 create mode 100644 t/unit-tests/clar/test/main.c.sample
 create mode 100644 t/unit-tests/clar/test/resources/test/file
 create mode 100644 t/unit-tests/clar/test/sample.c
 rename t/unit-tests/{t-ctype.c => ctype.c} (71%)
 rename t/unit-tests/{t-strvec.c => strvec.c} (54%)
 create mode 100644 t/unit-tests/unit-test.c
 create mode 100644 t/unit-tests/unit-test.h
Range-diff against v4:
 1:  086dd728a7 !  1:  832dc0496f t: do not pass GIT_TEST_OPTS to unit tests with prove
    @@ Commit message
         environment variable. Like this, we can conditionally forward it to our
         test scripts, only.
     
    +    Signed-off-by: Patrick Steinhardt <ps@pks.im>
    +
      ## t/Makefile ##
     @@ t/Makefile: failed:
      	test -z "$$failed" || $(MAKE) $$failed
 2:  5c22e0b3b9 !  2:  3690607933 t: import the clar unit testing framework
    @@ Metadata
      ## Commit message ##
         t: import the clar unit testing framework
     
    -    Import the clar unit testing framework at commit faa8419 (Merge pull
    -    request #93 from clar-test/ethomson/fixtures, 2023-12-14). The framework
    +    Import the clar unit testing framework at commit 1516124 (Merge pull
    +    request #97 from pks-t/pks-whitespace-fixes, 2024-08-15). The framework
         will be wired up in subsequent commits.
     
         Signed-off-by: Patrick Steinhardt <ps@pks.im>
    @@ t/unit-tests/clar/clar/fs.h (new)
     +			ERROR_PATH_NOT_FOUND == last_error)
     +			return 0;
     +
    -+		Sleep(RM_RETRY_DELAY * retries * retries);	
    ++		Sleep(RM_RETRY_DELAY * retries * retries);
     +	}
     +	while (retries++ <= RM_RETRY_COUNT);
     +
    @@ t/unit-tests/clar/clar/sandbox.h (new)
     +	static const size_t var_count = 5;
     +	static const char *env_vars[] = {
     +		"CLAR_TMP", "TMPDIR", "TMP", "TEMP", "USERPROFILE"
    -+ 	};
    ++	};
     +
    -+ 	size_t i;
    ++	size_t i;
     +
     +	for (i = 0; i < var_count; ++i) {
     +		const char *env = getenv(env_vars[i]);
    @@ t/unit-tests/clar/clar/sandbox.h (new)
     +{
     +	return _clar_path;
     +}
    -+
     
      ## t/unit-tests/clar/clar/summary.h (new) ##
     @@
    @@ t/unit-tests/clar/generate.py (new)
     +    suite.disable(options.excluded)
     +    if suite.write():
     +        print("Written `clar.suite` (%d tests in %d suites)" % (suite.callback_count(), suite.suite_count()))
    -+
     
      ## t/unit-tests/clar/test/.gitignore (new) ##
     @@
    @@ t/unit-tests/clar/test/.gitignore (new)
     +.clarcache
     +clar_test
     +*.o
    -+
     
      ## t/unit-tests/clar/test/Makefile (new) ##
     @@
 4:  75e097dfa4 =  3:  db53673294 t/clar: fix compatibility with NonStop
 3:  e0f99874cc !  4:  b6199c88dd t/clar: fix whitespace errors
    @@ Metadata
     Author: Patrick Steinhardt <ps@pks.im>
     
      ## Commit message ##
    -    t/clar: fix whitespace errors
    -
    -    Fix whitespace errors in the clar that make git-apply(1) unhappy. This
    -    has been cherry-picked from the upstream pull request at [1].
    -
    -    [1]: https://github.com/clar-test/clar/pull/97
    +    Makefile: fix sparse dependency on GENERATED_H
    +
    +    The "check" Makefile target is essentially an alias around the "sparse"
    +    target. The one difference though is that it will tell users to instead
    +    run the "test" target in case they do not have sparse(1) installed, as
    +    chances are high that they wanted to execute the test suite rather than
    +    doing semantic checks.
    +
    +    But even though the "check" target ultimately just ends up executing
    +    `make sparse`, it still depends on our generated headers. This does not
    +    make any sense though: they are irrelevant for the "test" target advice,
    +    and if these headers are required for the "sparse" target they must be
    +    declared as a dependency on the aliased target, not the alias.
    +
    +    But even moving the dependency to the "sparse" target is wrong, as
    +    concurrent builds may then end up generating the headers and running
    +    sparse concurrently. Instead, we make them a dependency of the specific
    +    objects. While that is overly broad, it does ensure correct ordering.
    +    The alternative, specifying which file depends on what generated header
    +    explicitly, feels rather unmaintainable.
     
         Signed-off-by: Patrick Steinhardt <ps@pks.im>
     
    - ## t/unit-tests/clar/clar/fs.h ##
    -@@ t/unit-tests/clar/clar/fs.h: fs_rm_wait(WCHAR *_wpath)
    - 			ERROR_PATH_NOT_FOUND == last_error)
    - 			return 0;
    - 
    --		Sleep(RM_RETRY_DELAY * retries * retries);	
    -+		Sleep(RM_RETRY_DELAY * retries * retries);
    - 	}
    - 	while (retries++ <= RM_RETRY_COUNT);
    + ## Makefile ##
    +@@ Makefile: check-sha1:: t/helper/test-tool$X
      
    -
    - ## t/unit-tests/clar/clar/sandbox.h ##
    -@@ t/unit-tests/clar/clar/sandbox.h: find_tmp_path(char *buffer, size_t length)
    - 	static const size_t var_count = 5;
    - 	static const char *env_vars[] = {
    - 		"CLAR_TMP", "TMPDIR", "TMP", "TEMP", "USERPROFILE"
    -- 	};
    -+	};
    + SP_OBJ = $(patsubst %.o,%.sp,$(OBJECTS))
      
    -- 	size_t i;
    -+	size_t i;
    +-$(SP_OBJ): %.sp: %.c %.o
    ++$(SP_OBJ): %.sp: %.c %.o $(GENERATED_H)
    + 	$(QUIET_SP)cgcc -no-compile $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) \
    + 		-Wsparse-error \
    + 		$(SPARSE_FLAGS) $(SP_EXTRA_FLAGS) $< && \
    +@@ Makefile: style:
    + 	git clang-format --style file --diff --extensions c,h
      
    - 	for (i = 0; i < var_count; ++i) {
    - 		const char *env = getenv(env_vars[i]);
    -@@ t/unit-tests/clar/clar/sandbox.h: const char *clar_sandbox_path(void)
    - {
    - 	return _clar_path;
    - }
    --
    -
    - ## t/unit-tests/clar/generate.py ##
    -@@ t/unit-tests/clar/generate.py: def write(self):
    -     suite.disable(options.excluded)
    -     if suite.write():
    -         print("Written `clar.suite` (%d tests in %d suites)" % (suite.callback_count(), suite.suite_count()))
    --
    -
    - ## t/unit-tests/clar/test/.gitignore ##
    -@@ t/unit-tests/clar/test/.gitignore: clar.suite
    - .clarcache
    - clar_test
    - *.o
    --
    + .PHONY: check
    +-check: $(GENERATED_H)
    ++check:
    + 	@if sparse; \
    + 	then \
    + 		echo >&2 "Use 'make sparse' instead"; \
 -:  ---------- >  5:  06364b2b72 Makefile: make hdr-check depend on generated headers
 -:  ---------- >  6:  88ea94ce16 Makefile: do not use sparse on third-party sources
 5:  5b8a64ae79 !  7:  05bcb5bef6 Makefile: wire up the clar unit testing framework
    @@ .gitignore
      /bin-wrappers/
     
      ## Makefile ##
    +@@ Makefile: REFTABLE_TEST_LIB = reftable/libreftable_test.a
    + GENERATED_H += command-list.h
    + GENERATED_H += config-list.h
    + GENERATED_H += hook-list.h
    ++GENERATED_H += $(UNIT_TEST_DIR)/clar-decls.h
    ++GENERATED_H += $(UNIT_TEST_DIR)/clar.suite
    + 
    + .PHONY: generated-hdrs
    + generated-hdrs: $(GENERATED_H)
     @@ Makefile: THIRD_PARTY_SOURCES += sha1dc/%
      THIRD_PARTY_SOURCES += $(UNIT_TEST_DIR)/clar/%
      THIRD_PARTY_SOURCES += $(UNIT_TEST_DIR)/clar/clar/%
    @@ Makefile: endif
      
      bin-wrappers/%: wrap-for-bin.sh
      	$(call mkdir_p_parent_template)
    -@@ Makefile: CHK_HDRS = $(filter-out $(EXCEPT_HDRS),$(LIB_H))
    - HCO = $(patsubst %.h,%.hco,$(CHK_HDRS))
    - HCC = $(HCO:hco=hcc)
    - 
    -+$(UNIT_TEST_DIR)/unit-test.hcc: $(UNIT_TEST_DIR)/unit-test.h $(UNIT_TEST_DIR)/clar-decls.h
    - %.hcc: %.h
    - 	@echo '#include "git-compat-util.h"' >$@
    - 	@echo '#include "$<"' >>$@
     @@ Makefile: endif
      
      artifacts-tar:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) \
    @@ Makefile: cocciclean:
      
      clean: profile-clean coverage-clean cocciclean
      	$(RM) -r .build $(UNIT_TEST_BIN)
    -+	$(RM) GIT-TEST-SUITES $(UNIT_TEST_DIR)/clar.suite $(UNIT_TEST_DIR)/clar-decls.h
    ++	$(RM) GIT-TEST-SUITES
      	$(RM) po/git.pot po/git-core.pot
      	$(RM) git.res
      	$(RM) $(OBJECTS)
 6:  bc4e23d666 =  8:  8f56b4d626 t/unit-tests: convert strvec tests to use clar
 7:  0a7fe8775a =  9:  ca09d19fd5 t/unit-tests: convert ctype tests to use clar
base-commit: 406f326d271e0bacecdb00425422c5fa3f314930
-- 
2.46.0.46.g406f326d27.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 80 of 172 in “Introduce clar testing framework”
  1. 0/3 Introduce clar testing frameworkPatrick Steinhardt, Jul 31, 2024
  2. 1/3 t: import the clar unit testing frameworkPatrick Steinhardt, Jul 31, 2024
  3. Josh SteadmonJul 31, 2024
  4. Junio C HamanoJul 31, 2024
  5. Patrick SteinhardtAug 1, 2024
  6. rsbecker@nexbridge.comJul 31, 2024
  7. Patrick SteinhardtAug 1, 2024
  8. rsbecker@nexbridge.comAug 1, 2024
  9. rsbecker@nexbridge.comAug 1, 2024
  10. Patrick SteinhardtAug 1, 2024
  11. rsbecker@nexbridge.comAug 1, 2024
  12. Patrick SteinhardtAug 1, 2024
  13. rsbecker@nexbridge.comAug 1, 2024
  14. Patrick SteinhardtAug 1, 2024
  15. rsbecker@nexbridge.comAug 1, 2024
  16. Patrick SteinhardtAug 1, 2024
  17. rsbecker@nexbridge.comAug 1, 2024
  18. rsbecker@nexbridge.comAug 1, 2024
  19. rsbecker@nexbridge.comAug 1, 2024
  20. René ScharfeAug 1, 2024
  21. rsbecker@nexbridge.comAug 1, 2024
  22. 2/3 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Jul 31, 2024
  23. René ScharfeJul 31, 2024
  24. Patrick SteinhardtAug 1, 2024
  25. Junio C HamanoJul 31, 2024
  26. Junio C HamanoJul 31, 2024
  27. Patrick SteinhardtAug 1, 2024
  28. 3/3 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Jul 31, 2024
  29. Junio C HamanoJul 31, 2024
  30. rsbecker@nexbridge.comJul 31, 2024
  31. Junio C HamanoJul 31, 2024
  32. rsbecker@nexbridge.comJul 31, 2024
  33. rsbecker@nexbridge.comJul 31, 2024
  34. Patrick SteinhardtAug 1, 2024
  35. Patrick SteinhardtAug 1, 2024
  36. Josh SteadmonJul 31, 2024
  37. Patrick SteinhardtAug 1, 2024
  38. 0/7 Introduce clar testing frameworkPatrick Steinhardt, Aug 6, 2024
  39. 1/7 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Aug 6, 2024
  40. 2/7 t: import the clar unit testing frameworkPatrick Steinhardt, Aug 6, 2024
  41. Josh SteadmonAug 6, 2024
  42. Patrick SteinhardtAug 7, 2024
  43. 3/7 t/clar: fix whitespace errorsPatrick Steinhardt, Aug 6, 2024
  44. 4/7 t/clar: fix compatibility with NonStopPatrick Steinhardt, Aug 6, 2024
  45. 5/7 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Aug 6, 2024
  46. 6/7 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Aug 6, 2024
  47. Josh SteadmonAug 6, 2024
  48. Patrick SteinhardtAug 7, 2024
  49. 7/7 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Aug 6, 2024
  50. 0/7 Introduce clar testing frameworkPatrick Steinhardt, Aug 8, 2024
  51. 1/7 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Aug 8, 2024
  52. 2/7 t: import the clar unit testing frameworkPatrick Steinhardt, Aug 8, 2024
  53. 3/7 t/clar: fix whitespace errorsPatrick Steinhardt, Aug 8, 2024
  54. Junio C HamanoAug 13, 2024
  55. rsbecker@nexbridge.comAug 13, 2024
  56. Junio C HamanoAug 13, 2024
  57. rsbecker@nexbridge.comAug 13, 2024
  58. Junio C HamanoAug 13, 2024
  59. Patrick SteinhardtAug 14, 2024
  60. 4/7 t/clar: fix compatibility with NonStopPatrick Steinhardt, Aug 8, 2024
  61. 5/7 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Aug 8, 2024
  62. 6/7 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Aug 8, 2024
  63. 7/7 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Aug 8, 2024
  64. Josh SteadmonAug 12, 2024
  65. rsbecker@nexbridge.comAug 12, 2024
  66. Junio C HamanoAug 12, 2024
  67. rsbecker@nexbridge.comAug 12, 2024
  68. Junio C HamanoAug 12, 2024
  69. Patrick SteinhardtAug 13, 2024
  70. 0/7 Introduce clar testing frameworkPatrick Steinhardt, Aug 15, 2024
  71. 4/7 t/clar: fix compatibility with NonStopPatrick Steinhardt, Aug 15, 2024
  72. 7/7 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Aug 15, 2024
  73. 6/7 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Aug 15, 2024
  74. 2/7 t: import the clar unit testing frameworkPatrick Steinhardt, Aug 15, 2024
  75. 1/7 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Aug 15, 2024
  76. 3/7 t/clar: fix whitespace errorsPatrick Steinhardt, Aug 15, 2024
  77. 5/7 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Aug 15, 2024
  78. Junio C HamanoAug 15, 2024
  79. Patrick SteinhardtAug 16, 2024
  80. 0/9 Introduce clar testing frameworkPatrick Steinhardt, Aug 16, 2024
  81. 5/9 Makefile: make hdr-check depend on generated headersPatrick Steinhardt, Aug 16, 2024
  82. 4/9 Makefile: fix sparse dependency on GENERATED_HPatrick Steinhardt, Aug 16, 2024
  83. 1/9 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Aug 16, 2024
  84. 8/9 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Aug 16, 2024
  85. Phillip WoodAug 16, 2024
  86. Junio C HamanoAug 16, 2024
  87. Patrick SteinhardtAug 20, 2024
  88. 9/9 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Aug 16, 2024
  89. Phillip WoodAug 16, 2024
  90. Patrick SteinhardtAug 20, 2024
  91. Junio C HamanoAug 18, 2024
  92. 2/9 t: import the clar unit testing frameworkPatrick Steinhardt, Aug 16, 2024
  93. Phillip WoodAug 16, 2024
  94. Johannes SchindelinAug 23, 2024
  95. Phillip WoodAug 28, 2024
  96. Junio C HamanoAug 19, 2024
  97. rsbecker@nexbridge.comAug 19, 2024
  98. Junio C HamanoAug 19, 2024
  99. rsbecker@nexbridge.comAug 19, 2024
  100. Patrick SteinhardtAug 20, 2024
  101. 6/9 Makefile: do not use sparse on third-party sourcesPatrick Steinhardt, Aug 16, 2024
  102. 7/9 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Aug 16, 2024
  103. 3/9 t/clar: fix compatibility with NonStopPatrick Steinhardt, Aug 16, 2024
  104. Phillip WoodAug 16, 2024
  105. Patrick SteinhardtAug 20, 2024
  106. phillip.wood123@gmail.comAug 28, 2024
  107. 00/13 Introduce clar testing frameworkPatrick Steinhardt, Aug 20, 2024
  108. 01/13 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Aug 20, 2024
  109. 02/13 t: import the clar unit testing frameworkPatrick Steinhardt, Aug 20, 2024
  110. Phillip WoodAug 28, 2024
  111. Patrick SteinhardtSep 3, 2024
  112. 03/13 t/clar: fix compatibility with NonStopPatrick Steinhardt, Aug 20, 2024
  113. 04/13 clar: avoid compile error with mingw-w64Patrick Steinhardt, Aug 20, 2024
  114. 05/13 clar(win32): avoid compile error due to unused `fs_copy()`Patrick Steinhardt, Aug 20, 2024
  115. 06/13 clar: stop including `shellapi.h` unnecessarilyPatrick Steinhardt, Aug 20, 2024
  116. 07/13 Makefile: fix sparse dependency on GENERATED_HPatrick Steinhardt, Aug 20, 2024
  117. 08/13 Makefile: make hdr-check depend on generated headersPatrick Steinhardt, Aug 20, 2024
  118. 09/13 Makefile: do not use sparse on third-party sourcesPatrick Steinhardt, Aug 20, 2024
  119. 10/13 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Aug 20, 2024
  120. 11/13 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Aug 20, 2024
  121. Phillip WoodAug 28, 2024
  122. Patrick SteinhardtSep 3, 2024
  123. phillip.wood123@gmail.comSep 3, 2024
  124. Patrick SteinhardtSep 4, 2024
  125. phillip.wood123@gmail.comSep 4, 2024
  126. 12/13 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Aug 20, 2024
  127. Phillip WoodAug 28, 2024
  128. Patrick SteinhardtSep 3, 2024
  129. 13/13 clar: add CMake supportPatrick Steinhardt, Aug 20, 2024
  130. Phillip WoodAug 28, 2024
  131. Patrick SteinhardtAug 28, 2024
  132. phillip.wood123@gmail.comAug 28, 2024
  133. 00/14 Introduce clar testing frameworkPatrick Steinhardt, Sep 3, 2024
  134. 01/14 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Sep 3, 2024
  135. 02/14 t: import the clar unit testing frameworkPatrick Steinhardt, Sep 3, 2024
  136. Eric SunshineSep 3, 2024
  137. Patrick SteinhardtSep 4, 2024
  138. 03/14 t/clar: fix compatibility with NonStopPatrick Steinhardt, Sep 3, 2024
  139. 04/14 clar: avoid compile error with mingw-w64Patrick Steinhardt, Sep 3, 2024
  140. 05/14 clar(win32): avoid compile error due to unused `fs_copy()`Patrick Steinhardt, Sep 3, 2024
  141. 06/14 clar: stop including `shellapi.h` unnecessarilyPatrick Steinhardt, Sep 3, 2024
  142. 07/14 Makefile: fix sparse dependency on GENERATED_HPatrick Steinhardt, Sep 3, 2024
  143. 08/14 Makefile: make hdr-check depend on generated headersPatrick Steinhardt, Sep 3, 2024
  144. 09/14 Makefile: do not use sparse on third-party sourcesPatrick Steinhardt, Sep 3, 2024
  145. 10/14 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Sep 3, 2024
  146. 11/14 t/unit-tests: implement test driverPatrick Steinhardt, Sep 3, 2024
  147. Phillip WoodSep 4, 2024
  148. Patrick SteinhardtSep 4, 2024
  149. phillip.wood123@gmail.comSep 4, 2024
  150. 12/14 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Sep 3, 2024
  151. 13/14 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Sep 3, 2024
  152. 14/14 clar: add CMake supportPatrick Steinhardt, Sep 3, 2024
  153. Phillip WoodSep 4, 2024
  154. Patrick SteinhardtSep 4, 2024
  155. 00/14 Introduce clar testing frameworkPatrick Steinhardt, Sep 4, 2024
  156. 01/14 t: do not pass GIT_TEST_OPTS to unit tests with provePatrick Steinhardt, Sep 4, 2024
  157. 02/14 t: import the clar unit testing frameworkPatrick Steinhardt, Sep 4, 2024
  158. 03/14 t/clar: fix compatibility with NonStopPatrick Steinhardt, Sep 4, 2024
  159. 04/14 clar: avoid compile error with mingw-w64Patrick Steinhardt, Sep 4, 2024
  160. 05/14 clar(win32): avoid compile error due to unused `fs_copy()`Patrick Steinhardt, Sep 4, 2024
  161. 06/14 clar: stop including `shellapi.h` unnecessarilyPatrick Steinhardt, Sep 4, 2024
  162. 07/14 Makefile: fix sparse dependency on GENERATED_HPatrick Steinhardt, Sep 4, 2024
  163. 08/14 Makefile: make hdr-check depend on generated headersPatrick Steinhardt, Sep 4, 2024
  164. 09/14 Makefile: do not use sparse on third-party sourcesPatrick Steinhardt, Sep 4, 2024
  165. 10/14 Makefile: wire up the clar unit testing frameworkPatrick Steinhardt, Sep 4, 2024
  166. Junio C HamanoSep 9, 2024
  167. Patrick SteinhardtSep 10, 2024
  168. 11/14 t/unit-tests: implement test driverPatrick Steinhardt, Sep 4, 2024
  169. 12/14 t/unit-tests: convert strvec tests to use clarPatrick Steinhardt, Sep 4, 2024
  170. 13/14 t/unit-tests: convert ctype tests to use clarPatrick Steinhardt, Sep 4, 2024
  171. 14/14 clar: add CMake supportPatrick Steinhardt, Sep 4, 2024
  172. phillip.wood123@gmail.comSep 4, 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.