Javier Jardón pushed to branch master at BuildStream / buildstream
Commits:
-
c87d6e45
by Valentin David at 2018-11-14T11:43:33Z
-
16b01489
by Valentin David at 2018-11-14T11:43:33Z
-
85046b29
by Valentin David at 2018-11-14T11:43:33Z
-
dd5a073b
by Valentin David at 2018-11-14T11:43:33Z
-
c5d72ae7
by Valentin David at 2018-11-14T11:52:53Z
-
264a57f6
by Javier Jardón at 2018-11-14T12:22:03Z
12 changed files:
- .gitlab-ci.yml
- tests/cachekey/cachekey.py
- tests/examples/autotools.py
- tests/examples/developing.py
- tests/examples/flatpak-autotools.py
- tests/examples/integration-commands.py
- tests/examples/junctions.py
- tests/examples/running-commands.py
- tests/format/list-directive-type-error/project.conf
- tests/integration/project/elements/base/base-alpine.bst
- tests/integration/project/project.conf
- tests/testutils/site.py
Changes:
... | ... | @@ -79,32 +79,46 @@ source_dist: |
79 | 79 |
- cd ../..
|
80 | 80 |
- mkdir -p coverage-linux/
|
81 | 81 |
- cp dist/buildstream/.coverage coverage-linux/coverage."${CI_JOB_NAME}"
|
82 |
- except:
|
|
83 |
- - schedules
|
|
84 | 82 |
artifacts:
|
85 | 83 |
paths:
|
86 | 84 |
- coverage-linux/
|
87 | 85 |
|
88 | 86 |
tests-debian-9:
|
89 |
- image: buildstream/testsuite-debian:9-master-119-552f5fc6
|
|
87 |
+ image: buildstream/testsuite-debian:9-master-123-7ce6581b
|
|
90 | 88 |
<<: *linux-tests
|
89 |
+ except:
|
|
90 |
+ - schedules
|
|
91 | 91 |
|
92 | 92 |
tests-fedora-27:
|
93 |
- image: buildstream/testsuite-fedora:27-master-119-552f5fc6
|
|
93 |
+ image: buildstream/testsuite-fedora:27-master-123-7ce6581b
|
|
94 | 94 |
<<: *linux-tests
|
95 |
+ except:
|
|
96 |
+ - schedules
|
|
95 | 97 |
|
96 | 98 |
tests-fedora-28:
|
97 |
- image: buildstream/testsuite-fedora:28-master-119-552f5fc6
|
|
99 |
+ image: buildstream/testsuite-fedora:28-master-123-7ce6581b
|
|
98 | 100 |
<<: *linux-tests
|
101 |
+ except:
|
|
102 |
+ - schedules
|
|
99 | 103 |
|
100 | 104 |
tests-ubuntu-18.04:
|
101 |
- image: buildstream/testsuite-ubuntu:18.04-master-119-552f5fc6
|
|
105 |
+ image: buildstream/testsuite-ubuntu:18.04-master-123-7ce6581b
|
|
102 | 106 |
<<: *linux-tests
|
107 |
+ except:
|
|
108 |
+ - schedules
|
|
109 |
+ |
|
110 |
+overnight-fedora-28-aarch64:
|
|
111 |
+ image: buildstream/testsuite-fedora:aarch64-28-master-123-7ce6581b
|
|
112 |
+ tags:
|
|
113 |
+ - aarch64
|
|
114 |
+ <<: *linux-tests
|
|
115 |
+ only:
|
|
116 |
+ - schedules
|
|
103 | 117 |
|
104 | 118 |
tests-unix:
|
105 | 119 |
# Use fedora here, to a) run a test on fedora and b) ensure that we
|
106 | 120 |
# can get rid of ostree - this is not possible with debian-8
|
107 |
- image: buildstream/testsuite-fedora:27-master-119-552f5fc6
|
|
121 |
+ image: buildstream/testsuite-fedora:27-master-123-7ce6581b
|
|
108 | 122 |
stage: test
|
109 | 123 |
variables:
|
110 | 124 |
BST_FORCE_BACKEND: "unix"
|
... | ... | @@ -36,7 +36,7 @@ |
36 | 36 |
# the result.
|
37 | 37 |
#
|
38 | 38 |
from tests.testutils.runcli import cli
|
39 |
-from tests.testutils.site import HAVE_BZR, HAVE_GIT, HAVE_OSTREE, IS_LINUX
|
|
39 |
+from tests.testutils.site import HAVE_BZR, HAVE_GIT, HAVE_OSTREE, IS_LINUX, MACHINE_ARCH
|
|
40 | 40 |
from buildstream.plugin import CoreWarnings
|
41 | 41 |
from buildstream import _yaml
|
42 | 42 |
import os
|
... | ... | @@ -144,6 +144,8 @@ DATA_DIR = os.path.join( |
144 | 144 |
# The cache key test uses a project which exercises all plugins,
|
145 | 145 |
# so we cant run it at all if we dont have them installed.
|
146 | 146 |
#
|
147 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
148 |
+ reason='Cache keys depend on architecture')
|
|
147 | 149 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
148 | 150 |
@pytest.mark.skipif(HAVE_BZR is False, reason="bzr is not available")
|
149 | 151 |
@pytest.mark.skipif(HAVE_GIT is False, reason="git is not available")
|
... | ... | @@ -3,7 +3,7 @@ import pytest |
3 | 3 |
|
4 | 4 |
from tests.testutils import cli_integration as cli
|
5 | 5 |
from tests.testutils.integration import assert_contains
|
6 |
-from tests.testutils.site import IS_LINUX
|
|
6 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
7 | 7 |
|
8 | 8 |
pytestmark = pytest.mark.integration
|
9 | 9 |
|
... | ... | @@ -13,6 +13,8 @@ DATA_DIR = os.path.join( |
13 | 13 |
|
14 | 14 |
|
15 | 15 |
# Tests a build of the autotools amhello project on a alpine-linux base runtime
|
16 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
17 |
+ reason='Examples are writtent for x86_64')
|
|
16 | 18 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
17 | 19 |
@pytest.mark.datafiles(DATA_DIR)
|
18 | 20 |
def test_autotools_build(cli, tmpdir, datafiles):
|
... | ... | @@ -36,6 +38,8 @@ def test_autotools_build(cli, tmpdir, datafiles): |
36 | 38 |
|
37 | 39 |
|
38 | 40 |
# Test running an executable built with autotools.
|
41 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
42 |
+ reason='Examples are writtent for x86_64')
|
|
39 | 43 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
40 | 44 |
@pytest.mark.datafiles(DATA_DIR)
|
41 | 45 |
def test_autotools_run(cli, tmpdir, datafiles):
|
... | ... | @@ -4,7 +4,7 @@ import pytest |
4 | 4 |
import tests.testutils.patch as patch
|
5 | 5 |
from tests.testutils import cli_integration as cli
|
6 | 6 |
from tests.testutils.integration import assert_contains
|
7 |
-from tests.testutils.site import IS_LINUX
|
|
7 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
8 | 8 |
|
9 | 9 |
pytestmark = pytest.mark.integration
|
10 | 10 |
|
... | ... | @@ -14,6 +14,8 @@ DATA_DIR = os.path.join( |
14 | 14 |
|
15 | 15 |
|
16 | 16 |
# Test that the project builds successfully
|
17 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
18 |
+ reason='Examples are writtent for x86_64')
|
|
17 | 19 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
18 | 20 |
@pytest.mark.datafiles(DATA_DIR)
|
19 | 21 |
def test_autotools_build(cli, tmpdir, datafiles):
|
... | ... | @@ -35,6 +37,8 @@ def test_autotools_build(cli, tmpdir, datafiles): |
35 | 37 |
|
36 | 38 |
|
37 | 39 |
# Test the unmodified hello command works as expected.
|
40 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
41 |
+ reason='Examples are writtent for x86_64')
|
|
38 | 42 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
39 | 43 |
@pytest.mark.datafiles(DATA_DIR)
|
40 | 44 |
def test_run_unmodified_hello(cli, tmpdir, datafiles):
|
... | ... | @@ -66,6 +70,8 @@ def test_open_workspace(cli, tmpdir, datafiles): |
66 | 70 |
|
67 | 71 |
|
68 | 72 |
# Test making a change using the workspace
|
73 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
74 |
+ reason='Examples are writtent for x86_64')
|
|
69 | 75 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
70 | 76 |
@pytest.mark.datafiles(DATA_DIR)
|
71 | 77 |
def test_make_change_in_workspace(cli, tmpdir, datafiles):
|
... | ... | @@ -3,7 +3,7 @@ import pytest |
3 | 3 |
|
4 | 4 |
from tests.testutils import cli_integration as cli
|
5 | 5 |
from tests.testutils.integration import assert_contains
|
6 |
-from tests.testutils.site import IS_LINUX
|
|
6 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
7 | 7 |
|
8 | 8 |
|
9 | 9 |
pytestmark = pytest.mark.integration
|
... | ... | @@ -32,6 +32,8 @@ def workaround_setuptools_bug(project): |
32 | 32 |
|
33 | 33 |
# Test that a build upon flatpak runtime 'works' - we use the autotools sample
|
34 | 34 |
# amhello project for this.
|
35 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
36 |
+ reason='Examples are writtent for x86_64')
|
|
35 | 37 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
36 | 38 |
@pytest.mark.datafiles(DATA_DIR)
|
37 | 39 |
def test_autotools_build(cli, tmpdir, datafiles):
|
... | ... | @@ -55,6 +57,8 @@ def test_autotools_build(cli, tmpdir, datafiles): |
55 | 57 |
|
56 | 58 |
|
57 | 59 |
# Test running an executable built with autotools
|
60 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
61 |
+ reason='Examples are writtent for x86_64')
|
|
58 | 62 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
59 | 63 |
@pytest.mark.datafiles(DATA_DIR)
|
60 | 64 |
def test_autotools_run(cli, tmpdir, datafiles):
|
... | ... | @@ -3,7 +3,7 @@ import pytest |
3 | 3 |
|
4 | 4 |
from tests.testutils import cli_integration as cli
|
5 | 5 |
from tests.testutils.integration import assert_contains
|
6 |
-from tests.testutils.site import IS_LINUX
|
|
6 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
7 | 7 |
|
8 | 8 |
|
9 | 9 |
pytestmark = pytest.mark.integration
|
... | ... | @@ -12,6 +12,8 @@ DATA_DIR = os.path.join( |
12 | 12 |
)
|
13 | 13 |
|
14 | 14 |
|
15 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
16 |
+ reason='Examples are writtent for x86_64')
|
|
15 | 17 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
16 | 18 |
@pytest.mark.datafiles(DATA_DIR)
|
17 | 19 |
def test_integration_commands_build(cli, tmpdir, datafiles):
|
... | ... | @@ -23,6 +25,8 @@ def test_integration_commands_build(cli, tmpdir, datafiles): |
23 | 25 |
|
24 | 26 |
|
25 | 27 |
# Test running the executable
|
28 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
29 |
+ reason='Examples are writtent for x86_64')
|
|
26 | 30 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
27 | 31 |
@pytest.mark.datafiles(DATA_DIR)
|
28 | 32 |
def test_integration_commands_run(cli, tmpdir, datafiles):
|
... | ... | @@ -3,7 +3,7 @@ import pytest |
3 | 3 |
|
4 | 4 |
from tests.testutils import cli_integration as cli
|
5 | 5 |
from tests.testutils.integration import assert_contains
|
6 |
-from tests.testutils.site import IS_LINUX
|
|
6 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
7 | 7 |
|
8 | 8 |
pytestmark = pytest.mark.integration
|
9 | 9 |
|
... | ... | @@ -13,6 +13,8 @@ DATA_DIR = os.path.join( |
13 | 13 |
|
14 | 14 |
|
15 | 15 |
# Test that the project builds successfully
|
16 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
17 |
+ reason='Examples are writtent for x86_64')
|
|
16 | 18 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
17 | 19 |
@pytest.mark.datafiles(DATA_DIR)
|
18 | 20 |
def test_build(cli, tmpdir, datafiles):
|
... | ... | @@ -23,6 +25,8 @@ def test_build(cli, tmpdir, datafiles): |
23 | 25 |
|
24 | 26 |
|
25 | 27 |
# Test the callHello script works as expected.
|
28 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
29 |
+ reason='Examples are writtent for x86_64')
|
|
26 | 30 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
27 | 31 |
@pytest.mark.datafiles(DATA_DIR)
|
28 | 32 |
def test_shell_call_hello(cli, tmpdir, datafiles):
|
... | ... | @@ -3,7 +3,7 @@ import pytest |
3 | 3 |
|
4 | 4 |
from tests.testutils import cli_integration as cli
|
5 | 5 |
from tests.testutils.integration import assert_contains
|
6 |
-from tests.testutils.site import IS_LINUX
|
|
6 |
+from tests.testutils.site import IS_LINUX, MACHINE_ARCH
|
|
7 | 7 |
|
8 | 8 |
|
9 | 9 |
pytestmark = pytest.mark.integration
|
... | ... | @@ -12,6 +12,8 @@ DATA_DIR = os.path.join( |
12 | 12 |
)
|
13 | 13 |
|
14 | 14 |
|
15 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
16 |
+ reason='Examples are writtent for x86_64')
|
|
15 | 17 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
16 | 18 |
@pytest.mark.datafiles(DATA_DIR)
|
17 | 19 |
def test_running_commands_build(cli, tmpdir, datafiles):
|
... | ... | @@ -23,6 +25,8 @@ def test_running_commands_build(cli, tmpdir, datafiles): |
23 | 25 |
|
24 | 26 |
|
25 | 27 |
# Test running the executable
|
28 |
+@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
|
|
29 |
+ reason='Examples are writtent for x86_64')
|
|
26 | 30 |
@pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
|
27 | 31 |
@pytest.mark.datafiles(DATA_DIR)
|
28 | 32 |
def test_running_commands_run(cli, tmpdir, datafiles):
|
... | ... | @@ -4,4 +4,4 @@ options: |
4 | 4 |
arch:
|
5 | 5 |
type: arch
|
6 | 6 |
description: Example architecture option
|
7 |
- values: [ x86_32, x86_64 ]
|
|
7 |
+ values: [ x86_32, x86_64, aarch64 ]
|
... | ... | @@ -7,6 +7,11 @@ description: | |
7 | 7 |
|
8 | 8 |
sources:
|
9 | 9 |
- kind: tar
|
10 |
- url: alpine:integration-tests-base.v1.x86_64.tar.xz
|
|
11 | 10 |
base-dir: ''
|
12 |
- ref: 3eb559250ba82b64a68d86d0636a6b127aa5f6d25d3601a79f79214dc9703639
|
|
11 |
+ (?):
|
|
12 |
+ - arch == "x86_64":
|
|
13 |
+ ref: 3eb559250ba82b64a68d86d0636a6b127aa5f6d25d3601a79f79214dc9703639
|
|
14 |
+ url: "alpine:integration-tests-base.v1.x86_64.tar.xz"
|
|
15 |
+ - arch == "aarch64":
|
|
16 |
+ ref: 431fb5362032ede6f172e70a3258354a8fd71fcbdeb1edebc0e20968c792329a
|
|
17 |
+ url: "alpine:integration-tests-base.v1.aarch64.tar.xz"
|
... | ... | @@ -9,6 +9,12 @@ options: |
9 | 9 |
type: bool
|
10 | 10 |
description: Whether to expect a linux platform
|
11 | 11 |
default: True
|
12 |
+ arch:
|
|
13 |
+ type: arch
|
|
14 |
+ description: Current architecture
|
|
15 |
+ values:
|
|
16 |
+ - x86_64
|
|
17 |
+ - aarch64
|
|
12 | 18 |
split-rules:
|
13 | 19 |
test:
|
14 | 20 |
- |
|
... | ... | @@ -49,3 +49,5 @@ except ImportError: |
49 | 49 |
HAVE_ARPY = False
|
50 | 50 |
|
51 | 51 |
IS_LINUX = os.getenv('BST_FORCE_BACKEND', sys.platform).startswith('linux')
|
52 |
+ |
|
53 |
+_, _, _, _, MACHINE_ARCH = os.uname()
|