[Notes] [Git][BuildStream/buildstream][master] 6 commits: Run tests on aarch64



Title: GitLab

Javier Jardón pushed to branch master at BuildStream / buildstream

Commits:

12 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -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"
    

  • tests/cachekey/cachekey.py
    ... ... @@ -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")
    

  • tests/examples/autotools.py
    ... ... @@ -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):
    

  • tests/examples/developing.py
    ... ... @@ -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):
    

  • tests/examples/flatpak-autotools.py
    ... ... @@ -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):
    

  • tests/examples/integration-commands.py
    ... ... @@ -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):
    

  • tests/examples/junctions.py
    ... ... @@ -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):
    

  • tests/examples/running-commands.py
    ... ... @@ -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):
    

  • tests/format/list-directive-type-error/project.conf
    ... ... @@ -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 ]

  • tests/integration/project/elements/base/base-alpine.bst
    ... ... @@ -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"

  • tests/integration/project/project.conf
    ... ... @@ -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
         - |
    

  • tests/testutils/site.py
    ... ... @@ -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()



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]