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

[PATCH 14/25] progress.[ch]: move test-only code away from "extern" variables

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 23, 2021, 17:48 UTC
Message-ID
<patch-14.25-88d864c373a-20210623T155626Z-avarab@gmail.com>
In-Reply-To
<cover-00.25-00000000000-20210623T155626Z-avarab@gmail.com>

Since the test-only support code was added in 2bb74b53a49 (Test the progress display, 2019-09-16) we've had to define GIT_TEST_PROGRESS_ONLY more widely as part of the bugfix in 3cacb9aaf46 (progress.c: silence cgcc suggestion about internal linkage, 2020-04-27).

So the only thing we were getting out of this indirection was keeping GIT_TEST_PROGRESS_ONLY from being defined in progress.h itself, i.e. so the likes of csum-file.h wouldn't have access to them, we'd still compile them in progress.o.

Let's just always define and compile them without this needless slight of hand, the linking and strip step will take care of removing these unused symbols, if needed.

We now expose a start_progress_testing() function instead, which'll set a "test_mode" member, which the test of the code can check.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 progress.c               | 34 ++++++++++++++--------------------
 progress.h               | 21 ++++++++++++++-------
 t/helper/test-progress.c | 11 +++++------
 3 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/progress.c b/progress.c
index aff9af9ee8b..39d7f6bd86b 100644
--- a/progress.c
+++ b/progress.c
@@ -8,7 +8,6 @@
  * published by the Free Software Foundation.
  */
 
-#define GIT_TEST_PROGRESS_ONLY
 #include "cache.h"
 #include "gettext.h"
 #include "progress.h"
@@ -20,13 +19,6 @@
 static volatile sig_atomic_t progress_update;
 static struct progress *global_progress;
 
