The archive update test has a subtle race condition in it: if the test
authorChandler Carruth <chandlerc@gmail.com>
Sun, 14 Jul 2013 10:46:51 +0000 (10:46 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 14 Jul 2013 10:46:51 +0000 (10:46 +0000)
commit3c0e8fbd4e3cc9bfed973e5ec46599bea824ee3d
treed1f7e641e47960770d60c84829b6385bfafd10cc
parent8b2b8a18354546d534b72f912153a3252ab4b857
The archive update test has a subtle race condition in it: if the test
is executed within the same second as the inputs for the test are
checked out from the source tree, it will fail to update due to being
below the resolution of the 'mtime' test used.

Now, this may seem improbably to you... ok, maybe *really* improbable,
but consider a system which does distributed execution of tests by
shipping their inputs to another machine and runs them. That might cause
the mtime to be quite recent during the test run. ;]

Instead, create two files directly in the test (allowing all platforms
to see the problem) and add either a use of the 'touch' command that
forces one mtime to some time quite a bit in the past, or it sleeps for
just over a second to be outside of the precision window.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186282 91177308-0d34-0410-b5e6-96231b3b80d8
test/Object/archive-update.test