Add delays to test for timestamp issues on mac.
@@ -3328,6 +3328,15 @@ int main(int argc, char **argv) {
self.setconf("-Dfree_array_opt=['a,b', 'c,d']", will_build=False)
self.opt_has('free_array_opt', ['a,b', 'c,d'])
+ # When running under Travis Mac CI, the file updates seem to happen
+ # too fast so the timestamps do not get properly updated.
+ # Call this method before file operations in appropriate places
+ # to make things work.
+ def mac_ci_delay(self):
+ if is_osx() and is_ci():
+ import time
+ time.sleep(1)
+
def test_options_with_choices_changing(self) -> None:
"""Detect when options like arrays or combos have their choices change."""
testdir = Path(os.path.join(self.unit_test_dir, '84 change option choices'))
@@ -3340,6 +3349,7 @@ int main(int argc, char **argv) {
shutil.copy(options1, real_options)
self.init(str(testdir))
+ self.mac_ci_delay()
shutil.copy(options2, real_options)
self.build()
@@ -3353,10 +3363,12 @@ int main(int argc, char **argv) {
self.assertEqual(item['choices'], ['b', 'c', 'd'])
self.wipe()
+ self.mac_ci_delay()
# When the old options are valid they should remain
shutil.copy(options1, real_options)
self.init(str(testdir), extra_args=['-Dcombo=c', '-Darray=b,c'])
+ self.mac_ci_delay()
shutil.copy(options2, real_options)
self.build()
opts = self.introspect('--buildoptions')
