Merge pull request #897 from centricular/fix-unittest-intermittent-failure

Fix PIC unittest failure and make it more useful
pull/898/head
Jussi Pakkanen 9 years ago committed by GitHub
commit cb21c72ac8
  1. 6
      meson.py
  2. 12
      run_unittests.py

@ -18,10 +18,8 @@ from mesonbuild import mesonmain
import sys, os
def main():
launcher = sys.argv[0]
# resolve the command path if not launched from $PATH
if os.path.split(launcher)[0]:
launcher = os.path.realpath(launcher)
# Always resolve the command path so Ninja can find it for regen, tests, etc.
launcher = os.path.realpath(sys.argv[0])
return mesonmain.run(launcher, sys.argv[1:])
if __name__ == '__main__':

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import unittest, os, sys, shutil
import unittest, os, sys, shutil, time
import subprocess
import re, json
import tempfile
@ -77,9 +77,15 @@ class LinuxlikeTests(unittest.TestCase):
self.init(testdir)
compdb = self.get_compdb()
self.assertTrue('-fPIC' in compdb[0]['command'])
self.setconf('-Db_staticpic=true')
# This is needed to increase the difference between build.ninja's
# timestamp and coredata.dat's timestamp due to a Ninja bug.
# https://github.com/ninja-build/ninja/issues/371
time.sleep(1)
self.setconf('-Db_staticpic=false')
# Regenerate build
self.build()
self.assertFalse('-fPIC' not in compdb[0]['command'])
compdb = self.get_compdb()
self.assertTrue('-fPIC' not in compdb[0]['command'])
if __name__ == '__main__':
unittest.main()

Loading…
Cancel
Save