当前位置: 首页>>代码示例>>Python>>正文


Python mesonlib.is_windows函数代码示例

本文整理汇总了Python中mesonbuild.mesonlib.is_windows函数的典型用法代码示例。如果您正苦于以下问题:Python is_windows函数的具体用法?Python is_windows怎么用?Python is_windows使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了is_windows函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: detect_tests_to_run

def detect_tests_to_run():
    # Name, subdirectory, skip condition.
    all_tests = [
        ('common', 'common', False),
        ('failing-meson', 'failing', False),
        ('failing-build', 'failing build', False),
        ('failing-tests', 'failing tests', False),

        ('platform-osx', 'osx', not mesonlib.is_osx()),
        ('platform-windows', 'windows', not mesonlib.is_windows() and not mesonlib.is_cygwin()),
        ('platform-linux', 'linuxlike', mesonlib.is_osx() or mesonlib.is_windows()),

        ('java', 'java', backend is not Backend.ninja or mesonlib.is_osx() or not have_java()),
        ('C#', 'csharp', skip_csharp(backend)),
        ('vala', 'vala', backend is not Backend.ninja or not shutil.which('valac')),
        ('rust', 'rust', backend is not Backend.ninja or not shutil.which('rustc')),
        ('d', 'd', backend is not Backend.ninja or not have_d_compiler()),
        ('objective c', 'objc', backend not in (Backend.ninja, Backend.xcode) or mesonlib.is_windows() or not have_objc_compiler()),
        ('objective c++', 'objcpp', backend not in (Backend.ninja, Backend.xcode) or mesonlib.is_windows() or not have_objcpp_compiler()),
        ('fortran', 'fortran', backend is not Backend.ninja or not shutil.which('gfortran')),
        ('swift', 'swift', backend not in (Backend.ninja, Backend.xcode) or not shutil.which('swiftc')),
        ('python3', 'python3', backend is not Backend.ninja),
        ('fpga', 'fpga', shutil.which('yosys') is None),
        ('frameworks', 'frameworks', False),
    ]
    gathered_tests = [(name, gather_tests('test cases/' + subdir), skip) for name, subdir, skip in all_tests]
    return gathered_tests
开发者ID:textshell,项目名称:meson,代码行数:27,代码来源:run_project_tests.py

示例2: detect_tests_to_run

def detect_tests_to_run():
    # Name, subdirectory, skip condition.
    all_tests = [
        ('common', 'common', False),
        ('failing-meson', 'failing', False),
        ('failing-build', 'failing build', False),
        ('failing-tests', 'failing tests', False),

        ('platform-osx', 'osx', not mesonlib.is_osx()),
        ('platform-windows', 'windows', not mesonlib.is_windows() and not mesonlib.is_cygwin()),
        ('platform-linux', 'linuxlike', mesonlib.is_osx() or mesonlib.is_windows()),

        ('java', 'java', backend is not Backend.ninja or mesonlib.is_osx() or not have_java()),
        ('C#', 'csharp', backend is not Backend.ninja or not shutil.which('mcs')),
        ('vala', 'vala', backend is not Backend.ninja or not shutil.which('valac')),
        ('rust', 'rust', backend is not Backend.ninja or not shutil.which('rustc')),
        ('d', 'd', backend is not Backend.ninja or not have_d_compiler()),
        ('objective c', 'objc', backend not in (Backend.ninja, Backend.xcode) or mesonlib.is_windows() or not have_objc_compiler()),
        ('fortran', 'fortran', backend is not Backend.ninja or not shutil.which('gfortran')),
        ('swift', 'swift', backend not in (Backend.ninja, Backend.xcode) or not shutil.which('swiftc')),
        ('python3', 'python3', backend is not Backend.ninja),
    ]
    gathered_tests = [(name, gather_tests('test cases/' + subdir), skip) for name, subdir, skip in all_tests]
    if mesonlib.is_windows():
        # TODO: Set BOOST_ROOT in .appveyor.yml
        gathered_tests += [('framework', ['test cases/frameworks/1 boost'], 'BOOST_ROOT' not in os.environ)]
    elif mesonlib.is_osx() or mesonlib.is_cygwin():
        gathered_tests += [('framework', gather_tests('test cases/frameworks'), True)]
    else:
        gathered_tests += [('framework', gather_tests('test cases/frameworks'), False)]
    return gathered_tests
