From b4105e8dea0f4aaaefbbd5a5dce344a939e736dc Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 18 Jun 2018 15:01:47 -0400 Subject: 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 --- tests/examples/__init__.py | 0 tests/examples/autotools.py | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tests/examples/__init__.py create mode 100644 tests/examples/autotools.py (limited to 'tests/examples') diff --git a/tests/examples/__init__.py b/tests/examples/__init__.py new file mode 100644 index 000000000..e69de29bb 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' -- cgit v1.2.1