diff options
author | Richard W <garlicbready@googlemail.com> | 2017-08-01 13:50:41 (GMT) |
---|---|---|
committer | Richard W <garlicbready@googlemail.com> | 2017-08-01 13:50:41 (GMT) |
commit | 32c08e1fdfe73250e1c5a4bad5245c7c2539110a (patch) | |
tree | fc1496efb5570eae7ffcc2defe0941f1781141dc /test | |
parent | d3e643a3b7597bb176358dafb8c1717c84c22739 (diff) | |
parent | 82ab1dc920136d2fbc16db09c14f9c0435ccbc01 (diff) | |
download | SCons-32c08e1fdfe73250e1c5a4bad5245c7c2539110a.zip SCons-32c08e1fdfe73250e1c5a4bad5245c7c2539110a.tar.gz SCons-32c08e1fdfe73250e1c5a4bad5245c7c2539110a.tar.bz2 |
Merged scons/scons into default
Diffstat (limited to 'test')
-rw-r--r-- | test/MSVC/MSVC_UWP_APP.py | 53 |
1 files changed, 41 insertions, 12 deletions
diff --git a/test/MSVC/MSVC_UWP_APP.py b/test/MSVC/MSVC_UWP_APP.py index 2521ad6..c72c739 100644 --- a/test/MSVC/MSVC_UWP_APP.py +++ b/test/MSVC/MSVC_UWP_APP.py @@ -30,17 +30,21 @@ the desired effect. """ import TestSCons +import SCons.Tool.MSCommon.vc as msvc def AreVCStoreLibPathsInLIBPATH(output): + libpath = None + msvc_version = None lines = output.splitlines() for line in lines: if 'env[ENV][LIBPATH]=' in line: - idx_eq = line.find('=') - libpath = line[idx_eq + 1:] + libpath = line.split('=')[1] + elif 'env[MSVC_VERSION]=' in line: + msvc_version = line.split('=')[1] - if not libpath: - # Couldn't find the libpath in the output - return (False, False) + if not libpath or not msvc_version: + # Couldn't find the libpath or msvc version in the output + return (False, False, None) libpaths = libpath.lower().split(';') (vclibstore_path_present, vclibstorerefs_path_present) = (False, False) @@ -56,7 +60,7 @@ def AreVCStoreLibPathsInLIBPATH(output): elif r'vc\lib\store' in path: vclibstore_path_present = True - return (vclibstore_path_present, vclibstorerefs_path_present) + return (vclibstore_path_present, vclibstorerefs_path_present, msvc_version) _python_ = TestSCons._python_ @@ -77,22 +81,47 @@ else: env = Environment(tools=['default', 'msvc'], variables=help_vars) # Print the ENV LIBPATH to stdout print('env[ENV][LIBPATH]=%s' % env.get('ENV').get('LIBPATH')) +print('env[MSVC_VERSION]=%s' % env.get('MSVC_VERSION')) """) +installed_msvc_versions = msvc.cached_get_installed_vcs() +# MSVC guaranteed to be at least one version on the system or else skip_if_not_msvc() function +# would have skipped the test +greatest_msvc_version_on_system = installed_msvc_versions[0] +maj, min = msvc.msvc_version_to_maj_min(greatest_msvc_version_on_system) + +# We always use the greatest MSVC version installed on the system + +if maj < 14: + # Skip the test if MSVC version is less than VS2015 + test.skip_test("Available MSVC doesn't support App store ") + # Test setting MSVC_UWP_APP is '1' (True) test.run(arguments = "MSVC_UWP_APP=1") -(vclibstore_path_present, vclibstorerefs_path_present) = AreVCStoreLibPathsInLIBPATH(test.stdout()) -test.fail_test((vclibstore_path_present is False) or (vclibstorerefs_path_present is False)) +(vclibstore_path_present, vclibstorerefs_path_present, msvc_version) = AreVCStoreLibPathsInLIBPATH(test.stdout()) +test.fail_test(msvc_version != greatest_msvc_version_on_system, + message='MSVC_VERSION (%s) does not match expected greatest version on system (%s)' \ + % (msvc_version, greatest_msvc_version_on_system)) +test.fail_test((vclibstore_path_present is False) or (vclibstorerefs_path_present is False), + message='VC Store LIBPATHs NOT present when MSVC_UWP_APP=1 (msvc_version=%s)' % msvc_version) # Test setting MSVC_UWP_APP is '0' (False) test.run(arguments = "MSVC_UWP_APP=0") -(vclibstore_path_present, vclibstorerefs_path_present) = AreVCStoreLibPathsInLIBPATH(test.stdout()) -test.fail_test((vclibstore_path_present is True) or (vclibstorerefs_path_present is True)) +(vclibstore_path_present, vclibstorerefs_path_present, msvc_version) = AreVCStoreLibPathsInLIBPATH(test.stdout()) +test.fail_test(msvc_version != greatest_msvc_version_on_system, + message='MSVC_VERSION (%s) does not match expected greatest version on system (%s)' \ + % (msvc_version, greatest_msvc_version_on_system)) +test.fail_test((vclibstore_path_present is True) or (vclibstorerefs_path_present is True), + message='VC Store LIBPATHs present when MSVC_UWP_APP=0 (msvc_version=%s)' % msvc_version) # Test not setting MSVC_UWP_APP test.run(arguments = "") -(vclibstore_path_present, vclibstorerefs_path_present) = AreVCStoreLibPathsInLIBPATH(test.stdout()) -test.fail_test((vclibstore_path_present is True) or (vclibstorerefs_path_present is True)) +(vclibstore_path_present, vclibstorerefs_path_present, msvc_version) = AreVCStoreLibPathsInLIBPATH(test.stdout()) +test.fail_test(msvc_version != greatest_msvc_version_on_system, + message='MSVC_VERSION (%s) does not match expected greatest version on system (%s)' \ + % (msvc_version, greatest_msvc_version_on_system)) +test.fail_test((vclibstore_path_present is True) or (vclibstorerefs_path_present is True), + message='VC Store LIBPATHs present when MSVC_UWP_APP not set (msvc_version=%s)' % msvc_version) test.pass_test() |