开发者ID:pombredanne,项目名称:meson,代码行数:31,代码来源:run_project_tests.py

示例3: platform_fix_exe_name

def platform_fix_exe_name(fname):
    if not fname.endswith('?exe'):
        return fname
    fname = fname[:-4]
    if mesonlib.is_windows():
        return fname + '.exe'
    return fname
开发者ID:vinszent,项目名称:meson,代码行数:7,代码来源:run_tests.py

示例4: test_meson_installed

 def test_meson_installed(self):
     # Install meson
     prefix = self.tmpdir / 'prefix'
     pylibdir = prefix / get_pypath()
     bindir = prefix / get_pybindir()
     pylibdir.mkdir(parents=True)
     os.environ['PYTHONPATH'] = str(pylibdir)
     os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
     self._run(python_command + ['setup.py', 'install', '--prefix', str(prefix)])
     # Check that all the files were installed correctly
     self.assertTrue(bindir.is_dir())
     self.assertTrue(pylibdir.is_dir())
     from setup import packages
     # Extract list of expected python module files
     expect = set()
     for pkg in packages:
         expect.update([p.as_posix() for p in Path(pkg.replace('.', '/')).glob('*.py')])
     # Check what was installed, only count files that are inside 'mesonbuild'
     have = set()
     for p in Path(pylibdir).glob('**/*.py'):
         s = p.as_posix()
         if 'mesonbuild' not in s:
             continue
         have.add(s[s.rfind('mesonbuild'):])
     self.assertEqual(have, expect)
     # Run `meson`
     os.chdir('/')
     resolved_meson_command = [str(bindir / 'meson')]
     builddir = str(self.tmpdir / 'build1')
     meson_setup = ['meson', 'setup']
     meson_command = meson_setup + self.meson_args
     stdo = self._run(meson_command + [self.testdir, builddir])
     self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
     # Run `/path/to/meson`
     builddir = str(self.tmpdir / 'build2')
     meson_setup = [str(bindir / 'meson'), 'setup']
     meson_command = meson_setup + self.meson_args
     stdo = self._run(meson_command + [self.testdir, builddir])
     self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
     # Run `python3 -m mesonbuild.mesonmain`
     resolved_meson_command = python_command + ['-m', 'mesonbuild.mesonmain']
     builddir = str(self.tmpdir / 'build3')
     meson_setup = ['-m', 'mesonbuild.mesonmain', 'setup']
     meson_command = python_command + meson_setup + self.meson_args
     stdo = self._run(meson_command + [self.testdir, builddir])
     self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
     if is_windows():
         # Next part requires a shell
         return
     # `meson` is a wrapper to `meson.real`
     resolved_meson_command = [str(bindir / 'meson.real')]
     builddir = str(self.tmpdir / 'build4')
     (bindir / 'meson').rename(bindir / 'meson.real')
     wrapper = (bindir / 'meson')
     wrapper.open('w').write('#!/bin/sh\n\nmeson.real "[email protected]"')
     wrapper.chmod(0o755)
     meson_setup = [str(wrapper), 'setup']
     meson_command = meson_setup + self.meson_args
     stdo = self._run(meson_command + [self.testdir, builddir])
     self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
开发者ID:MathieuDuponchelle,项目名称:meson,代码行数:60,代码来源:run_meson_command_tests.py

示例5: skippable

def skippable(suite, test):
    if not under_ci:
        return True

    if not suite.endswith('frameworks'):
        return True

    # gtk-doc test may be skipped, pending upstream fixes for spaces in
    # filenames landing in the distro used for CI
    if test.endswith('10 gtk-doc'):
        return True

    # No frameworks test should be skipped on linux CI, as we expect all
    # prerequisites to be installed
    if mesonlib.is_linux():
        return False

    # Boost test should only be skipped for windows CI build matrix entries
    # which don't define BOOST_ROOT
    if test.endswith('1 boost'):
        if mesonlib.is_windows():
            return 'BOOST_ROOT' not in os.environ
        return False

    # Other framework tests are allowed to be skipped on other platforms
    return True
开发者ID:textshell,项目名称:meson,代码行数:26,代码来源:run_project_tests.py

示例6: test_meson_zipapp

 def test_meson_zipapp(self):
     if is_windows():
         raise unittest.SkipTest('NOT IMPLEMENTED')
     source = Path(__file__).resolve().parent.as_posix()
     target = self.tmpdir / 'meson.pyz'
     zipapp.create_archive(source=source, target=target, interpreter=python_command[0], main=None)
     self._run([target.as_posix(), '--help'])
