From dbb72a370aa8117c7dee645b195664115a7b70ed Mon Sep 17 00:00:00 2001 From: Scott Kostyshak Date: Sun, 15 Nov 2020 17:40:02 -0500 Subject: [PATCH] ctests: fix race condition for parallel testing The unicode tests would often fail when tested in parallel because we were not exporting to unique file names. From what I understand, a variant similar to the following race condition occurred: 1. Thread A exports to file blah.pdf. 2. Thread B exports to file blah.pdf. 3. Thread A confirms file blah.pdf exists. 4. Thread A deletes exported file blah.pdf to clean up. 5. Thread B fails to find file blah.pdf and reports a failure. --- development/autotests/export.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/development/autotests/export.cmake b/development/autotests/export.cmake index d2a03565ff..1384800317 100755 --- a/development/autotests/export.cmake +++ b/development/autotests/export.cmake @@ -74,7 +74,9 @@ if(format MATCHES "dvi|pdf") if(NOT _erg) message(FATAL_ERROR "Export failed while converting") endif() - set(result_file_name ${file}_${_ft}.${extension}) + # We only need "_${ENCODING}" for unicode tests (because multiple encodings + # are tested with the same format), but doesn't hurt to include for all. + set(result_file_name ${file}_${_ft}_${ENCODING}.${extension}) else() message(STATUS "Converting with perl ${Perl_Script}") set(LYX_SOURCE "${TempDir}/${file}.lyx") -- 2.39.2