[Notes] [Git][BuildStream/buildstream][raoul/775-execution-environment-reqs] 4 commits: optionarch.py: update to use same arch names as SandboxConfig



Title: GitLab

Raoul Hidalgo Charman pushed to branch raoul/775-execution-environment-reqs at BuildStream / buildstream

Commits:

24 changed files:

Changes:

  • buildstream/_options/optionarch.py
    ... ... @@ -17,7 +17,7 @@
    17 17
     #  Authors:
    
    18 18
     #        Tristan Van Berkom <tristan vanberkom codethink co uk>
    
    19 19
     
    
    20
    -import os
    
    20
    +from .._platform import Platform
    
    21 21
     from .optionenum import OptionEnum
    
    22 22
     
    
    23 23
     
    
    ... ... @@ -41,8 +41,7 @@ class OptionArch(OptionEnum):
    41 41
             super(OptionArch, self).load(node, allow_default_definition=False)
    
    42 42
     
    
    43 43
         def load_default_value(self, node):
    
    44
    -        _, _, _, _, machine_arch = os.uname()
    
    45
    -        return machine_arch
    
    44
    +        return Platform.get_host_arch()
    
    46 45
     
    
    47 46
         def resolve(self):
    
    48 47
     
    

  • buildstream/_options/optionos.py
    1
    +
    
    2
    +#
    
    3
    +#  Copyright (C) 2017 Codethink Limited
    
    4
    +#
    
    5
    +#  This program is free software; you can redistribute it and/or
    
    6
    +#  modify it under the terms of the GNU Lesser General Public
    
    7
    +#  License as published by the Free Software Foundation; either
    
    8
    +#  version 2 of the License, or (at your option) any later version.
    
    9
    +#
    
    10
    +#  This library is distributed in the hope that it will be useful,
    
    11
    +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    12
    +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
    
    13
    +#  Lesser General Public License for more details.
    
    14
    +#
    
    15
    +#  You should have received a copy of the GNU Lesser General Public
    
    16
    +#  License along with this library. If not, see <http://www.gnu.org/licenses/>.
    
    17
    +#
    
    18
    +#  Authors:
    
    19
    +#        Raoul Hidalgo Charman <raoul hidalgocharman codethink co uk>
    
    20
    +
    
    21
    +import os
    
    22
    +from .optionenum import OptionEnum
    
    23
    +
    
    24
    +
    
    25
    +# OptionOS
    
    26
    +#
    
    27
    +class OptionOS(OptionEnum):
    
    28
    +
    
    29
    +    OPTION_TYPE = 'os'
    
    30
    +
    
    31
    +    def load(self, node):
    
    32
    +        super(OptionOS, self).load(node, allow_default_definition=False)
    
    33
    +
    
    34
    +    def load_default_value(self, node):
    
    35
    +        return os.uname()[0]
    
    36
    +
    
    37
    +    def resolve(self):
    
    38
    +
    
    39
    +        # Validate that the default OS reported by uname() is explicitly
    
    40
    +        # supported by the project, if not overridden by user config or cli.
    
    41
    +        self.validate(self.value)

  • buildstream/_options/optionpool.py
    ... ... @@ -28,6 +28,7 @@ from .optionenum import OptionEnum
    28 28
     from .optionflags import OptionFlags
    
    29 29
     from .optioneltmask import OptionEltMask
    
    30 30
     from .optionarch import OptionArch
    
    31
    +from .optionos import OptionOS
    
    31 32
     
    
    32 33
     
    
    33 34
     _OPTION_TYPES = {
    
    ... ... @@ -36,6 +37,7 @@ _OPTION_TYPES = {
    36 37
         OptionFlags.OPTION_TYPE: OptionFlags,
    
    37 38
         OptionEltMask.OPTION_TYPE: OptionEltMask,
    
    38 39
         OptionArch.OPTION_TYPE: OptionArch,
    
    40
    +    OptionOS.OPTION_TYPE: OptionOS,
    
    39 41
     }
    
    40 42
     
    
    41 43
     
    

  • buildstream/sandbox/_sandboxremote.py
    ... ... @@ -65,13 +65,20 @@ class SandboxRemote(Sandbox):
    65 65
                                      EnvironmentVariable(name=k, value=v)
    
    66 66
                                      for (k, v) in environment.items()]
    
    67 67
     
    
    68
    +        config = self._get_config()
    
    69
    +        platform = remote_execution_pb2.Platform()
    
    70
    +        platform.properties.extend([remote_execution_pb2.Platform.
    
    71
    +                                    Property(name="os", value=config.build_os),
    
    72
    +                                    remote_execution_pb2.Platform.
    
    73
    +                                    Property(name="arch", value=config.build_arch)])
    
    74
    +
    
    68 75
             # Create and send the Command object.
    
    69 76
             remote_command = remote_execution_pb2.Command(arguments=command,
    
    70 77
                                                           working_directory=working_directory,
    
    71 78
                                                           environment_variables=environment_variables,
    
    72 79
                                                           output_files=[],
    
    73 80
                                                           output_directories=[self._output_directory],
    
    74
    -                                                      platform=None)
    
    81
    +                                                      platform=platform)
    
    75 82
             context = self._get_context()
    
    76 83
             cascache = context.artifactcache
    
    77 84
             # Upload the Command message to the remote CAS server
    

  • doc/examples/flatpak-autotools/elements/base/sdk.bst
    ... ... @@ -5,10 +5,10 @@ sources:
    5 5
       url: gnomesdk:repo/
    
    6 6
       gpg-key: keys/gnome-sdk.gpg
    
    7 7
       (?):
    
    8
    -  - arch == "x86_64":
    
    8
    +  - arch == "x86-64":
    
    9 9
           track: runtime/org.freedesktop.BaseSdk/x86_64/1.4
    
    10 10
           ref: 0d9d255d56b08aeaaffb1c820eef85266eb730cb5667e50681185ccf5cd7c882
    
    11
    -  - arch == "i386":
    
    11
    +  - arch == "x86-32":
    
    12 12
           track: runtime/org.freedesktop.BaseSdk/i386/1.4
    
    13 13
           ref: 16036b747c1ec8e7fe291f5b1f667cb942f0267d08fcad962e9b7627d6cf1981
    
    14 14
     config:
    

  • doc/examples/flatpak-autotools/project.conf
    ... ... @@ -10,6 +10,6 @@ options:
    10 10
         type: arch
    
    11 11
         description: The machine architecture
    
    12 12
         values:
    
    13
    -    - x86_64
    
    14
    -    - i386
    
    13
    +    - x86-64
    
    14
    +    - x86-32
    
    15 15
     

  • tests/cachekey/cachekey.py
    ... ... @@ -144,7 +144,7 @@ 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',
    
    147
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    148 148
                         reason='Cache keys depend on architecture')
    
    149 149
     @pytest.mark.skipif(not IS_LINUX, reason='Only available on linux')
    
    150 150
     @pytest.mark.skipif(HAVE_BZR is False, reason="bzr is not available")
    

  • tests/examples/autotools.py
    ... ... @@ -13,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    17
    +                    reason='Examples are writtent for x86-64')
    
    18 18
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    19 19
     @pytest.mark.datafiles(DATA_DIR)
    
    20 20
     def test_autotools_build(cli, tmpdir, datafiles):
    
    ... ... @@ -38,8 +38,8 @@ def test_autotools_build(cli, tmpdir, datafiles):
    38 38
     
    
    39 39
     
    
    40 40
     # Test running an executable built with autotools.
    
    41
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    42
    -                    reason='Examples are writtent for x86_64')
    
    41
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    42
    +                    reason='Examples are writtent for x86-64')
    
    43 43
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    44 44
     @pytest.mark.datafiles(DATA_DIR)
    
    45 45
     def test_autotools_run(cli, tmpdir, datafiles):
    

  • tests/examples/developing.py
    ... ... @@ -14,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    18
    +                    reason='Examples are writtent for x86-64')
    
    19 19
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    20 20
     @pytest.mark.datafiles(DATA_DIR)
    
    21 21
     def test_autotools_build(cli, tmpdir, datafiles):
    
    ... ... @@ -37,8 +37,8 @@ def test_autotools_build(cli, tmpdir, datafiles):
    37 37
     
    
    38 38
     
    
    39 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')
    
    40
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    41
    +                    reason='Examples are writtent for x86-64')
    
    42 42
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    43 43
     @pytest.mark.datafiles(DATA_DIR)
    
    44 44
     def test_run_unmodified_hello(cli, tmpdir, datafiles):
    
    ... ... @@ -70,8 +70,8 @@ def test_open_workspace(cli, tmpdir, datafiles):
    70 70
     
    
    71 71
     
    
    72 72
     # Test making a change using the workspace
    
    73
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    74
    -                    reason='Examples are writtent for x86_64')
    
    73
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    74
    +                    reason='Examples are writtent for x86-64')
    
    75 75
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    76 76
     @pytest.mark.datafiles(DATA_DIR)
    
    77 77
     def test_make_change_in_workspace(cli, tmpdir, datafiles):
    

  • tests/examples/flatpak-autotools.py
    ... ... @@ -32,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    36
    +                    reason='Examples are writtent for x86-64')
    
    37 37
     @pytest.mark.skipif(not IS_LINUX or not HAVE_OSTREE, reason='Only available on linux with ostree')
    
    38 38
     @pytest.mark.datafiles(DATA_DIR)
    
    39 39
     def test_autotools_build(cli, tmpdir, datafiles):
    
    ... ... @@ -57,8 +57,8 @@ def test_autotools_build(cli, tmpdir, datafiles):
    57 57
     
    
    58 58
     
    
    59 59
     # Test running an executable built with autotools
    
    60
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    61
    -                    reason='Examples are writtent for x86_64')
    
    60
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    61
    +                    reason='Examples are writtent for x86-64')
    
    62 62
     @pytest.mark.skipif(not IS_LINUX or not HAVE_OSTREE, reason='Only available on linux with ostree')
    
    63 63
     @pytest.mark.datafiles(DATA_DIR)
    
    64 64
     def test_autotools_run(cli, tmpdir, datafiles):
    

  • tests/examples/integration-commands.py
    ... ... @@ -12,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    16
    +                    reason='Examples are writtent for x86-64')
    
    17 17
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    18 18
     @pytest.mark.datafiles(DATA_DIR)
    
    19 19
     def test_integration_commands_build(cli, tmpdir, datafiles):
    
    ... ... @@ -25,8 +25,8 @@ def test_integration_commands_build(cli, tmpdir, datafiles):
    25 25
     
    
    26 26
     
    
    27 27
     # Test running the executable
    
    28
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    29
    -                    reason='Examples are writtent for x86_64')
    
    28
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    29
    +                    reason='Examples are writtent for x86-64')
    
    30 30
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    31 31
     @pytest.mark.datafiles(DATA_DIR)
    
    32 32
     def test_integration_commands_run(cli, tmpdir, datafiles):
    

  • tests/examples/junctions.py
    ... ... @@ -13,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    17
    +                    reason='Examples are writtent for x86-64')
    
    18 18
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    19 19
     @pytest.mark.datafiles(DATA_DIR)
    
    20 20
     def test_build(cli, tmpdir, datafiles):
    
    ... ... @@ -25,8 +25,8 @@ def test_build(cli, tmpdir, datafiles):
    25 25
     
    
    26 26
     
    
    27 27
     # Test the callHello script works as expected.
    
    28
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    29
    -                    reason='Examples are writtent for x86_64')
    
    28
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    29
    +                    reason='Examples are writtent for x86-64')
    
    30 30
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    31 31
     @pytest.mark.datafiles(DATA_DIR)
    
    32 32
     def test_shell_call_hello(cli, tmpdir, datafiles):
    

  • tests/examples/running-commands.py
    ... ... @@ -12,8 +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
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    16
    +                    reason='Examples are writtent for x86-64')
    
    17 17
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    18 18
     @pytest.mark.datafiles(DATA_DIR)
    
    19 19
     def test_running_commands_build(cli, tmpdir, datafiles):
    
    ... ... @@ -25,8 +25,8 @@ def test_running_commands_build(cli, tmpdir, datafiles):
    25 25
     
    
    26 26
     
    
    27 27
     # Test running the executable
    
    28
    -@pytest.mark.skipif(MACHINE_ARCH != 'x86_64',
    
    29
    -                    reason='Examples are writtent for x86_64')
    
    28
    +@pytest.mark.skipif(MACHINE_ARCH != 'x86-64',
    
    29
    +                    reason='Examples are writtent for x86-64')
    
    30 30
     @pytest.mark.skipif(not IS_LINUX or not HAVE_BWRAP, reason='Only available on linux with bubblewrap')
    
    31 31
     @pytest.mark.datafiles(DATA_DIR)
    
    32 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, aarch64 ]
    7
    +    values: [ x86-32, x86-64, AArch64 ]
    \ No newline at end of file

  • tests/format/option-arch/element.bst
    ... ... @@ -2,7 +2,7 @@ kind: autotools
    2 2
     variables:
    
    3 3
       result: "Nothing"
    
    4 4
       (?):
    
    5
    -  - machine_arch == "arm":
    
    5
    +  - machine_arch == "AArch32":
    
    6 6
           result: "Army"
    
    7
    -  - machine_arch == "aarch64":
    
    7
    +  - machine_arch == "AArch64":
    
    8 8
           result: "Aarchy"

  • tests/format/option-arch/project.conf
    ... ... @@ -5,5 +5,5 @@ options:
    5 5
         type: arch
    
    6 6
         description: The machine architecture
    
    7 7
         values:
    
    8
    -    - arm
    
    9
    -    - aarch64
    8
    +    - AArch32
    
    9
    +    - AArch64

  • tests/format/option-os/element.bst
    1
    +kind: autotools
    
    2
    +variables:
    
    3
    +  result: "Nothing"
    
    4
    +  (?):
    
    5
    +  - machine_os == "Linux":
    
    6
    +      result: "Linuxy"
    
    7
    +  - machine_os == "Darwin":
    
    8
    +      result: "Darwiny"
    
    9
    +  - machine_os == "SunOS":
    
    10
    +      result: "SunOSy"
    
    11
    +  - machine_os == "FreeBSD":
    
    12
    +      result: "FreeBSDy"
    \ No newline at end of file

  • tests/format/option-os/project.conf
    1
    +name: test
    
    2
    +
    
    3
    +options:
    
    4
    +  machine_os:
    
    5
    +    type: os
    
    6
    +    description: The operating system
    
    7
    +    values:
    
    8
    +    - Linux
    
    9
    +    - Darwin
    
    10
    +    - FreeBSD
    
    11
    +    - SunOS

  • tests/format/optionarch.py
    ... ... @@ -29,8 +29,8 @@ def override_uname_arch(name):
    29 29
     @pytest.mark.datafiles(DATA_DIR)
    
    30 30
     @pytest.mark.parametrize("uname,value,expected", [
    
    31 31
         # Test explicitly provided arches
    
    32
    -    ('arm', 'arm', 'Army'),
    
    33
    -    ('arm', 'aarch64', 'Aarchy'),
    
    32
    +    ('arm', 'AArch32', 'Army'),
    
    33
    +    ('arm', 'AArch64', 'Aarchy'),
    
    34 34
     
    
    35 35
         # Test automatically derived arches
    
    36 36
         ('arm', None, 'Army'),
    
    ... ... @@ -38,8 +38,8 @@ def override_uname_arch(name):
    38 38
     
    
    39 39
         # Test that explicitly provided arches dont error out
    
    40 40
         # when the `uname` reported arch is not supported
    
    41
    -    ('i386', 'arm', 'Army'),
    
    42
    -    ('x86_64', 'aarch64', 'Aarchy'),
    
    41
    +    ('i386', 'AArch32', 'Army'),
    
    42
    +    ('x86_64', 'AArch64', 'Aarchy'),
    
    43 43
     ])
    
    44 44
     def test_conditional(cli, datafiles, uname, value, expected):
    
    45 45
         with override_uname_arch(uname):
    

  • tests/format/optionos.py
    1
    +import os
    
    2
    +import pytest
    
    3
    +from contextlib import contextmanager
    
    4
    +
    
    5
    +from buildstream import _yaml
    
    6
    +from buildstream._exceptions import ErrorDomain, LoadErrorReason
    
    7
    +from tests.testutils.runcli import cli
    
    8
    +
    
    9
    +DATA_DIR = os.path.dirname(os.path.realpath(__file__))
    
    10
    +
    
    11
    +
    
    12
    +@contextmanager
    
    13
    +def override_uname_os(name):
    
    14
    +    orig_uname = os.uname
    
    15
    +    orig_tuple = tuple(os.uname())
    
    16
    +    override_result = (name, orig_tuple[1],
    
    17
    +                       orig_tuple[2], orig_tuple[3],
    
    18
    +                       orig_tuple[4])
    
    19
    +
    
    20
    +    def override():
    
    21
    +        return override_result
    
    22
    +
    
    23
    +    os.uname = override
    
    24
    +    yield
    
    25
    +    os.uname = orig_uname
    
    26
    +
    
    27
    +
    
    28
    +@pytest.mark.datafiles(DATA_DIR)
    
    29
    +@pytest.mark.parametrize("uname,value,expected", [
    
    30
    +    # Test explicitly provided arches
    
    31
    +    ('Darwin', 'Linux', 'Linuxy'),
    
    32
    +    ('SunOS', 'FreeBSD', 'FreeBSDy'),
    
    33
    +
    
    34
    +    # Test automatically derived arches
    
    35
    +    ('Linux', None, 'Linuxy'),
    
    36
    +    ('Darwin', None, 'Darwiny'),
    
    37
    +
    
    38
    +    # Test that explicitly provided arches dont error out
    
    39
    +    # when the `uname` reported arch is not supported
    
    40
    +    ('AIX', 'Linux', 'Linuxy'),
    
    41
    +    ('HaikuOS', 'SunOS', 'SunOSy'),
    
    42
    +])
    
    43
    +def test_conditionals(cli, datafiles, uname, value, expected):
    
    44
    +    with override_uname_os(uname):
    
    45
    +        project = os.path.join(datafiles.dirname, datafiles.basename, 'option-os')
    
    46
    +
    
    47
    +        bst_args = []
    
    48
    +        if value is not None:
    
    49
    +            bst_args += ['--option', 'machine_os', value]
    
    50
    +
    
    51
    +        bst_args += [
    
    52
    +            'show',
    
    53
    +            '--deps', 'none',
    
    54
    +            '--format', '%{vars}',
    
    55
    +            'element.bst'
    
    56
    +        ]
    
    57
    +        result = cli.run(project=project, silent=True, args=bst_args)
    
    58
    +        result.assert_success()
    
    59
    +
    
    60
    +        loaded = _yaml.load_data(result.output)
    
    61
    +        assert loaded['result'] == expected
    
    62
    +
    
    63
    +
    
    64
    +@pytest.mark.datafiles(DATA_DIR)
    
    65
    +def test_unsupported_arch(cli, datafiles):
    
    66
    +
    
    67
    +    with override_uname_os("AIX"):
    
    68
    +        project = os.path.join(datafiles.dirname, datafiles.basename, 'option-os')
    
    69
    +        result = cli.run(project=project, silent=True, args=[
    
    70
    +            'show',
    
    71
    +            '--deps', 'none',
    
    72
    +            '--format', '%{vars}',
    
    73
    +            'element.bst'
    
    74
    +        ])
    
    75
    +
    
    76
    +        result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.INVALID_DATA)

  • tests/integration/base/generate-base.sh
    ... ... @@ -9,7 +9,7 @@
    9 9
     
    
    10 10
     set -eux
    
    11 11
     
    
    12
    -ALPINE_ARCH=${ARCH:-x86_64}
    
    12
    +ALPINE_ARCH=${ARCH:-x86-64}
    
    13 13
     ALPINE_BASE=http://dl-cdn.alpinelinux.org/alpine/v3.7/releases/${ALPINE_ARCH}/alpine-minirootfs-3.7.0-${ALPINE_ARCH}.tar.gz
    
    14 14
     
    
    15 15
     mkdir root
    

  • tests/integration/project/elements/base/base-alpine.bst
    ... ... @@ -9,9 +9,9 @@ sources:
    9 9
       - kind: tar
    
    10 10
         base-dir: ''
    
    11 11
         (?):
    
    12
    -    - arch == "x86_64":
    
    12
    +    - arch == "x86-64":
    
    13 13
             ref: 3eb559250ba82b64a68d86d0636a6b127aa5f6d25d3601a79f79214dc9703639
    
    14 14
             url: "alpine:integration-tests-base.v1.x86_64.tar.xz"
    
    15
    -    - arch == "aarch64":
    
    15
    +    - arch == "AArch64":
    
    16 16
             ref: 431fb5362032ede6f172e70a3258354a8fd71fcbdeb1edebc0e20968c792329a
    
    17 17
             url: "alpine:integration-tests-base.v1.aarch64.tar.xz"

  • tests/integration/project/project.conf
    ... ... @@ -13,8 +13,8 @@ options:
    13 13
         type: arch
    
    14 14
         description: Current architecture
    
    15 15
         values:
    
    16
    -      - x86_64
    
    17
    -      - aarch64
    
    16
    +      - x86-64
    
    17
    +      - AArch64
    
    18 18
     split-rules:
    
    19 19
       test:
    
    20 20
         - |
    

  • tests/testutils/site.py
    ... ... @@ -5,6 +5,7 @@ import os
    5 5
     import sys
    
    6 6
     
    
    7 7
     from buildstream import _site, utils, ProgramNotFoundError
    
    8
    +from buildstream._platform import Platform
    
    8 9
     
    
    9 10
     try:
    
    10 11
         utils.get_host_tool('bzr')
    
    ... ... @@ -52,4 +53,4 @@ except ImportError:
    52 53
     
    
    53 54
     IS_LINUX = os.getenv('BST_FORCE_BACKEND', sys.platform).startswith('linux')
    
    54 55
     
    
    55
    -_, _, _, _, MACHINE_ARCH = os.uname()
    56
    +MACHINE_ARCH = Platform.get_host_arch()



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