svn_test_main.c:1073 has a condition of the form:
/* just run all tests */
⋮
if (max_threads == 1 || !parallel)
{
⋮
}
#if APR_HAS_THREADS
else
{
⋮
}
#endif
max_threads is a value hard-coded in each individual foo-test.c file.
«parallel» should always be FALSE in unthreaded builds, but if for some
reason it were TRUE, the foo-test executable would silently exit 0
without running any tests, so how about this? —
[[[
* subversion/tests/svn_test_main.c
(svn_test_main): Add a safety net ensuring APR_HAS_THREADS-less builds
would fail, rather than pass silently, if they tried to take the
"Run tests concurrently" codepath (which try would be a bug).
]]]
[[[
Index: subversion/tests/svn_test_main.c
===================================================================
--- subversion/tests/svn_test_main.c (revision 1889073)
+++ subversion/tests/svn_test_main.c (working copy)
@@ -1089,9 +1089,9 @@ svn_test_main(int argc, const char *argv[], int ma
svn_pool_clear(cleanup_pool);
}
}
-#if APR_HAS_THREADS
else
{
+#if APR_HAS_THREADS
got_error = do_tests_concurrently(opts.prog_name, test_funcs,
array_size, max_threads,
&opts, test_pool);
@@ -1099,8 +1099,11 @@ svn_test_main(int argc, const char *argv[], int ma
/* Execute all cleanups */
svn_pool_clear(test_pool);
svn_pool_clear(cleanup_pool);
+#else
+ /* Can't happen */
+ SVN_ERR_MALFUNCTION();
+#endif
}
-#endif
}
/* Clean up APR */
]]]
Seems safe enough, but I don't have a threadless APR build handy to test
this with.
Cheers,
Daniel