开发者ID:mesonbuild,项目名称:meson,代码行数:7,代码来源:run_meson_command_tests.py

示例7: platform_fix_name

def platform_fix_name(fname):
    if '?lib' in fname:
        if mesonlib.is_cygwin():
            fname = re.sub(r'\?lib(.*)\.dll$', r'cyg\1.dll', fname)
        else:
            fname = re.sub(r'\?lib', 'lib', fname)

    if fname.endswith('?exe'):
        fname = fname[:-4]
        if mesonlib.is_windows() or mesonlib.is_cygwin():
            return fname + '.exe'

    return fname
开发者ID:shuixi2013,项目名称:meson,代码行数:13,代码来源:run_project_tests.py

示例8: platform_fix_filename

def platform_fix_filename(fname):
    if mesonlib.is_osx():
        if fname.endswith('.so'):
            return fname[:-2] + 'dylib'
        return fname.replace('.so.', '.dylib.')
    elif mesonlib.is_windows():
        if fname.endswith('.so'):
            (p, f) = os.path.split(fname)
            f = f[3:-2] + 'dll'
            return os.path.join(p, f)
        if fname.endswith('.a'):
            return fname[:-1] + 'lib'
    return fname
开发者ID:ssssam,项目名称:meson,代码行数:13,代码来源:run_tests.py

示例9: main

def main():
    # Warn if the locale is not UTF-8. This can cause various unfixable issues
    # such as os.stat not being able to decode filenames with unicode in them.
    # There is no way to reset both the preferred encoding and the filesystem
    # encoding, so we can just warn about it.
    e = locale.getpreferredencoding()
    if e.upper() != 'UTF-8' and not mesonlib.is_windows():
        print('Warning: You are using {!r} which is not a a Unicode-compatible '
              'locale.'.format(e), file=sys.stderr)
        print('You might see errors if you use UTF-8 strings as '
              'filenames, as strings, or as file contents.', file=sys.stderr)
        print('Please switch to a UTF-8 locale for your platform.', file=sys.stderr)
    # Always resolve the command path so Ninja can find it for regen, tests, etc.
    launcher = os.path.realpath(sys.argv[0])
    return mesonmain.run(sys.argv[1:], launcher)
开发者ID:centricular,项目名称:meson,代码行数:15,代码来源:meson.py

示例10: detect_tests_to_run

def detect_tests_to_run():
    all_tests = []
    all_tests.append(('common', gather_tests('test cases/common'), False))
    all_tests.append(('failing', gather_tests('test cases/failing'), False))
    all_tests.append(('prebuilt object', gather_tests('test cases/prebuilt object'), False))

    all_tests.append(('platform-osx', gather_tests('test cases/osx'), False if mesonlib.is_osx() else True))
    all_tests.append(('platform-windows', gather_tests('test cases/windows'), False if mesonlib.is_windows() else True))
    all_tests.append(('platform-linux', gather_tests('test cases/linuxlike'), False if not (mesonlib.is_osx() or mesonlib.is_windows()) else True))
    all_tests.append(('framework', gather_tests('test cases/frameworks'), False if not mesonlib.is_osx() and not mesonlib.is_windows() else True))
    all_tests.append(('java', gather_tests('test cases/java'), False if not mesonlib.is_osx() and shutil.which('javac') else True))
    all_tests.append(('C#', gather_tests('test cases/csharp'), False if shutil.which('mcs') else True))
    all_tests.append(('vala', gather_tests('test cases/vala'), False if shutil.which('valac') else True))
    all_tests.append(('rust', gather_tests('test cases/rust'), False if shutil.which('rustc') else True))
    all_tests.append(('objective c', gather_tests('test cases/objc'), False if not mesonlib.is_windows() else True))
    all_tests.append(('fortran', gather_tests('test cases/fortran'), False if shutil.which('gfortran') else True))
    all_tests.append(('swift', gather_tests('test cases/swift'), False if shutil.which('swiftc') else True))
    return all_tests
开发者ID:lukeadams,项目名称:meson,代码行数:18,代码来源:run_tests.py

示例11: generate_prebuilt

