diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-06-18 15:01:47 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-06-18 15:17:52 -0400 |
commit | b4105e8dea0f4aaaefbbd5a5dce344a939e736dc (patch) | |
tree | 6ef0af24afde022eea9b7ac00646314b0a711d15 /tests/examples/autotools.py | |
parent | 72fbaa1c0c0f3ff59db0f8bd34268918c6db9865 (diff) | |
download | buildstream-b4105e8dea0f4aaaefbbd5a5dce344a939e736dc.tar.gz |
doc: Adding part 3 of the getting started tutorial: autotools element
This part of the tutorial uses a lot of the work from Phil Dawson
and James Ennis, and uses their example submitted on merge request
499 as a basis to introduce the user to yaml composition and variable
resolution.
This is a part of issue #103
Diffstat (limited to 'tests/examples/autotools.py')
-rw-r--r-- | tests/examples/autotools.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/examples/autotools.py b/tests/examples/autotools.py new file mode 100644 index 000000000..c774776fb --- /dev/null +++ b/tests/examples/autotools.py @@ -0,0 +1,47 @@ +import os +import pytest + +from tests.testutils import cli_integration as cli +from tests.testutils.integration import assert_contains +from tests.testutils.site import IS_LINUX + +pytestmark = pytest.mark.integration + +DATA_DIR = os.path.join( + os.path.dirname(os.path.realpath(__file__)), '..', '..', 'doc', 'examples', 'autotools' +) + + +# Tests a build of the autotools amhello project on a alpine-linux base runtime +@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux') +@pytest.mark.datafiles(DATA_DIR) +def test_autotools_build(cli, tmpdir, datafiles): + project = os.path.join(datafiles.dirname, datafiles.basename) + checkout = os.path.join(cli.directory, 'checkout') + + # Check that the project can be built correctly. + result = cli.run(project=project, args=['build', 'hello.bst']) + result.assert_success() + + result = cli.run(project=project, args=['checkout', 'hello.bst', checkout]) + result.assert_success() + + assert_contains(checkout, ['/usr', '/usr/lib', '/usr/bin', + '/usr/share', '/usr/lib/debug', + '/usr/lib/debug/hello', '/usr/bin/hello', + '/usr/share/doc', '/usr/share/doc/amhello', + '/usr/share/doc/amhello/README']) + + +# Test running an executable built with autotools. +@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux') +@pytest.mark.datafiles(DATA_DIR) +def test_autotools_run(cli, tmpdir, datafiles): + project = os.path.join(datafiles.dirname, datafiles.basename) + + result = cli.run(project=project, args=['build', 'hello.bst']) + result.assert_success() + + result = cli.run(project=project, args=['shell', 'hello.bst', 'hello']) + result.assert_success() + assert result.output == 'Hello World!\nThis is amhello 1.0.\n' |