]> git.lyx.org Git - features.git/commitdiff
ctests: fix race condition for parallel testing
authorScott Kostyshak <skostysh@lyx.org>
Sun, 15 Nov 2020 22:40:02 +0000 (17:40 -0500)
committerScott Kostyshak <skostysh@lyx.org>
Sun, 15 Nov 2020 22:40:02 +0000 (17:40 -0500)
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

index d2a03565ff296b99239f0b4dce13dd34eed25511..13848003176f1aee765c3305c11ac72e69f1193f 100755 (executable)
@@ -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")