-/*
- * These are only intended for testing the progress output, i.e. exclusively
- * for 'test-tool progress'.
- */
-int progress_testing;
-uint64_t progress_test_ns = 0;
-
 static int is_foreground_fd(int fd)
 {
 	int tpgrp = tcgetpgrp(fd);
@@ -108,8 +100,8 @@ static void throughput_string(struct strbuf *buf, uint64_t total,
 
 static uint64_t progress_getnanotime(struct progress *progress)
 {
-	if (progress_testing)
-		return progress->start_ns + progress_test_ns;
+	if (progress->test_getnanotime)
+		return progress->start_ns + progress->test_getnanotime;
 	else
 		return getnanotime();
 }
@@ -185,11 +177,7 @@ static void progress_interval(int signum)
 	progress_update = 1;
 }
 
-/*
- * The progress_test_force_update() function is intended for testing
- * the progress output, i.e. exclusively for 'test-tool progress'.
- */
-void progress_test_force_update(void)
+void test_progress_force_update(void)
 {
 	progress_interval(SIGALRM);
 }
@@ -203,7 +191,7 @@ static void set_progress_signal(struct progress *progress)
 		BUG("should have no global_progress in set_progress_signal()");
 	global_progress = progress;
 
-	if (progress_testing)
+	if (progress->test_mode)
 		return;
 
 	progress_update = 0;
@@ -228,7 +216,7 @@ static void clear_progress_signal(struct progress *progress)
 		BUG("should have a global_progress in clear_progress_signal()");
 	global_progress = NULL;
 
-	if (progress_testing)
+	if (progress->test_mode)
 		return;
 
 	setitimer(ITIMER_REAL, &v, NULL);
@@ -237,7 +225,7 @@ static void clear_progress_signal(struct progress *progress)
 }
 
 static struct progress *start_progress_delay(const char *title, uint64_t total,
-					     unsigned delay)
+					     unsigned delay, int testing)
 {
 	struct progress *progress = xmalloc(sizeof(*progress));
 	progress->title = title;
@@ -250,11 +238,17 @@ static struct progress *start_progress_delay(const char *title, uint64_t total,
 	strbuf_init(&progress->counters_sb, 0);
 	progress->title_len = utf8_strwidth(title);
 	progress->split = 0;
+	progress->test_mode = testing;
 	set_progress_signal(progress);
 	trace2_region_enter("progress", title, the_repository);
 	return progress;
 }
 
+struct progress *start_progress_testing(const char *title, uint64_t total)
+{
+	return start_progress_delay(title, total, 0, 1);
+}
+
 static int get_default_delay(void)
 {
 	static int delay_in_secs = -1;
@@ -267,12 +261,12 @@ static int get_default_delay(void)
 
 struct progress *start_delayed_progress(const char *title, uint64_t total)
 {
-	return start_progress_delay(title, total, get_default_delay());
+	return start_progress_delay(title, total, get_default_delay(), 0);
 }
 
 struct progress *start_progress(const char *title, uint64_t total)
 {
-	return start_progress_delay(title, total, 0);
+	return start_progress_delay(title, total, 0, 0);
 }
 
 void stop_progress(struct progress **p_progress)
diff --git a/progress.h b/progress.h
index 4fb2b483d36..4693dddb6c5 100644
--- a/progress.h
+++ b/progress.h
@@ -27,15 +27,22 @@ struct progress {
 	struct strbuf counters_sb;
 	int title_len;
 	int split;
-};
-
-#ifdef GIT_TEST_PROGRESS_ONLY
 
-extern int progress_testing;
-extern uint64_t progress_test_ns;
-void progress_test_force_update(void);
+	/*
+	 * The test_* members are are only intended for testing the
+	 * progress output, i.e. exclusively for 'test-tool progress'.
+	 */
+	int test_mode;
+	uint64_t test_getnanotime;
+};
 
-#endif
+/*
+ * *_testing() functions are only for use in
+ * t/helper/test-progress.c. Do not use them elsewhere!
+ */
+void test_progress_force_update(void);
+struct progress *start_progress_testing(const char *title, uint64_t total);
+void test_progress_setnanotime(struct progress *progress, uint64_t time);
 
 void display_throughput(struct progress *progress, uint64_t total);
 void display_progress(struct progress *progress, uint64_t n);
diff --git a/t/helper/test-progress.c b/t/helper/test-progress.c
index 7ca58a3ee78..40dbacb0557 100644
--- a/t/helper/test-progress.c
+++ b/t/helper/test-progress.c
@@ -46,21 +46,20 @@ int cmd__progress(int argc, const char **argv)
 	if (argc)
 		usage_with_options(usage, options);
 
-	progress_testing = 1;
 	while (strbuf_getline(&line, stdin) != EOF) {
 		char *end;
 
 		if (!strcmp(line.buf, "start")) {
-			progress = start_progress(default_title, 0);
+			progress = start_progress_testing(default_title, 0);
 		} else if (skip_prefix(line.buf, "start ", (const char **) &end)) {
 			uint64_t total = strtoull(end, &end, 10);
 			if (*end == '\0') {
-				progress = start_progress(default_title, total);
+				progress = start_progress_testing(default_title, total);
 			} else if (*end == ' ') {
 				if (detached_title)
 					free(detached_title);
 				detached_title = strbuf_detach(&line, NULL);
-				progress = start_progress(end + 1, total);
+				progress = start_progress_testing(end + 1, total);
 			} else {
 				die("invalid input: '%s'\n", line.buf);
 			}
@@ -79,11 +78,11 @@ int cmd__progress(int argc, const char **argv)
 			test_ms = strtoull(end + 1, &end, 10);
 			if (*end != '\0')
 				die("invalid input: '%s'\n", line.buf);
-			progress_test_ns = test_ms * 1000 * 1000;
+			progress->test_getnanotime = test_ms * 1000 * 1000;
 			display_throughput(progress, byte_count);
 		} else if (!strcmp(line.buf, "update") ||
 			   !strcmp(line.buf, "signal")) {
-			progress_test_force_update();
+			test_progress_force_update();
 		} else if (!strcmp(line.buf, "stop")) {
 			stop_progress(&progress);
 		} else {
-- 
2.32.0.599.g3967b4fa4ac
Previous: SZEDER GáborNext: Ævar Arnfjörð Bjarmason
Message 47 of 197 in “progress: verify progress counters in the test suite”
  1. 0/7 progress: verify progress counters in the test suiteSZEDER Gábor, Jun 20, 2021
  2. 1/7 progress: introduce GIT_TEST_CHECK_PROGRESS to verify progress countersSZEDER Gábor, Jun 20, 2021
  3. Ævar Arnfjörð BjarmasonJun 21, 2021
  4. Taylor BlauJun 22, 2021
  5. 2/7 progress: catch nested/overlapping progresses with GIT_TEST_CHECK_PROGRESSSZEDER Gábor, Jun 20, 2021
  6. Taylor BlauJun 22, 2021
  7. SZEDER GáborAug 30, 2021
  8. 3/7 progress: catch backwards counting with GIT_TEST_CHECK_PROGRESSSZEDER Gábor, Jun 20, 2021
  9. 4/7 commit-graph: fix bogus counter in "Scanning merged commits" progress lineSZEDER Gábor, Jun 20, 2021
  10. Ævar Arnfjörð BjarmasonJun 20, 2021
  11. René ScharfeJun 21, 2021
  12. Ævar Arnfjörð BjarmasonJun 21, 2021
  13. René ScharfeJun 26, 2021
  14. Ævar Arnfjörð BjarmasonJun 26, 2021
  15. René ScharfeJun 26, 2021
  16. Ævar Arnfjörð BjarmasonJun 26, 2021
  17. René ScharfeJul 4, 2021
  18. Junio C HamanoJul 5, 2021
  19. Ævar Arnfjörð BjarmasonJul 5, 2021
  20. René ScharfeJul 6, 2021
  21. Felipe ContrerasJun 27, 2021
  22. 5/7 entry: show finer-grained counter in "Filtering content" progress lineSZEDER Gábor, Jun 20, 2021
  23. 6/7 [RFC] entry: don't show "Filtering content: ... done." line in case of errorsSZEDER Gábor, Jun 20, 2021
  24. René ScharfeJun 21, 2021
  25. Taylor BlauJun 23, 2021
  26. SZEDER GáborAug 30, 2021
  27. 7/7 test-lib: enable GIT_TEST_CHECK_PROGRESS by defaultSZEDER Gábor, Jun 20, 2021
  28. Ævar Arnfjörð BjarmasonJun 21, 2021
  29. Taylor BlauJun 23, 2021
  30. 00/25 progress.c: various fixes + SZEDER's RFC codeÆvar Arnfjörð Bjarmason, Jun 23, 2021
  31. 01/25 progress.c tests: fix breakage with COLUMNS != 80Ævar Arnfjörð Bjarmason, Jun 23, 2021
  32. 05/25 progress.c: move signal handler functions lowerÆvar Arnfjörð Bjarmason, Jun 23, 2021
  33. 02/25 progress.c tests: make start/stop verbs on stdinÆvar Arnfjörð Bjarmason, Jun 23, 2021
  34. 03/25 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Jun 23, 2021
  35. 04/25 progress.c tests: add a "signal" verbÆvar Arnfjörð Bjarmason, Jun 23, 2021
  36. 07/25 progress.c: stop eagerly fflush(stderr) when not a terminalÆvar Arnfjörð Bjarmason, Jun 23, 2021
  37. 06/25 progress.c: call progress_interval() from progress_test_force_update()Ævar Arnfjörð Bjarmason, Jun 23, 2021
  38. 08/25 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Jun 23, 2021
  39. 09/25 midx perf: add a perf test for multi-pack-indexÆvar Arnfjörð Bjarmason, Jun 23, 2021
  40. 10/25 progress.c: remove the "sparse" mode nano-optimizationÆvar Arnfjörð Bjarmason, Jun 23, 2021
  41. 11/25 pack-bitmap-write.c: add a missing stop_progress()Ævar Arnfjörð Bjarmason, Jun 23, 2021
  42. SZEDER GáborSep 17, 2021
  43. Ævar Arnfjörð BjarmasonSep 17, 2021
  44. SZEDER GáborSep 17, 2021
  45. 12/25 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Jun 23, 2021
  46. SZEDER GáborSep 16, 2021
  47. 14/25 progress.[ch]: move test-only code away from "extern" variablesÆvar Arnfjörð Bjarmason, Jun 23, 2021
  48. 13/25 progress.[ch]: move the "struct progress" to the headerÆvar Arnfjörð Bjarmason, Jun 23, 2021
  49. SZEDER GáborSep 16, 2021
  50. 16/25 progress.[ch]: convert "title" to "struct strbuf"Ævar Arnfjörð Bjarmason, Jun 23, 2021
  51. 17/25 progress.c: refactor display() for less confusion, and fix bugÆvar Arnfjörð Bjarmason, Jun 23, 2021
  52. 15/25 progress.c: pass "is done?" (again) to display()Ævar Arnfjörð Bjarmason, Jun 23, 2021
  53. 18/25 progress.c: emit progress on first signal, show "stalled"Ævar Arnfjörð Bjarmason, Jun 23, 2021
  54. SZEDER GáborSep 16, 2021
  55. 20/25 midx: don't provide a total for QSORT() progressÆvar Arnfjörð Bjarmason, Jun 23, 2021
  56. 19/25 commit-graph: fix bogus counter in "Scanning merged commits" progress lineÆvar Arnfjörð Bjarmason, Jun 23, 2021
  57. 22/25 progress.c: add a stop_progress_early() functionÆvar Arnfjörð Bjarmason, Jun 23, 2021
  58. Ævar Arnfjörð BjarmasonJun 24, 2021
  59. Andrei RybakJun 25, 2021
  60. 21/25 entry: show finer-grained counter in "Filtering content" progress lineÆvar Arnfjörð Bjarmason, Jun 23, 2021
  61. 23/25 entry: deal with unexpected "Filtering content" totalÆvar Arnfjörð Bjarmason, Jun 23, 2021
  62. 24/25 progress: assert last update in stop_progress()Ævar Arnfjörð Bjarmason, Jun 23, 2021
  63. 25/25 progress: assert counting upwards in display()Ævar Arnfjörð Bjarmason, Jun 23, 2021
  64. Randall S. BeckerJun 23, 2021
  65. Ævar Arnfjörð BjarmasonJun 23, 2021
  66. Randall S. BeckerJun 23, 2021
  67. 0/4 WIP/POC check isatty(2)-protected progress linesSZEDER Gábor, Jun 23, 2021
  68. 1/4 WIP progress, isatty(2), hidden progress lnies for GIT_TEST_CHECK_PROGRESSSZEDER Gábor, Jun 23, 2021
  69. 2/4 blame: fix progress total with line rangesSZEDER Gábor, Jun 23, 2021
  70. 3/4 read-cache: avoid overlapping progress linesSZEDER Gábor, Jun 23, 2021
  71. 4/4 preload-index: fix "Refreshing index" progress lineSZEDER Gábor, Jun 23, 2021
  72. SZEDER GáborJun 23, 2021
  73. Ævar Arnfjörð BjarmasonJun 24, 2021
  74. Ævar Arnfjörð BjarmasonJun 24, 2021
  75. 0/3 progress.c API users: fix bogus countingÆvar Arnfjörð Bjarmason, Jul 22, 2021
  76. 1/3 commit-graph: fix bogus counter in "Scanning merged commits" progress lineÆvar Arnfjörð Bjarmason, Jul 22, 2021
  77. Junio C HamanoJul 23, 2021
  78. SZEDER GáborAug 2, 2021
  79. 2/3 midx: don't provide a total for QSORT() progressÆvar Arnfjörð Bjarmason, Jul 22, 2021
  80. Junio C HamanoJul 23, 2021
  81. Phillip WoodAug 5, 2021
  82. Ævar Arnfjörð BjarmasonAug 5, 2021
  83. 3/3 entry: show finer-grained counter in "Filtering content" progress lineÆvar Arnfjörð Bjarmason, Jul 22, 2021
  84. Junio C HamanoJul 23, 2021
  85. SZEDER GáborAug 2, 2021
  86. SZEDER GáborAug 2, 2021
  87. 0/3 progress.c API users: fix bogus countingÆvar Arnfjörð Bjarmason, Aug 5, 2021
  88. 1/3 commit-graph: fix bogus counter in "Scanning merged commits" progress lineÆvar Arnfjörð Bjarmason, Aug 5, 2021
  89. 2/3 midx: don't provide a total for QSORT() progressÆvar Arnfjörð Bjarmason, Aug 5, 2021
  90. 3/3 entry: show finer-grained counter in "Filtering content" progress lineÆvar Arnfjörð Bjarmason, Aug 5, 2021
  91. 0/2 progress.c API users: fix bogus countingÆvar Arnfjörð Bjarmason, Aug 23, 2021
  92. 1/2 commit-graph: fix bogus counter in "Scanning merged commits" progress lineÆvar Arnfjörð Bjarmason, Aug 23, 2021
  93. 2/2 entry: show finer-grained counter in "Filtering content" progress lineÆvar Arnfjörð Bjarmason, Aug 23, 2021
  94. 0/2 progress.c API users: fix bogus countingÆvar Arnfjörð Bjarmason, Sep 9, 2021
  95. 1/2 commit-graph: fix bogus counter in "Scanning merged commits" progress lineÆvar Arnfjörð Bjarmason, Sep 9, 2021
  96. 2/2 entry: show finer-grained counter in "Filtering content" progress lineÆvar Arnfjörð Bjarmason, Sep 9, 2021
  97. Junio C HamanoSep 9, 2021
  98. 0/8 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Jul 22, 2021
  99. 1/8 progress.c tests: make start/stop verbs on stdinÆvar Arnfjörð Bjarmason, Jul 22, 2021
  100. 2/8 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Jul 22, 2021
  101. 3/8 progress.c: move signal handler functions lowerÆvar Arnfjörð Bjarmason, Jul 22, 2021
  102. 5/8 progress.c: stop eagerly fflush(stderr) when not a terminalÆvar Arnfjörð Bjarmason, Jul 22, 2021
  103. 4/8 progress.c: call progress_interval() from progress_test_force_update()Ævar Arnfjörð Bjarmason, Jul 22, 2021
  104. 6/8 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Jul 22, 2021
  105. 7/8 pack-bitmap-write.c: add a missing stop_progress()Ævar Arnfjörð Bjarmason, Jul 22, 2021
  106. 8/8 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Jul 22, 2021
  107. Ævar Arnfjörð BjarmasonSep 16, 2021
  108. Junio C HamanoJul 23, 2021
  109. 0/8 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Sep 20, 2021
  110. 1/8 progress.c tests: make start/stop verbs on stdinÆvar Arnfjörð Bjarmason, Sep 20, 2021
  111. Emily ShafferOct 8, 2021
  112. 2/8 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Sep 20, 2021
  113. Emily ShafferOct 8, 2021
  114. 4/8 progress.c: call progress_interval() from progress_test_force_update()Ævar Arnfjörð Bjarmason, Sep 20, 2021
  115. 3/8 progress.c: move signal handler functions lowerÆvar Arnfjörð Bjarmason, Sep 20, 2021
  116. 6/8 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Sep 20, 2021
  117. Emily ShafferOct 8, 2021
  118. 7/8 pack-bitmap-write.c: add a missing stop_progress()Ævar Arnfjörð Bjarmason, Sep 20, 2021
  119. Emily ShafferOct 8, 2021
  120. Ævar Arnfjörð BjarmasonOct 8, 2021
  121. SZEDER GáborOct 10, 2021
  122. 5/8 progress.c: stop eagerly fflush(stderr) when not a terminalÆvar Arnfjörð Bjarmason, Sep 20, 2021
  123. Emily ShafferOct 8, 2021
  124. Ævar Arnfjörð BjarmasonOct 8, 2021
  125. 8/8 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Sep 20, 2021
  126. Emily ShafferOct 8, 2021
  127. Ævar Arnfjörð BjarmasonOct 8, 2021
  128. 00/10 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Oct 13, 2021
  129. 01/10 leak tests: fix a memory leaks in "test-progress" helperÆvar Arnfjörð Bjarmason, Oct 13, 2021
  130. 02/10 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Oct 13, 2021
  131. 03/10 progress.c tests: make start/stop verbs on stdinÆvar Arnfjörð Bjarmason, Oct 13, 2021
  132. SZEDER GáborOct 21, 2021
  133. Ævar Arnfjörð BjarmasonOct 22, 2021
  134. Taylor BlauOct 22, 2021
  135. SZEDER GáborOct 24, 2021
  136. Emily ShafferOct 22, 2021
  137. 04/10 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Oct 13, 2021
  138. 05/10 progress.c: move signal handler functions lowerÆvar Arnfjörð Bjarmason, Oct 13, 2021
  139. 06/10 progress.c: call progress_interval() from progress_test_force_update()Ævar Arnfjörð Bjarmason, Oct 13, 2021
  140. Taylor BlauOct 22, 2021
  141. 07/10 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Oct 13, 2021
  142. Taylor BlauOct 22, 2021
  143. 08/10 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Oct 13, 2021
  144. Emily ShafferOct 22, 2021
  145. Taylor BlauOct 22, 2021
  146. 09/10 various *.c: use isatty(1|2), not isatty(STDIN_FILENO|STDERR_FILENO)Ævar Arnfjörð Bjarmason, Oct 13, 2021
  147. Emily ShafferOct 22, 2021
  148. 10/10 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Oct 13, 2021
  149. Emily ShafferOct 22, 2021
  150. SZEDER GáborOct 25, 2021
  151. Junio C HamanoOct 25, 2021
  152. SZEDER GáborDec 2, 2021
  153. Ævar Arnfjörð BjarmasonDec 3, 2021
  154. Ævar Arnfjörð BjarmasonOct 25, 2021
  155. Emily ShafferOct 22, 2021
  156. Ævar Arnfjörð BjarmasonOct 22, 2021
  157. 0/8 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Oct 25, 2021
  158. 1/8 leak tests: fix a memory leaks in "test-progress" helperÆvar Arnfjörð Bjarmason, Oct 25, 2021
  159. 2/8 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Oct 25, 2021
  160. 3/8 progress.c tests: make start/stop commands on stdinÆvar Arnfjörð Bjarmason, Oct 25, 2021
  161. 4/8 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Oct 25, 2021
  162. 6/8 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Oct 25, 2021
  163. 5/8 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Oct 25, 2021
  164. 7/8 various *.c: use isatty(1|2), not isatty(STDIN_FILENO|STDERR_FILENO)Ævar Arnfjörð Bjarmason, Oct 25, 2021
  165. 8/8 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Oct 25, 2021
  166. Johannes SixtOct 25, 2021
  167. Ævar Arnfjörð BjarmasonOct 25, 2021
  168. 0/8 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Nov 1, 2021
  169. 1/8 leak tests: fix a memory leaks in "test-progress" helperÆvar Arnfjörð Bjarmason, Nov 1, 2021
  170. 2/8 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Nov 1, 2021
  171. 3/8 progress.c tests: make start/stop commands on stdinÆvar Arnfjörð Bjarmason, Nov 1, 2021
  172. 4/8 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Nov 1, 2021
  173. 5/8 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Nov 1, 2021
  174. 6/8 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Nov 1, 2021
  175. 8/8 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Nov 1, 2021
  176. 7/8 various *.c: use isatty(1|2), not isatty(STDIN_FILENO|STDERR_FILENO)Ævar Arnfjörð Bjarmason, Nov 1, 2021
  177. Carlo ArenasNov 2, 2021
  178. 0/8 progress: assert "global_progress" + test fixes / cleanupÆvar Arnfjörð Bjarmason, Nov 2, 2021
  179. 1/8 leak tests: fix a memory leaks in "test-progress" helperÆvar Arnfjörð Bjarmason, Nov 2, 2021
  180. 2/8 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Nov 2, 2021
  181. 3/8 progress.c tests: make start/stop commands on stdinÆvar Arnfjörð Bjarmason, Nov 2, 2021
  182. 4/8 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Nov 2, 2021
  183. 5/8 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Nov 2, 2021
  184. 6/8 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Nov 2, 2021
  185. 7/8 various *.c: use isatty(0|2), not isatty(STDIN_FILENO|STDERR_FILENO)Ævar Arnfjörð Bjarmason, Nov 2, 2021
  186. 8/8 progress.c: add & assert a "global_progress" variableÆvar Arnfjörð Bjarmason, Nov 2, 2021
  187. 0/9 progress: test fixes / cleanupÆvar Arnfjörð Bjarmason, Feb 3, 2022
  188. 1/9 leak tests: fix a memory leak in "test-progress" helperÆvar Arnfjörð Bjarmason, Feb 3, 2022
  189. 2/9 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Feb 3, 2022
  190. 4/9 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Feb 3, 2022
  191. 8/9 progress API: unify stop_progress{,_msg}(), fix trace2 bugÆvar Arnfjörð Bjarmason, Feb 3, 2022
  192. 9/9 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Feb 3, 2022
  193. 3/9 progress.c tests: make start/stop commands on stdinÆvar Arnfjörð Bjarmason, Feb 3, 2022
  194. 5/9 progress.h: format and be consistent with progress.c namingÆvar Arnfjörð Bjarmason, Feb 3, 2022
  195. 7/9 progress.c: refactor stop_progress{,_msg}() to use helpersÆvar Arnfjörð Bjarmason, Feb 3, 2022
  196. 6/9 progress.c: use dereferenced "progress" variable, not "(*p_progress)"Ævar Arnfjörð Bjarmason, Feb 3, 2022
  197. Junio C HamanoFeb 3, 2022

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.