diff --git a/test/Makefile b/test/Makefile index 23c94e6..cd04acb 100644 --- a/test/Makefile +++ b/test/Makefile @@ -74,22 +74,24 @@ define run_parallel $(SETARCH) ./$(1) --gtest_color=yes > $(1)_shard_$$i.log 2>&1 & \ pids="$$pids $$!"; \ done; \ - rc=0; \ + exits=""; \ for pid in $$pids; do \ - if ! wait $$pid; then rc=1; fi; \ + wait $$pid; exits="$$exits $$?"; \ done; \ - for i in $$(seq 0 $$(($(SHARDS) - 1))); do \ + i=0; \ + for ec in $$exits; do \ log=$(1)_shard_$$i.log; \ - if grep -q "\[ PASSED \]" $$log && ! grep -q "\[ FAILED \]" $$log; then \ + if grep -q "\[ PASSED \]" $$log && ! grep -q "\[ FAILED \]" $$log && [ $$ec -eq 0 ]; then \ passed=$$(grep "\[ PASSED \]" $$log); \ echo "Shard $$i: $$passed"; \ else \ - echo "=== Shard $$i FAILED ==="; \ + echo "=== Shard $$i FAILED (exit=$$ec) ==="; \ cat $$log; \ fail=1; \ fi; \ + i=$$((i+1)); \ done; \ - if [ $$fail -ne 0 ] || [ $$rc -ne 0 ]; then exit 1; fi; \ + if [ $$fail -ne 0 ]; then exit 1; fi; \ echo "All shards passed." endef diff --git a/test/test.cc b/test/test.cc index 204c524..c708e79 100644 --- a/test/test.cc +++ b/test/test.cc @@ -12276,7 +12276,7 @@ TEST(MultipartFormDataTest, ManyItemsEndToEnd) { TEST(MultipartFormDataTest, MakeFileProvider) { // Verify make_file_provider sends a file's contents correctly. const std::string file_content(4096, 'Z'); - const std::string tmp_path = "/tmp/httplib_test_make_file_provider.bin"; + const std::string tmp_path = "./httplib_test_make_file_provider.bin"; { std::ofstream ofs(tmp_path, std::ios::binary); ofs.write(file_content.data(), @@ -12331,7 +12331,7 @@ TEST(MultipartFormDataTest, MakeFileProvider) { TEST(MakeFileBodyTest, Basic) { const std::string file_content(4096, 'Z'); - const std::string tmp_path = "/tmp/httplib_test_make_file_body.bin"; + const std::string tmp_path = "./httplib_test_make_file_body.bin"; { std::ofstream ofs(tmp_path, std::ios::binary); ofs.write(file_content.data(),