def generate_prebuilt():
    static_suffix = 'a'
    if shutil.which('cl'):
        compiler = 'cl'
        static_suffix = 'lib'
    elif shutil.which('cc'):
        compiler = 'cc'
    elif shutil.which('gcc'):
        compiler = 'gcc'
    else:
        raise RuntimeError("Could not find C compiler.")
    if mesonlib.is_windows():
        object_suffix = 'obj'
    else:
        object_suffix = 'o'
    objectfile = generate_pb_object(compiler, object_suffix)
    stlibfile = generate_pb_static(compiler, object_suffix, static_suffix)
    return (objectfile, stlibfile)
开发者ID:vinszent,项目名称:meson,代码行数:18,代码来源:run_tests.py

示例12: generate_prebuilt_object

def generate_prebuilt_object():
    source = 'test cases/prebuilt object/1 basic/source.c'
    objectbase = 'test cases/prebuilt object/1 basic/prebuilt.'
    if shutil.which('cl'):
        objectfile = objectbase + 'obj'
        cmd = ['cl', '/nologo', '/Fo'+objectfile, '/c', source]
    else:
        if mesonlib.is_windows():
            objectfile = objectbase + 'obj'
        else:
            objectfile = objectbase + 'o'
        if shutil.which('cc'):
            cmd = 'cc'
        elif shutil.which('gcc'):
            cmd = 'gcc'
        else:
            raise RuntimeError("Could not find C compiler.")
        cmd = [cmd, '-c', source, '-o', objectfile]
    subprocess.check_call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
    return objectfile
开发者ID:ssssam,项目名称:meson,代码行数:20,代码来源:run_tests.py

示例13: guess_backend

def guess_backend(backend, msbuild_exe):
    # Auto-detect backend if unspecified
    backend_flags = []
    if backend is None:
        if msbuild_exe is not None and mesonlib.is_windows():
            backend = 'vs' # Meson will auto-detect VS version to use
        else:
            backend = 'ninja'
    # Set backend arguments for Meson
    if backend.startswith('vs'):
        backend_flags = ['--backend=' + backend]
        backend = Backend.vs
    elif backend == 'xcode':
        backend_flags = ['--backend=xcode']
        backend = Backend.xcode
    elif backend == 'ninja':
        backend_flags = ['--backend=ninja']
        backend = Backend.ninja
    else:
        raise RuntimeError('Unknown backend: {!r}'.format(backend))
    return (backend, backend_flags)
开发者ID:mesonbuild,项目名称:meson,代码行数:21,代码来源:run_tests.py

示例14: skippable

def skippable(suite, test):
    if not under_ci:
        return True

    if not suite.endswith('frameworks'):
        return True

    # gtk-doc test may be skipped, pending upstream fixes for spaces in
    # filenames landing in the distro used for CI
    if test.endswith('10 gtk-doc'):
        return True

    # NetCDF is not in the CI image
    if test.endswith('netcdf'):
        return True

    # MSVC doesn't link with GFortran
    if test.endswith('14 fortran links c'):
        return True

    # No frameworks test should be skipped on linux CI, as we expect all
    # prerequisites to be installed
    if mesonlib.is_linux():
        return False

    # Boost test should only be skipped for windows CI build matrix entries
    # which don't define BOOST_ROOT
    if test.endswith('1 boost'):
        if mesonlib.is_windows():
            return 'BOOST_ROOT' not in os.environ
        return False

    # Qt is provided on macOS by Homebrew
    if test.endswith('4 qt') and mesonlib.is_osx():
        return False

    # Other framework tests are allowed to be skipped on other platforms
    return True
开发者ID:mesonbuild,项目名称:meson,代码行数:38,代码来源:run_project_tests.py

示例15: platform_fix_name

def platform_fix_name(fname, compiler):
    if '?lib' in fname:
        if mesonlib.is_cygwin():
            fname = re.sub(r'\?lib(.*)\.dll$', r'cyg\1.dll', fname)
        else:
            fname = re.sub(r'\?lib', 'lib', fname)

    if fname.endswith('?exe'):
        fname = fname[:-4]
        if mesonlib.is_windows() or mesonlib.is_cygwin():
            return fname + '.exe'

    if fname.startswith('?msvc:'):
        fname = fname[6:]
        if compiler != 'cl':
            return None

    if fname.startswith('?gcc:'):
        fname = fname[5:]
        if compiler == 'cl':
            return None

    return fname
开发者ID:pombredanne,项目名称:meson,代码行数:23,代码来源:run_project_tests.py


注:本文中的mesonbuild.mesonlib.is_windows函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。