unittests: Assert that we have pkg-config on all CI
Our appveyor configuration provides pkg-config when building for
mingw, cygwin, msvc, etc.
Of course, people manually running the tests won't require pkg-config.
@@ -74,15 +74,22 @@ def get_soname(fname):
def get_rpath(fname):
return get_dynamic_section_entry(fname, r'(?:rpath|runpath)')
+def is_ci():
+ if 'TRAVIS' in os.environ or 'APPVEYOR' in os.environ:
+ return True
+ return False
+
def skipIfNoPkgconfig(f):
'''
- Skip this test if no pkg-config is found, unless we're on Travis CI
- This allows users to run our test suite without having pkg-config installed
- on, f.ex., macOS, while ensuring that our Travis CI does not silently skip
- the test because of misconfiguration.
+ Skip this test if no pkg-config is found, unless we're on Travis or
+ Appveyor CI. This allows users to run our test suite without having
+ pkg-config installed on, f.ex., macOS, while ensuring that our CI does not
+ silently skip the test because of misconfiguration.
+
+ Note: Yes, we provide pkg-config even while running Windows CI
'''
def wrapped(*args, **kwargs):
- if 'TRAVIS' not in os.environ and shutil.which('pkg-config') is None:
+ if is_ci() and shutil.which('pkg-config') is None:
raise unittest.SkipTest('pkg-config not found')
return f(*args, **kwargs)
return wrapped
