aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-12-28 00:01:31 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-12-31 23:24:29 +0200
commit4a189cf8c53e22b747521cae93c18cac3a45cc5a (patch)
tree14f77b4d494cdb4d83dd1e177ef79d43ba7a398d /run_unittests.py
parentf1afd44b2b2fb85de1c55408b46e50b4381f50d2 (diff)
downloadmeson-4a189cf8c53e22b747521cae93c18cac3a45cc5a.zip
meson-4a189cf8c53e22b747521cae93c18cac3a45cc5a.tar.gz
meson-4a189cf8c53e22b747521cae93c18cac3a45cc5a.tar.bz2
Add unit test that checks that the sample projects compile.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 184386c..cbdcda0 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -36,7 +36,7 @@ import mesonbuild.coredata
from mesonbuild.interpreter import ObjectHolder
from mesonbuild.mesonlib import is_linux, is_windows, is_osx, is_cygwin, windows_proof_rmtree
from mesonbuild.mesonlib import python_command, meson_command, version_compare
-from mesonbuild.environment import Environment
+from mesonbuild.environment import Environment, detect_ninja
from mesonbuild.mesonlib import MesonException, EnvironmentException
from mesonbuild.dependencies import PkgConfigDependency, ExternalProgram
@@ -1707,6 +1707,19 @@ int main(int argc, char **argv) {
self.init(workdir)
self.build()
+ def test_templates(self):
+ ninja = detect_ninja()
+ if ninja is None:
+ raise unittest.SkipTest('This test currently requires ninja. Fix this once "meson build" works.')
+ for lang in ('c', 'cpp'):
+ for type in ('executable', 'library'):
+ with tempfile.TemporaryDirectory() as tmpdir:
+ self._run(meson_command + ['init', '--language', lang, '--type', type],
+ workdir=tmpdir)
+ self._run(self.meson_command + ['--backend=ninja', 'builddir'],
+ workdir=tmpdir)
+ self._run(ninja,
+ workdir=os.path.join(tmpdir, 'builddir'))
class FailureTests(BasePlatformTests):
'''