All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/23] gitlab: Simplify the test script
@ 2020-03-18 15:42 Simon Glass
  2020-03-18 15:42 ` [PATCH v3 01/23] sandbox: Add documentation about required/useful packages Simon Glass
                   ` (22 more replies)
  0 siblings, 23 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

At present there are several things in the gitlab, travis and azure
scripts which work around limitations in buildman. With a few small
feature additions these can be removed.

This series adds some new features to buildman and simplifies the script:
- Option to run a single build in a specified output directory
- Allow ignoring warnings
- Removes a restriction on the build output directory

It also
- adds a way for test.py to use buildman for the --build option
- makes one change to azure since the same approach should be possible there
- fixes a few minor problems noticed in main and sandbox docs
- removes the -a buildman flag which serves no purpose

Note: I tested that this works OK on travis, gitlab and azure.

There is something funny about azure - the test called
"Run binman, buildman, dtoc and patman testsuites" fails the 'buildman -t'
test but azure reports success.

Changes in v3:
- Add more documentation on -W and the interaction with -E
- Bring back the -E flag and add -W
- Drop mention of -a in the README also
- Expand the commit message
- Rewrite the commit message

Changes in v2:
- Add Fixes tag
- Add a comment about the obscure bash feature
- Add a new patch to avoid copying files into .bm-work/
- Add a new patch to drop the -a option
- Add a new patch to split travis building into two parts
- Add new patch to drop the repeated buildman call
- Convert this into an option, leaving the default as is
- Just drop the -E flag
- Leave in the repeated call to buildman
- Reword the commit message for clarity
- Update azure also
- Update travis, azure also

Simon Glass (23):
  sandbox: Add documentation about required/useful packages
  main: Drop show_boot_progress() prototype
  buildman: Document the members of BuilderJob
  bulidman: Add support for a simple build
  buildman: Update help for -d
  buildman: Allow ignoring warnings in the return code
  buildman: Be more selective about which directories to remove
  buildman: Allow building within a subdir of the current dir
  buildman: Drop the -a option
  travis: Don't copy files into .bm-work/
  travis: Split the building into two parts
  gitlab/azure: Use the -w option for sandbox_spl
  travis/gitlab/azure: Use --board buildman flag with test.py
  travis/gitlab/azure: Drop BUILDMAN variable with test.py
  travis/gitlab/azure: Drop the buildman -d flag
  gitlab/azure: Drop unnecessary if..fi when using test.py
  gitlab/azure: Use -w flag for all test.py builds
  travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist
  travis/gitlab/azure: Use -W to avoid warnings check
  travis/gitlab/azure: Enable test_handoff
  travis/gitlab/azure: Simplify the exit code for test.py
  travis/gitlab/azure: Drop repeated buildman call with test.py
  test/py: Allow using buildman to build U-Boot

 .azure-pipelines.yml            | 57 +++++-----------------
 .gitlab-ci.yml                  | 85 ++++++++++-----------------------
 .travis.yml                     | 63 ++++++++----------------
 common/main.c                   |  5 --
 doc/arch/sandbox.rst            | 10 ++++
 test/py/README.md               | 13 ++++-
 test/py/conftest.py             | 30 ++++++++----
 tools/buildman/README           | 35 ++++++++++++--
 tools/buildman/builder.py       | 51 +++++++++++++++-----
 tools/buildman/builderthread.py | 34 +++++++++----
 tools/buildman/cmdline.py       |  8 ++--
 tools/buildman/control.py       | 52 +++++++-------------
 tools/buildman/func_test.py     | 46 +++++++++++++-----
 tools/buildman/test.py          | 20 ++++++++
 14 files changed, 269 insertions(+), 240 deletions(-)

-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 01/23] sandbox: Add documentation about required/useful packages
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 02/23] main: Drop show_boot_progress() prototype Simon Glass
                   ` (21 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Quite a few packages are used by sandbox or tools. Add a list of these to
help people setting up for the first time.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2: None

 doc/arch/sandbox.rst | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/doc/arch/sandbox.rst b/doc/arch/sandbox.rst
index e577a95716..6a1c6fc552 100644
--- a/doc/arch/sandbox.rst
+++ b/doc/arch/sandbox.rst
@@ -34,6 +34,16 @@ integers can only be built on 64-bit hosts.
 Note that standalone/API support is not available at present.
 
 
+Prerequisites
+-------------
+
+Here are some packages that are worth installing if you are doing sandbox or
+tools development in U-Boot:
+
+   python3-pytest lzma lzma-alone lz4 python3 python3-virtualenv
+   libssl1.0-dev
+
+
 Basic Operation
 ---------------
 
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 02/23] main: Drop show_boot_progress() prototype
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
  2020-03-18 15:42 ` [PATCH v3 01/23] sandbox: Add documentation about required/useful packages Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 03/23] buildman: Document the members of BuilderJob Simon Glass
                   ` (20 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This is defined in bootstage.h and is not called in this file anyway. Drop
it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2: None

 common/main.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/common/main.c b/common/main.c
index ec8994ad45..06d7ff56d6 100644
--- a/common/main.c
+++ b/common/main.c
@@ -15,11 +15,6 @@
 #include <init.h>
 #include <version.h>
 
-/*
- * Board-specific Platform code can reimplement show_boot_progress () if needed
- */
-__weak void show_boot_progress(int val) {}
-
 static void run_preboot_environment_command(void)
 {
 	char *p;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 03/23] buildman: Document the members of BuilderJob
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
  2020-03-18 15:42 ` [PATCH v3 01/23] sandbox: Add documentation about required/useful packages Simon Glass
  2020-03-18 15:42 ` [PATCH v3 02/23] main: Drop show_boot_progress() prototype Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 04/23] bulidman: Add support for a simple build Simon Glass
                   ` (19 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This class has a few more members now. Add documentation for them and fix
a nit in the 'commits' comment.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2: None

 tools/buildman/builderthread.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index 570c1f6595..1e52ef8295 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -39,11 +39,15 @@ class BuilderJob:
 
     Members:
         board: Board object to build
-        commits: List of commit options to build.
+        commits: List of Commit objects to build
+        keep_outputs: True to save build output files
+        step: 1 to process every commit, n to process every nth commit
     """
     def __init__(self):
         self.board = None
         self.commits = []
+        self.keep_outputs = False
+        self.step = 1
 
 
 class ResultThread(threading.Thread):
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 04/23] bulidman: Add support for a simple build
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (2 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 03/23] buildman: Document the members of BuilderJob Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 05/23] buildman: Update help for -d Simon Glass
                   ` (18 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

It is useful to run a simple build and put all the output in a single
directory. Add a -w option to support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2: None

 tools/buildman/README           | 11 ++++++++++
 tools/buildman/builder.py       | 15 +++++++++++--
 tools/buildman/builderthread.py | 28 ++++++++++++++++-------
 tools/buildman/cmdline.py       |  2 ++
 tools/buildman/control.py       | 10 ++++++++-
 tools/buildman/func_test.py     | 39 +++++++++++++++++++++++++++++----
 6 files changed, 90 insertions(+), 15 deletions(-)

diff --git a/tools/buildman/README b/tools/buildman/README
index c1ac0d0f58..abbbbea9f2 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -1056,6 +1056,17 @@ toolchain. For example:
    buildman -O clang-7 --board sandbox
 
 
+Doing a simple build
+====================
+
+In some cases you just want to build a single board and get the full output, use
+the -w option, for example:
+
+   buildman -o /tmp/build --board sandbox -w
+
+This will write the full build into /tmp/build including object files.
+
+
 Other options
 =============
 
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 3fd4fac695..081c1d0901 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -174,6 +174,8 @@ class Builder:
         in_tree: Build U-Boot in-tree instead of specifying an output
             directory separate from the source code. This option is really
             only useful for testing in-tree builds.
+        work_in_output: Use the output directory as the work directory and
+            don't write to a separate output directory.
 
     Private members:
         _base_board_dict: Last-summarised Dict of boards
@@ -224,7 +226,7 @@ class Builder:
                  no_subdirs=False, full_path=False, verbose_build=False,
                  incremental=False, per_board_out_dir=False,
                  config_only=False, squash_config_y=False,
-                 warnings_as_errors=False):
+                 warnings_as_errors=False, work_in_output=False):
         """Create a new Builder object
 
         Args:
@@ -250,10 +252,15 @@ class Builder:
             config_only: Only configure each build, don't build it
             squash_config_y: Convert CONFIG options with the value 'y' to '1'
             warnings_as_errors: Treat all compiler warnings as errors
+            work_in_output: Use the output directory as the work directory and
+                don't write to a separate output directory.
         """
         self.toolchains = toolchains
         self.base_dir = base_dir
-        self._working_dir = os.path.join(base_dir, '.bm-work')
+        if work_in_output:
+            self._working_dir = base_dir
+        else:
+            self._working_dir = os.path.join(base_dir, '.bm-work')
         self.threads = []
         self.do_make = self.Make
         self.gnu_make = gnu_make
@@ -280,6 +287,7 @@ class Builder:
         self.config_only = config_only
         self.squash_config_y = squash_config_y
         self.config_filenames = BASE_CONFIG_FILENAMES
+        self.work_in_output = work_in_output
         if not self.squash_config_y:
             self.config_filenames += EXTRA_CONFIG_FILENAMES
 
@@ -1474,6 +1482,8 @@ class Builder:
         Args:
             thread_num: Number of thread to check.
         """
+        if self.work_in_output:
+            return self._working_dir
         return os.path.join(self._working_dir, '%02d' % thread_num)
 
     def _PrepareThread(self, thread_num, setup_git):
@@ -1571,6 +1581,7 @@ class Builder:
             job.board = brd
             job.commits = commits
             job.keep_outputs = keep_outputs
+            job.work_in_output = self.work_in_output
             job.step = self._step
             self.queue.put(job)
 
diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index 1e52ef8295..7561f39942 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -42,12 +42,15 @@ class BuilderJob:
         commits: List of Commit objects to build
         keep_outputs: True to save build output files
         step: 1 to process every commit, n to process every nth commit
+        work_in_output: Use the output directory as the work directory and
+            don't write to a separate output directory.
     """
     def __init__(self):
         self.board = None
         self.commits = []
         self.keep_outputs = False
         self.step = 1
+        self.work_in_output = False
 
 
 class ResultThread(threading.Thread):
@@ -118,7 +121,7 @@ class BuilderThread(threading.Thread):
                 **kwargs)
 
     def RunCommit(self, commit_upto, brd, work_dir, do_config, config_only,
-                  force_build, force_build_failures):
+                  force_build, force_build_failures, work_in_output):
         """Build a particular commit.
 
         If the build is already done, and we are not forcing a build, we skip
@@ -133,6 +136,8 @@ class BuilderThread(threading.Thread):
             force_build: Force a build even if one was previously done
             force_build_failures: Force a bulid if the previous result showed
                 failure
+            work_in_output: Use the output directory as the work directory and
+                don't write to a separate output directory.
 
         Returns:
             tuple containing:
@@ -143,7 +148,7 @@ class BuilderThread(threading.Thread):
         # self.Make() below, in the event that we do a build.
         result = command.CommandResult()
         result.return_code = 0
-        if self.builder.in_tree:
+        if work_in_output or self.builder.in_tree:
             out_dir = work_dir
         else:
             if self.per_board_out_dir:
@@ -265,14 +270,18 @@ class BuilderThread(threading.Thread):
         result.out_dir = out_dir
         return result, do_config
 
-    def _WriteResult(self, result, keep_outputs):
+    def _WriteResult(self, result, keep_outputs, work_in_output):
         """Write a built result to the output directory.
 
         Args:
             result: CommandResult object containing result to write
             keep_outputs: True to store the output binaries, False
                 to delete them
+            work_in_output: Use the output directory as the work directory and
+                don't write to a separate output directory.
         """
+        if work_in_output:
+            return
         # Fatal error
         if result.return_code < 0:
             return
@@ -434,7 +443,8 @@ class BuilderThread(threading.Thread):
                 result, request_config = self.RunCommit(commit_upto, brd,
                         work_dir, do_config, self.builder.config_only,
                         force_build or self.builder.force_build,
-                        self.builder.force_build_failures)
+                        self.builder.force_build_failures,
+                        work_in_output=job.work_in_output)
                 failed = result.return_code or result.stderr
                 did_config = do_config
                 if failed and not do_config:
@@ -442,7 +452,8 @@ class BuilderThread(threading.Thread):
                     # with a reconfig.
                     if self.builder.force_config_on_failure:
                         result, request_config = self.RunCommit(commit_upto,
-                            brd, work_dir, True, False, True, False)
+                            brd, work_dir, True, False, True, False,
+                            work_in_output=job.work_in_output)
                         did_config = True
                 if not self.builder.force_reconfig:
                     do_config = request_config
@@ -481,15 +492,16 @@ class BuilderThread(threading.Thread):
                         raise ValueError('Interrupt')
 
                 # We have the build results, so output the result
-                self._WriteResult(result, job.keep_outputs)
+                self._WriteResult(result, job.keep_outputs, job.work_in_output)
                 self.builder.out_queue.put(result)
         else:
             # Just build the currently checked-out build
             result, request_config = self.RunCommit(None, brd, work_dir, True,
                         self.builder.config_only, True,
-                        self.builder.force_build_failures)
+                        self.builder.force_build_failures,
+                        work_in_output=job.work_in_output)
             result.commit_upto = 0
-            self._WriteResult(result, job.keep_outputs)
+            self._WriteResult(result, job.keep_outputs, job.work_in_output)
             self.builder.out_queue.put(result)
 
     def run(self):
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index b41209373d..c7b4bf6b4a 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -106,6 +106,8 @@ def ParseArgs():
           default=False, help='Show build results while the build progresses')
     parser.add_option('-V', '--verbose-build', action='store_true',
           default=False, help='Run make with V=1, logging all output')
+    parser.add_option('-w', '--work-in-output', action='store_true',
+          default=False, help='Use the output directory as the work directory')
     parser.add_option('-x', '--exclude', dest='exclude',
           type='string', action='append',
           help='Specify a list of boards to exclude, separated by comma')
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 969d866547..5d80400f7a 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -263,6 +263,13 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
         str = ("No commits found to process in branch '%s': "
                "set branch's upstream or use -c flag" % options.branch)
         sys.exit(col.Color(col.RED, str))
+    if options.work_in_output:
+        if len(selected) != 1:
+            sys.exit(col.Color(col.RED,
+                               '-w can only be used with a single board'))
+        if count != 1:
+            sys.exit(col.Color(col.RED,
+                               '-w can only be used with a single commit'))
 
     # Read the metadata from the commits. First look@the upstream commit,
     # then the ones in the branch. We would like to do something like
@@ -334,7 +341,8 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
             per_board_out_dir=options.per_board_out_dir,
             config_only=options.config_only,
             squash_config_y=not options.preserve_config_y,
-            warnings_as_errors=options.warnings_as_errors)
+            warnings_as_errors=options.warnings_as_errors,
+            work_in_output=options.work_in_output)
     builder.force_config_on_failure = not options.quick
     if make_func:
         builder.do_make = make_func
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index 4c3d497294..f9f8f80593 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -16,6 +16,7 @@ import control
 import gitutil
 import terminal
 import toolchain
+import tools
 
 settings_data = '''
 # Buildman settings file
@@ -208,7 +209,7 @@ class TestFunctional(unittest.TestCase):
 
     def tearDown(self):
         shutil.rmtree(self._base_dir)
-        shutil.rmtree(self._output_dir)
+        #shutil.rmtree(self._output_dir)
 
     def setupToolchains(self):
         self._toolchains = toolchain.Toolchains()
@@ -218,12 +219,12 @@ class TestFunctional(unittest.TestCase):
         return command.RunPipe([[self._buildman_pathname] + list(args)],
                 capture=True, capture_stderr=True)
 
-    def _RunControl(self, *args, **kwargs):
+    def _RunControl(self, *args, clean_dir=False, boards=None):
         sys.argv = [sys.argv[0]] + list(args)
         options, args = cmdline.ParseArgs()
         result = control.DoBuildman(options, args, toolchains=self._toolchains,
-                make_func=self._HandleMake, boards=self._boards,
-                clean_dir=kwargs.get('clean_dir', True))
+                make_func=self._HandleMake, boards=boards or self._boards,
+                clean_dir=clean_dir)
         self._builder = control.builder
         return result
 
@@ -397,6 +398,12 @@ class TestFunctional(unittest.TestCase):
                     combined='Test configuration complete')
         elif stage == 'build':
             stderr = ''
+            out_dir = ''
+            for arg in args:
+                if arg.startswith('O='):
+                    out_dir = arg[2:]
+            fname = os.path.join(cwd or '', out_dir, 'u-boot')
+            tools.WriteFile(fname, b'U-Boot')
             if type(commit) is not str:
                 stderr = self._error.get((brd.target, commit.sequence))
             if stderr:
@@ -535,3 +542,27 @@ class TestFunctional(unittest.TestCase):
         with self.assertRaises(SystemExit):
             self._RunControl('-b', self._test_branch, '-o',
                              os.path.join(os.getcwd(), 'test'))
+
+    def testWorkInOutput(self):
+        """Test the -w option which should write directly to the output dir"""
+        board_list = board.Boards()
+        board_list.AddBoard(board.Board(*boards[0]))
+        self._RunControl('-o', self._output_dir, '-w', clean_dir=False,
+                         boards=board_list)
+        self.assertTrue(
+            os.path.exists(os.path.join(self._output_dir, 'u-boot')))
+
+    def testWorkInOutputFail(self):
+        """Test the -w option failures"""
+        with self.assertRaises(SystemExit) as e:
+            self._RunControl('-o', self._output_dir, '-w', clean_dir=False)
+        self.assertIn("single board", str(e.exception))
+        self.assertFalse(
+            os.path.exists(os.path.join(self._output_dir, 'u-boot')))
+
+        board_list = board.Boards()
+        board_list.AddBoard(board.Board(*boards[0]))
+        with self.assertRaises(SystemExit) as e:
+            self._RunControl('-b', self._test_branch, '-o', self._output_dir,
+                             '-w', clean_dir=False, boards=board_list)
+        self.assertIn("single commit", str(e.exception))
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 05/23] buildman: Update help for -d
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (3 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 04/23] bulidman: Add support for a simple build Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code Simon Glass
                   ` (17 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This help is a bit ambiguous. It only does anything if asked to show size
changes with -S. Update the help and the function comments.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Reword the commit message for clarity

 tools/buildman/builder.py | 6 +++---
 tools/buildman/cmdline.py | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 081c1d0901..a41d0b316e 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -337,7 +337,7 @@ class Builder:
 
         show_errors: True to show summarised error/warning info
         show_sizes: Show size deltas
-        show_detail: Show detail for each board
+        show_detail: Show size delta detail for each board if show_sizes
         show_bloat: Show detail for each function
         list_error_boards: Show the boards which caused each error/warning
         show_config: Show config deltas
@@ -1000,7 +1000,7 @@ class Builder:
                 board.target
             board_dict: Dict containing boards for which we built this
                 commit, keyed by board.target. The value is an Outcome object.
-            show_detail: Show detail for each board
+            show_detail: Show size delta detail for each board
             show_bloat: Show detail for each function
         """
         arch_list = {}
@@ -1117,7 +1117,7 @@ class Builder:
             environment: Dictionary keyed by environment variable, Each
                      value is the value of environment variable.
             show_sizes: Show image size deltas
-            show_detail: Show detail for each board
+            show_detail: Show size delta detail for each board if show_sizes
             show_bloat: Show detail for each function
             show_config: Show config changes
             show_environment: Show environment changes
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index c7b4bf6b4a..74b410010d 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -31,7 +31,7 @@ def ParseArgs():
           help='Reconfigure for every commit (disable incremental build)')
     parser.add_option('-d', '--detail', dest='show_detail',
           action='store_true', default=False,
-          help='Show detailed information for each board in summary')
+          help='Show detailed size delta for each board in the -S summary')
     parser.add_option('-D', '--config-only', action='store_true', default=False,
           help="Don't build, just configure each commit")
     parser.add_option('-e', '--show_errors', action='store_true',
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (4 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 05/23] buildman: Update help for -d Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 07/23] buildman: Be more selective about which directories to remove Simon Glass
                   ` (16 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Sometimes we don't want buildman to return failure if it seems warnings.
Add a -W option to support this. If buildman detects warnings (and no
errors) it will return an exit code of 0 (success).

Note that the definition of 'warnings' includes the migration warnings
produced by U-Boot, such as:

    ===================== WARNING ======================
    This board does not use CONFIG_DM_MMC. Please update
    ...
    ====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3:
- Add more documentation on -W and the interaction with -E
- Expand the commit message

Changes in v2: None

 tools/buildman/README     | 20 ++++++++++++++++++--
 tools/buildman/cmdline.py |  2 ++
 tools/buildman/control.py |  2 +-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/tools/buildman/README b/tools/buildman/README
index abbbbea9f2..116a0ee545 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -1070,16 +1070,32 @@ This will write the full build into /tmp/build including object files.
 Other options
 =============
 
-Buildman has various other command line options. Try --help to see them.
+Buildman has various other command-line options. Try --help to see them.
 
 To find out what architecture or toolchain prefix buildman will use for a build,
 see the -a and -A options.
 
+To request that compiler warnings be promoted to errors, use -E. This passes the
+-Werror flag to the compiler. Note that the build can still produce warnings
+with -E, e.g. the migration warnings:
+
+        ===================== WARNING ======================
+        This board does not use CONFIG_DM_MMC. Please update
+        ...
+        ====================================================
+
 When doing builds, Buildman's return code will reflect the overall result:
 
     0 (success)     No errors or warnings found
     128             Errors found
-    129             Warnings found
+    129             Warnings found (only if no -W)
+
+You can use -W to tell Buildman to return 0 (success) instead of 129 when
+warnings are found. Note that it can be useful to combine -E and -W. This means
+that all compiler warnings will produce failures (code 128) and all other
+warnings will produce success (since 129 is changed to 0).
+
+If there are both warnings and errors, errors win, so buildman returns 128.
 
 
 How to change from MAKEALL
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index 74b410010d..f387aeb1cf 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -108,6 +108,8 @@ def ParseArgs():
           default=False, help='Run make with V=1, logging all output')
     parser.add_option('-w', '--work-in-output', action='store_true',
           default=False, help='Use the output directory as the work directory')
+    parser.add_option('-W', '--ignore-warnings', action='store_true',
+          default=False, help='Return success even if there are warnings')
     parser.add_option('-x', '--exclude', dest='exclude',
           type='string', action='append',
           help='Specify a list of boards to exclude, separated by comma')
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 5d80400f7a..ded4360250 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -386,6 +386,6 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
                                 options.keep_outputs, options.verbose)
             if fail:
                 return 128
-            elif warned:
+            elif warned and not options.ignore_warnings:
                 return 129
     return 0
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 07/23] buildman: Be more selective about which directories to remove
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (5 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:20   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir Simon Glass
                   ` (15 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

At present buildman removes any directory it doesn't intend to write
output into. This is overly expansive since if the output directory
happens to be somewhere with existing files, they may be removed. Using
an existing directory for buildman is not a good practice, but since the
result might be catastrophic, it is best to guard against it.

A previous commit[1] fixed this by refusing to write to a subdirectory
of the current directory, assumed to have U-Boot source code. But we can
do better by only removing directories that look like the ones buildman
creates.

Update the code to do this and add a test.

Signed-off-by: Simon Glass <sjg@chromium.org>

[1] 409fc029c40 tools: buildman: Don't use the working dir as build dir

---

Changes in v3: None
Changes in v2: None

 tools/buildman/builder.py | 27 ++++++++++++++++++++++-----
 tools/buildman/test.py    | 20 ++++++++++++++++++++
 2 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index a41d0b316e..30ec4254f8 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -485,6 +485,7 @@ class Builder:
         if self.commits:
             commit = self.commits[commit_upto]
             subject = commit.subject.translate(trans_valid_chars)
+            # See _GetOutputSpaceRemovals() which parses this name
             commit_dir = ('%02d_of_%02d_g%s_%s' % (commit_upto + 1,
                     self.commit_count, commit.hash, subject[:20]))
         elif not self.no_subdirs:
@@ -1525,12 +1526,15 @@ class Builder:
         for thread in range(max_threads):
             self._PrepareThread(thread, setup_git)
 
-    def _PrepareOutputSpace(self):
+    def _GetOutputSpaceRemovals(self):
         """Get the output directories ready to receive files.
 
-        We delete any output directories which look like ones we need to
-        create. Having left over directories is confusing when the user wants
-        to check the output manually.
+        Figure out what needs to be deleted in the output directory before it
+        can be used. We only delete old buildman directories which have the
+        expected name pattern. See _GetOutputDir().
+
+        Returns:
+            List of full paths of directories to remove
         """
         if not self.commits:
             return
@@ -1541,7 +1545,20 @@ class Builder:
         to_remove = []
         for dirname in glob.glob(os.path.join(self.base_dir, '*')):
             if dirname not in dir_list:
-                to_remove.append(dirname)
+                leaf = dirname[len(self.base_dir) + 1:]
+                m =  re.match('[0-9]+_of_[0-9]+_g[0-9a-f]+_.*', leaf)
+                if m:
+                    to_remove.append(dirname)
+        return to_remove
+
+    def _PrepareOutputSpace(self):
+        """Get the output directories ready to receive files.
+
+        We delete any output directories which look like ones we need to
+        create. Having left over directories is confusing when the user wants
+        to check the output manually.
+        """
+        to_remove = self._GetOutputSpaceRemovals()
         if to_remove:
             Print('Removing %d old build directories' % len(to_remove),
                   newline=False)
diff --git a/tools/buildman/test.py b/tools/buildman/test.py
index acd862b3b0..2aaedf44ac 100644
--- a/tools/buildman/test.py
+++ b/tools/buildman/test.py
@@ -22,6 +22,7 @@ import commit
 import terminal
 import test_util
 import toolchain
+import tools
 
 use_network = True
 
@@ -469,6 +470,25 @@ class TestBuild(unittest.TestCase):
         self.assertEqual('HOSTCC=clang CC=clang',
                          tc.GetEnvArgs(toolchain.VAR_MAKE_ARGS))
 
+    def testPrepareOutputSpace(self):
+        def _Touch(fname):
+            tools.WriteFile(os.path.join(base_dir, fname), b'')
+
+        base_dir = tempfile.mkdtemp()
+
+        # Add various files that we want removed and left alone
+        to_remove = ['01_of_22_g0982734987_title', '102_of_222_g92bf_title',
+                     '01_of_22_g2938abd8_title']
+        to_leave = ['something_else', '01-something.patch', '01_of_22_another']
+        for name in to_remove + to_leave:
+            _Touch(name)
+
+        build = builder.Builder(self.toolchains, base_dir, None, 1, 2)
+        build.commits = self.commits
+        build.commit_count = len(commits)
+        result = set(build._GetOutputSpaceRemovals())
+        expected = set([os.path.join(base_dir, f) for f in to_remove])
+        self.assertEqual(expected, result)
 
 if __name__ == "__main__":
     unittest.main()
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (6 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 07/23] buildman: Be more selective about which directories to remove Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 09/23] buildman: Drop the -a option Simon Glass
                   ` (14 subsequent siblings)
  22 siblings, 1 reply; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This is useful in some situations, in particular with -w and when building
in-tree. Now that we are more careful about what we remove in
_PrepareOutputSpace(), it should be safe to relax this restriction.

Update the progress information also so it is clear what buildman is
doing. Remove files can take a long time.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2: None

 tools/buildman/builder.py   |  3 ++-
 tools/buildman/control.py   | 23 -----------------------
 tools/buildman/func_test.py |  9 ---------
 3 files changed, 2 insertions(+), 33 deletions(-)

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 30ec4254f8..70c55c588a 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -1560,10 +1560,11 @@ class Builder:
         """
         to_remove = self._GetOutputSpaceRemovals()
         if to_remove:
-            Print('Removing %d old build directories' % len(to_remove),
+            Print('Removing %d old build directories...' % len(to_remove),
                   newline=False)
             for dirname in to_remove:
                 shutil.rmtree(dirname)
+            Print('done')
 
     def BuildBoards(self, commits, board_selected, keep_outputs, verbose):
         """Build all commits for a list of boards
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index ded4360250..7d31863c63 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -85,28 +85,6 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
         for warning in board_warnings:
             print(col.Color(col.YELLOW, warning))
 
-def CheckOutputDir(output_dir):
-    """Make sure that the output directory is not within the current directory
-
-    If we try to use an output directory which is within the current directory
-    (which is assumed to hold the U-Boot source) we may end up deleting the
-    U-Boot source code. Detect this and print an error in this case.
-
-    Args:
-        output_dir: Output directory path to check
-    """
-    path = os.path.realpath(output_dir)
-    cwd_path = os.path.realpath('.')
-    while True:
-        if os.path.realpath(path) == cwd_path:
-            Print("Cannot use output directory '%s' since it is within the current directory '%s'" %
-                  (path, cwd_path))
-            sys.exit(1)
-        parent = os.path.dirname(path)
-        if parent == path:
-            break
-        path = parent
-
 def ShowToolchainInfo(boards, toolchains, print_arch, print_prefix):
     """Show information about a the tool chain used by one or more boards
 
@@ -331,7 +309,6 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
             output_dir = os.path.join(options.output_dir, dirname)
         if clean_dir and os.path.exists(output_dir):
             shutil.rmtree(output_dir)
-    CheckOutputDir(output_dir)
     builder = Builder(toolchains, output_dir, options.git_dir,
             options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
             show_unknown=options.show_unknown, step=options.step,
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index f9f8f80593..2a256a9263 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -534,15 +534,6 @@ class TestFunctional(unittest.TestCase):
         self.assertEqual(self._builder.count, self._total_builds)
         self.assertEqual(self._builder.fail, 0)
 
-    def testBadOutputDir(self):
-        """Test building with an output dir the same as out current dir"""
-        self._test_branch = '/__dev/__testbranch'
-        with self.assertRaises(SystemExit):
-            self._RunControl('-b', self._test_branch, '-o', os.getcwd())
-        with self.assertRaises(SystemExit):
-            self._RunControl('-b', self._test_branch, '-o',
-                             os.path.join(os.getcwd(), 'test'))
-
     def testWorkInOutput(self):
         """Test the -w option which should write directly to the output dir"""
         board_list = board.Boards()
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 09/23] buildman: Drop the -a option
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (7 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 10/23] travis: Don't copy files into .bm-work/ Simon Glass
                   ` (13 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

There is no point in setting the ARCH environment variable since the
U-Boot build system no-longer uses it.

It seems safe to drop this feature since it was only recently added.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3:
- Drop mention of -a in the README also

Changes in v2:
- Add a new patch to drop the -a option

 tools/buildman/README     |  4 ++--
 tools/buildman/cmdline.py |  2 --
 tools/buildman/control.py | 17 ++++++-----------
 3 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/tools/buildman/README b/tools/buildman/README
index 116a0ee545..4cf0114157 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -1072,8 +1072,8 @@ Other options
 
 Buildman has various other command-line options. Try --help to see them.
 
-To find out what architecture or toolchain prefix buildman will use for a build,
-see the -a and -A options.
+To find out what toolchain prefix buildman will use for a build, use the -A
+option.
 
 To request that compiler warnings be promoted to errors, use -E. This passes the
 -Werror flag to the compiler. Note that the build can still produce warnings
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index f387aeb1cf..17ea015a95 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -13,8 +13,6 @@ def ParseArgs():
             args: command lin arguments
     """
     parser = OptionParser()
-    parser.add_option('-a', '--print-arch', action='store_true',
-          help='Print the architecture for a board (ARCH=)')
     parser.add_option('-A', '--print-prefix', action='store_true',
           help='Print the tool-chain prefix for a board (CROSS_COMPILE=)')
     parser.add_option('-b', '--branch', type='string',
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 7d31863c63..5ddc598c95 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -85,16 +85,15 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
         for warning in board_warnings:
             print(col.Color(col.YELLOW, warning))
 
-def ShowToolchainInfo(boards, toolchains, print_arch, print_prefix):
+def ShowToolchainPrefix(boards, toolchains):
     """Show information about a the tool chain used by one or more boards
 
-    The function checks that all boards use the same toolchain.
+    The function checks that all boards use the same toolchain, then prints
+    the correct value for CROSS_COMPILE.
 
     Args:
         boards: Boards object containing selected boards
         toolchains: Toolchains object containing available toolchains
-        print_arch: True to print ARCH value
-        print_prefix: True to print CROSS_COMPILE value
 
     Return:
         None on success, string error message otherwise
@@ -107,10 +106,7 @@ def ShowToolchainInfo(boards, toolchains, print_arch, print_prefix):
         return 'Supplied boards must share one toolchain'
         return False
     tc = tc_set.pop()
-    if print_arch:
-        print(tc.GetEnvArgs(toolchain.VAR_ARCH))
-    if print_prefix:
-        print(tc.GetEnvArgs(toolchain.VAR_CROSS_COMPILE))
+    print(tc.GetEnvArgs(toolchain.VAR_CROSS_COMPILE))
     return None
 
 def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
@@ -206,9 +202,8 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
     if not len(selected):
         sys.exit(col.Color(col.RED, 'No matching boards found'))
 
-    if options.print_arch or options.print_prefix:
-        err = ShowToolchainInfo(boards, toolchains, options.print_arch,
-                                options.print_prefix)
+    if options.print_prefix:
+        err = ShowToolchainInfo(boards, toolchains)
         if err:
             sys.exit(col.Color(col.RED, err))
         return 0
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 10/23] travis: Don't copy files into .bm-work/
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (8 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 09/23] buildman: Drop the -a option Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 11/23] travis: Split the building into two parts Simon Glass
                   ` (12 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

At present if TEST_PY_BD is empty the script copies various files into a
directory, to no purpose. This happens because UBOOT_TRAVIS_BUILD_DIR is
set before TEST_PY_BD is tested.

Move the 'if' to fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Add a new patch to avoid copying files into .bm-work/

 .travis.yml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c59bd7790b..f6e3a5d3af 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -130,12 +130,12 @@ script:
  # never prevent any test from running. That way, we can always pass
  # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
  # value.
- - export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
-   cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
-   cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/;
-   cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
-   cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
-   if [[ "${TEST_PY_BD}" != "" ]]; then
+ - if [[ "${TEST_PY_BD}" != "" ]]; then
+     export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
+     cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
+     cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/;
+     cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
+     cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
      virtualenv -p /usr/bin/python3 /tmp/venv;
      . /tmp/venv/bin/activate;
      pip install -r test/py/requirements.txt;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 11/23] travis: Split the building into two parts
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (9 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 10/23] travis: Don't copy files into .bm-work/ Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
                   ` (11 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Buildman is used in two ways:

- to build a selection of boards (with no testing)
- to build a single board (and run pytest)

The gitlab and azure scrips do this in separate places, but travis does
not. To aid the refactoring process and keep the following patches in sync
across all three environments, split the code out in travis as well.

Use the buildman -w option for the single board. It is easier to
understand since it specifies the output directory directly. Also it
avoids needing to look at the internal .bm-work directory.

This initially creates some duplicate code, but by the end of the series
we have two completely different build paths with different arguments.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Add a new patch to split travis building into two parts

 .travis.yml | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index f6e3a5d3af..f3703085ba 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -118,7 +118,8 @@ script:
  #
  # From buildman, exit code 129 means warnings only.  If we've been asked to
  # use clang only do one configuration.
- - if [[ "${BUILDMAN}" != "" ]]; then
+ # Build a selection of boards if TEST_PY_BD is empty
+ - if [[ "${BUILDMAN}" != "" ]] && [[ "${TEST_PY_BD}" == "" ]]; then
      ret=0;
      tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
@@ -130,12 +131,20 @@ script:
  # never prevent any test from running. That way, we can always pass
  # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
  # value.
+ # Build just the one board needed for testing, if TEST_PY_BD is non-empty
  - if [[ "${TEST_PY_BD}" != "" ]]; then
-     export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
+     export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/${TEST_PY_BD};
      cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
      cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/;
      cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
      cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
+     ret=0;
+     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E ${BUILDMAN}
+       ${OVERRIDE}|| ret=$?;
+     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+       tools/buildman/buildman -sde -o ${UBOOT_TRAVIS_BUILD_DIR} -w ${BUILDMAN};
+       exit $ret;
+     fi;
      virtualenv -p /usr/bin/python3 /tmp/venv;
      . /tmp/venv/bin/activate;
      pip install -r test/py/requirements.txt;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (10 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 11/23] travis: Split the building into two parts Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
                     ` (2 more replies)
  2020-03-18 15:42 ` [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py Simon Glass
                   ` (10 subsequent siblings)
  22 siblings, 3 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Avoid needing to know about the internal .bm-work directory, by passing
the -w flag to buildman.

This does not affect travis since the previous commit already used the -w
flag.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update azure also

 .azure-pipelines.yml | 4 ++--
 .gitlab-ci.yml       | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index f66d58aa76..182482a93a 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -136,10 +136,10 @@ jobs:
           virtualenv -p /usr/bin/python3 /tmp/venv
           . /tmp/venv/bin/activate
           pip install pyelftools
-          export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/sandbox_spl
+          export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
           export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
           export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}
-          ./tools/buildman/buildman -o /tmp -P sandbox_spl
+          ./tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w sandbox_spl
           ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test
           ./tools/buildman/buildman -t
           ./tools/dtoc/dtoc -t
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 55943bb3a2..248e0530d2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -167,10 +167,10 @@ Run binman, buildman, dtoc and patman testsuites:
       virtualenv -p /usr/bin/python3 /tmp/venv;
       . /tmp/venv/bin/activate;
       pip install pyelftools;
-      export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/sandbox_spl;
+      export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl;
       export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
       export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
-      ./tools/buildman/buildman -o /tmp -P sandbox_spl;
+      ./tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w sandbox_spl;
       ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
       ./tools/buildman/buildman -t;
       ./tools/dtoc/dtoc -t;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (11 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable " Simon Glass
                   ` (9 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

The current method of selecting the board to build with test.py is a bit
error-prone, e.g. with "^sandbox$" it actually builds 5 boards (all of
those in the sandbox architecture).

Use the (newish) --board flag instead, to get the same result.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update travis, azure also

 .azure-pipelines.yml | 46 ++++++++++++++++++++---------------------
 .gitlab-ci.yml       | 47 +++++++++++++++++++++---------------------
 .travis.yml          | 49 ++++++++++++++++++++++----------------------
 3 files changed, 72 insertions(+), 70 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 182482a93a..8092545642 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -158,90 +158,90 @@ jobs:
       matrix:
         sandbox:
           TEST_PY_BD: "sandbox"
-          BUILDMAN: "^sandbox$"
+          BUILDMAN: "sandbox"
         sandbox_clang:
           TEST_PY_BD: "sandbox"
-          BUILDMAN: "^sandbox$"
+          BUILDMAN: "sandbox"
           OVERRIDE: "-O clang-7"
         sandbox_spl:
           TEST_PY_BD: "sandbox_spl"
           TEST_PY_TEST_SPEC: "test_ofplatdata"
-          BUILDMAN: "^sandbox_spl$"
+          BUILDMAN: "sandbox_spl"
         sandbox_flattree:
           TEST_PY_BD: "sandbox_flattree"
-          BUILDMAN: "^sandbox_flattree$"
+          BUILDMAN: "sandbox_flattree"
         evb_ast2500:
           TEST_PY_BD: "evb-ast2500"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "^evb-ast2500$"
+          BUILDMAN: "evb-ast2500"
         vexpress_ca15_tc2:
           TEST_PY_BD: "vexpress_ca15_tc2"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "^vexpress_ca15_tc2$"
+          BUILDMAN: "vexpress_ca15_tc2"
         vexpress_ca9x4:
           TEST_PY_BD: "vexpress_ca9x4"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "^vexpress_ca9x4$"
+          BUILDMAN: "vexpress_ca9x4"
         integratorcp_cm926ejs:
           TEST_PY_BD: "integratorcp_cm926ejs"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^integratorcp_cm926ejs$"
+          BUILDMAN: "integratorcp_cm926ejs"
         qemu_arm:
           TEST_PY_BD: "qemu_arm"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_arm$"
+          BUILDMAN: "qemu_arm"
         qemu_arm64:
           TEST_PY_BD: "qemu_arm64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_arm64$"
+          BUILDMAN: "qemu_arm64"
         qemu_mips:
           TEST_PY_BD: "qemu_mips"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_mips$"
+          BUILDMAN: "qemu_mips"
         qemu_mipsel:
           TEST_PY_BD: "qemu_mipsel"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_mipsel$"
+          BUILDMAN: "qemu_mipsel"
         qemu_mips64:
           TEST_PY_BD: "qemu_mips64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_mips64$"
+          BUILDMAN: "qemu_mips64"
         qemu_mips64el:
           TEST_PY_BD: "qemu_mips64el"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu_mips64el$"
+          BUILDMAN: "qemu_mips64el"
         qemu_ppce500:
           TEST_PY_BD: "qemu-ppce500"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu-ppce500$"
+          BUILDMAN: "qemu-ppce500"
         qemu_riscv64:
           TEST_PY_BD: "qemu-riscv64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu-riscv64$"
+          BUILDMAN: "qemu-riscv64"
         qemu_x86:
           TEST_PY_BD: "qemu-x86"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu-x86$"
+          BUILDMAN: "qemu-x86"
         qemu_x86_64:
           TEST_PY_BD: "qemu-x86_64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^qemu-x86_64$"
+          BUILDMAN: "qemu-x86_64"
         zynq_zc702:
           TEST_PY_BD: "zynq_zc702"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^zynq_zc702$"
+          BUILDMAN: "zynq_zc702"
         xilinx_versal_virt:
           TEST_PY_BD: "xilinx_versal_virt"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^xilinx_versal_virt$"
+          BUILDMAN: "xilinx_versal_virt"
         xtfpga:
           TEST_PY_BD: "xtfpga"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "^xtfpga$"
+          BUILDMAN: "xtfpga"
     steps:
       - script: |
           cat << EOF > test.sh
@@ -269,9 +269,9 @@ jobs:
           cd ${WORK_DIR}
           if [[ "${BUILDMAN}" != "" ]]; then
               ret=0;
-              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
+              tools/buildman/buildman -o /tmp -P -E --board ${BUILDMAN} ${OVERRIDE} || ret=$?;
               if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-                  tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN};
+                  tools/buildman/buildman -o /tmp -sdeP --board ${BUILDMAN};
                   exit $ret;
               fi;
           fi
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 248e0530d2..3f48cad752 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,9 +31,10 @@ stages:
     # use clang only do one configuration.
     - if [[ "${BUILDMAN}" != "" ]]; then
         ret=0;
-        tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
+        tools/buildman/buildman -o /tmp -P -E --board ${BUILDMAN} ${OVERRIDE}
+          || ret=$?;
         if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-          tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN};
+          tools/buildman/buildman -o /tmp -sdeP --board ${BUILDMAN};
           exit $ret;
         fi;
       fi
@@ -181,14 +182,14 @@ sandbox test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox"
-    BUILDMAN: "^sandbox$"
+    BUILDMAN: "sandbox"
   <<: *buildman_and_testpy_dfn
 
 sandbox with clang test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox"
-    BUILDMAN: "^sandbox$"
+    BUILDMAN: "sandbox"
     OVERRIDE: "-O clang-7"
   <<: *buildman_and_testpy_dfn
 
@@ -196,7 +197,7 @@ sandbox_spl test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox_spl"
-    BUILDMAN: "^sandbox_spl$"
+    BUILDMAN: "sandbox_spl"
     TEST_PY_TEST_SPEC: "test_ofplatdata"
   <<: *buildman_and_testpy_dfn
 
@@ -205,14 +206,14 @@ evb-ast2500 test.py:
   variables:
     TEST_PY_BD: "evb-ast2500"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^evb-ast2500$"
+    BUILDMAN: "evb-ast2500"
   <<: *buildman_and_testpy_dfn
 
 sandbox_flattree test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox_flattree"
-    BUILDMAN: "^sandbox_flattree$"
+    BUILDMAN: "sandbox_flattree"
   <<: *buildman_and_testpy_dfn
 
 vexpress_ca15_tc2 test.py:
@@ -220,7 +221,7 @@ vexpress_ca15_tc2 test.py:
   variables:
     TEST_PY_BD: "vexpress_ca15_tc2"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^vexpress_ca15_tc2$"
+    BUILDMAN: "vexpress_ca15_tc2"
   <<: *buildman_and_testpy_dfn
 
 vexpress_ca9x4 test.py:
@@ -228,7 +229,7 @@ vexpress_ca9x4 test.py:
   variables:
     TEST_PY_BD: "vexpress_ca9x4"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^vexpress_ca9x4$"
+    BUILDMAN: "vexpress_ca9x4"
   <<: *buildman_and_testpy_dfn
 
 integratorcp_cm926ejs test.py:
@@ -237,7 +238,7 @@ integratorcp_cm926ejs test.py:
     TEST_PY_BD: "integratorcp_cm926ejs"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^integratorcp_cm926ejs$"
+    BUILDMAN: "integratorcp_cm926ejs"
   <<: *buildman_and_testpy_dfn
 
 qemu_arm test.py:
@@ -245,7 +246,7 @@ qemu_arm test.py:
   variables:
     TEST_PY_BD: "qemu_arm"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_arm$"
+    BUILDMAN: "qemu_arm"
   <<: *buildman_and_testpy_dfn
 
 qemu_arm64 test.py:
@@ -253,7 +254,7 @@ qemu_arm64 test.py:
   variables:
     TEST_PY_BD: "qemu_arm64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_arm64$"
+    BUILDMAN: "qemu_arm64"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips test.py:
@@ -261,7 +262,7 @@ qemu_mips test.py:
   variables:
     TEST_PY_BD: "qemu_mips"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_mips$"
+    BUILDMAN: "qemu_mips"
   <<: *buildman_and_testpy_dfn
 
 qemu_mipsel test.py:
@@ -269,7 +270,7 @@ qemu_mipsel test.py:
   variables:
     TEST_PY_BD: "qemu_mipsel"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_mipsel$"
+    BUILDMAN: "qemu_mipsel"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips64 test.py:
@@ -277,7 +278,7 @@ qemu_mips64 test.py:
   variables:
     TEST_PY_BD: "qemu_mips64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_mips64$"
+    BUILDMAN: "qemu_mips64"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips64el test.py:
@@ -285,7 +286,7 @@ qemu_mips64el test.py:
   variables:
     TEST_PY_BD: "qemu_mips64el"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu_mips64el$"
+    BUILDMAN: "qemu_mips64el"
   <<: *buildman_and_testpy_dfn
 
 qemu-ppce500 test.py:
@@ -293,7 +294,7 @@ qemu-ppce500 test.py:
   variables:
     TEST_PY_BD: "qemu-ppce500"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu-ppce500$"
+    BUILDMAN: "qemu-ppce500"
   <<: *buildman_and_testpy_dfn
 
 qemu-riscv64 test.py:
@@ -301,7 +302,7 @@ qemu-riscv64 test.py:
   variables:
     TEST_PY_BD: "qemu-riscv64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu-riscv64$"
+    BUILDMAN: "qemu-riscv64"
   <<: *buildman_and_testpy_dfn
 
 qemu-x86 test.py:
@@ -309,7 +310,7 @@ qemu-x86 test.py:
   variables:
     TEST_PY_BD: "qemu-x86"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu-x86$"
+    BUILDMAN: "qemu-x86"
   <<: *buildman_and_testpy_dfn
 
 qemu-x86_64 test.py:
@@ -317,7 +318,7 @@ qemu-x86_64 test.py:
   variables:
     TEST_PY_BD: "qemu-x86_64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "^qemu-x86_64$"
+    BUILDMAN: "qemu-x86_64"
   <<: *buildman_and_testpy_dfn
 
 zynq_zc702 test.py:
@@ -326,7 +327,7 @@ zynq_zc702 test.py:
     TEST_PY_BD: "zynq_zc702"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^zynq_zc702$"
+    BUILDMAN: "zynq_zc702"
   <<: *buildman_and_testpy_dfn
 
 xilinx_versal_virt test.py:
@@ -335,7 +336,7 @@ xilinx_versal_virt test.py:
     TEST_PY_BD: "xilinx_versal_virt"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^xilinx_versal_virt$"
+    BUILDMAN: "xilinx_versal_virt"
   <<: *buildman_and_testpy_dfn
 
 xtfpga test.py:
@@ -344,5 +345,5 @@ xtfpga test.py:
     TEST_PY_BD: "xtfpga"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "^xtfpga$"
+    BUILDMAN: "xtfpga"
   <<: *buildman_and_testpy_dfn
diff --git a/.travis.yml b/.travis.yml
index f3703085ba..3149ed6a15 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -139,10 +139,11 @@ script:
      cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
      cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
      ret=0;
-     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E ${BUILDMAN}
-       ${OVERRIDE}|| ret=$?;
+     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
+       --board ${BUILDMAN} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-       tools/buildman/buildman -sde -o ${UBOOT_TRAVIS_BUILD_DIR} -w ${BUILDMAN};
+       tools/buildman/buildman -sde -o ${UBOOT_TRAVIS_BUILD_DIR} -w
+         --board ${BUILDMAN};
        exit $ret;
      fi;
      virtualenv -p /usr/bin/python3 /tmp/venv;
@@ -399,110 +400,110 @@ matrix:
     - name: "test/py sandbox"
       env:
         - TEST_PY_BD="sandbox"
-          BUILDMAN="^sandbox$"
+          BUILDMAN="sandbox"
           TOOLCHAIN="i386"
     - name: "test/py sandbox with clang"
       env:
         - TEST_PY_BD="sandbox"
-          BUILDMAN="^sandbox$"
+          BUILDMAN="sandbox"
           OVERRIDE="-O clang-7"
     - name: "test/py sandbox_spl"
       env:
         - TEST_PY_BD="sandbox_spl"
           TEST_PY_TEST_SPEC="test_ofplatdata"
-          BUILDMAN="^sandbox$"
+          BUILDMAN="sandbox"
           TOOLCHAIN="i386"
           TEST_PY_TOOLS="yes"
     - name: "test/py sandbox_flattree"
       env:
         - TEST_PY_BD="sandbox_flattree"
-          BUILDMAN="^sandbox_flattree$"
+          BUILDMAN="sandbox_flattree"
           TOOLCHAIN="i386"
     - name: "test/py evb-ast2500"
       env:
         - TEST_PY_BD="evb-ast2500"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="^evb-ast2500$"
+          BUILDMAN="evb-ast2500"
     - name: "test/py vexpress_ca15_tc2"
       env:
         - TEST_PY_BD="vexpress_ca15_tc2"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="^vexpress_ca15_tc2$"
+          BUILDMAN="vexpress_ca15_tc2"
     - name: "test/py vexpress_ca9x4"
       env:
         - TEST_PY_BD="vexpress_ca9x4"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="^vexpress_ca9x4$"
+          BUILDMAN="vexpress_ca9x4"
     - name: "test/py integratorcp_cm926ejs"
       env:
         - TEST_PY_BD="integratorcp_cm926ejs"
           TEST_PY_TEST_SPEC="not sleep"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="^integratorcp_cm926ejs$"
+          BUILDMAN="integratorcp_cm926ejs"
     - name: "test/py qemu_arm"
       env:
         - TEST_PY_BD="qemu_arm"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="^qemu_arm$"
+          BUILDMAN="qemu_arm"
     - name: "test/py qemu_arm64"
       env:
         - TEST_PY_BD="qemu_arm64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="aarch64-softmmu"
-          BUILDMAN="^qemu_arm64$"
+          BUILDMAN="qemu_arm64"
     - name: "test/py qemu_mips"
       env:
         - TEST_PY_BD="qemu_mips"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips-softmmu"
-          BUILDMAN="^qemu_mips$"
+          BUILDMAN="qemu_mips"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mipsel"
       env:
         - TEST_PY_BD="qemu_mipsel"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mipsel-softmmu"
-          BUILDMAN="^qemu_mipsel$"
+          BUILDMAN="qemu_mipsel"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mips64"
       env:
         - TEST_PY_BD="qemu_mips64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips64-softmmu"
-          BUILDMAN="^qemu_mips64$"
+          BUILDMAN="qemu_mips64"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mips64el"
       env:
         - TEST_PY_BD="qemu_mips64el"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips64el-softmmu"
-          BUILDMAN="^qemu_mips64el$"
+          BUILDMAN="qemu_mips64el"
           TOOLCHAIN="mips"
     - name: "test/py qemu-ppce500"
       env:
         - TEST_PY_BD="qemu-ppce500"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="ppc-softmmu"
-          BUILDMAN="^qemu-ppce500$"
+          BUILDMAN="qemu-ppce500"
           TOOLCHAIN="powerpc"
     - name: "test/py qemu-riscv64"
       env:
         - TEST_PY_BD="qemu-riscv64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="riscv64-softmmu"
-          BUILDMAN="^qemu-riscv64$"
+          BUILDMAN="qemu-riscv64"
           TOOLCHAIN="riscv"
     - name: "test/py qemu-x86"
       env:
         - TEST_PY_BD="qemu-x86"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="i386-softmmu"
-          BUILDMAN="^qemu-x86$"
+          BUILDMAN="qemu-x86"
           TOOLCHAIN="i386"
           BUILD_ROM="yes"
     - name: "test/py qemu-x86_64"
@@ -510,7 +511,7 @@ matrix:
         - TEST_PY_BD="qemu-x86_64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="x86_64-softmmu"
-          BUILDMAN="^qemu-x86_64$"
+          BUILDMAN="qemu-x86_64"
           TOOLCHAIN="i386"
           BUILD_ROM="yes"
     - name: "test/py zynq_zc702"
@@ -519,21 +520,21 @@ matrix:
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="arm-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="^zynq_zc702$"
+          BUILDMAN="zynq_zc702"
     - name: "test/py xilinx_versal_virt"
       env:
         - TEST_PY_BD="xilinx_versal_virt"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="aarch64-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="^xilinx_versal_virt$"
+          BUILDMAN="xilinx_versal_virt"
     - name: "test/py xtfpga"
       env:
         - TEST_PY_BD="xtfpga"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="xtensa-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="^xtfpga$"
+          BUILDMAN="xtfpga"
           TOOLCHAIN="xtensa-dc233c-elf"
 
 # TODO make it perfect ;-r
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable with test.py
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (12 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag Simon Glass
                   ` (8 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This is not needed in the test.py part of the config, now since we use the
same name as the pytests.

Drop BUILDMAN, retaining it only for the 'build' parts of the config, i.e.
where we build multiple boards and don't run any tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update travis, azure also

 .azure-pipelines.yml | 28 +++-------------------------
 .gitlab-ci.yml       | 27 +++------------------------
 .travis.yml          | 27 +++------------------------
 3 files changed, 9 insertions(+), 73 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 8092545642..3d5b12ba3e 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -158,90 +158,69 @@ jobs:
       matrix:
         sandbox:
           TEST_PY_BD: "sandbox"
-          BUILDMAN: "sandbox"
         sandbox_clang:
           TEST_PY_BD: "sandbox"
-          BUILDMAN: "sandbox"
           OVERRIDE: "-O clang-7"
         sandbox_spl:
           TEST_PY_BD: "sandbox_spl"
           TEST_PY_TEST_SPEC: "test_ofplatdata"
-          BUILDMAN: "sandbox_spl"
         sandbox_flattree:
           TEST_PY_BD: "sandbox_flattree"
-          BUILDMAN: "sandbox_flattree"
         evb_ast2500:
           TEST_PY_BD: "evb-ast2500"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "evb-ast2500"
         vexpress_ca15_tc2:
           TEST_PY_BD: "vexpress_ca15_tc2"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "vexpress_ca15_tc2"
         vexpress_ca9x4:
           TEST_PY_BD: "vexpress_ca9x4"
           TEST_PY_ID: "--id qemu"
-          BUILDMAN: "vexpress_ca9x4"
         integratorcp_cm926ejs:
           TEST_PY_BD: "integratorcp_cm926ejs"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "integratorcp_cm926ejs"
         qemu_arm:
           TEST_PY_BD: "qemu_arm"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_arm"
         qemu_arm64:
           TEST_PY_BD: "qemu_arm64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_arm64"
         qemu_mips:
           TEST_PY_BD: "qemu_mips"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_mips"
         qemu_mipsel:
           TEST_PY_BD: "qemu_mipsel"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_mipsel"
         qemu_mips64:
           TEST_PY_BD: "qemu_mips64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_mips64"
         qemu_mips64el:
           TEST_PY_BD: "qemu_mips64el"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu_mips64el"
         qemu_ppce500:
           TEST_PY_BD: "qemu-ppce500"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu-ppce500"
         qemu_riscv64:
           TEST_PY_BD: "qemu-riscv64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu-riscv64"
         qemu_x86:
           TEST_PY_BD: "qemu-x86"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu-x86"
         qemu_x86_64:
           TEST_PY_BD: "qemu-x86_64"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "qemu-x86_64"
         zynq_zc702:
           TEST_PY_BD: "zynq_zc702"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "zynq_zc702"
         xilinx_versal_virt:
           TEST_PY_BD: "xilinx_versal_virt"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "xilinx_versal_virt"
         xtfpga:
           TEST_PY_BD: "xtfpga"
           TEST_PY_ID: "--id qemu"
           TEST_PY_TEST_SPEC: "not sleep"
-          BUILDMAN: "xtfpga"
     steps:
       - script: |
           cat << EOF > test.sh
@@ -251,7 +230,6 @@ jobs:
           export TEST_PY_BD="${TEST_PY_BD}"
           export TEST_PY_ID="${TEST_PY_ID}"
           export TEST_PY_TEST_SPEC="${TEST_PY_TEST_SPEC}"
-          export BUILDMAN="${BUILDMAN}"
           export OVERRIDE="${OVERRIDE}"
           EOF
           cat << "EOF" >> test.sh
@@ -267,11 +245,11 @@ jobs:
           cp /opt/grub/grubarm.efi ~/grub_arm.efi
           # the below corresponds to .gitlab-ci.yml "script"
           cd ${WORK_DIR}
-          if [[ "${BUILDMAN}" != "" ]]; then
+          if [[ "${TEST_PY_BD}" != "" ]]; then
               ret=0;
-              tools/buildman/buildman -o /tmp -P -E --board ${BUILDMAN} ${OVERRIDE} || ret=$?;
+              tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
               if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-                  tools/buildman/buildman -o /tmp -sdeP --board ${BUILDMAN};
+                  tools/buildman/buildman -o /tmp -sdeP --board ${TEST_PY_BD};
                   exit $ret;
               fi;
           fi
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3f48cad752..2cd6209222 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,12 +29,12 @@ stages:
   script:
     # From buildman, exit code 129 means warnings only.  If we've been asked to
     # use clang only do one configuration.
-    - if [[ "${BUILDMAN}" != "" ]]; then
+    - if [[ "${TEST_PY_BD}" != "" ]]; then
         ret=0;
-        tools/buildman/buildman -o /tmp -P -E --board ${BUILDMAN} ${OVERRIDE}
+        tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
           || ret=$?;
         if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-          tools/buildman/buildman -o /tmp -sdeP --board ${BUILDMAN};
+          tools/buildman/buildman -o /tmp -sdeP --board ${TEST_PY_BD};
           exit $ret;
         fi;
       fi
@@ -182,14 +182,12 @@ sandbox test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox"
-    BUILDMAN: "sandbox"
   <<: *buildman_and_testpy_dfn
 
 sandbox with clang test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox"
-    BUILDMAN: "sandbox"
     OVERRIDE: "-O clang-7"
   <<: *buildman_and_testpy_dfn
 
@@ -197,7 +195,6 @@ sandbox_spl test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox_spl"
-    BUILDMAN: "sandbox_spl"
     TEST_PY_TEST_SPEC: "test_ofplatdata"
   <<: *buildman_and_testpy_dfn
 
@@ -206,14 +203,12 @@ evb-ast2500 test.py:
   variables:
     TEST_PY_BD: "evb-ast2500"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "evb-ast2500"
   <<: *buildman_and_testpy_dfn
 
 sandbox_flattree test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox_flattree"
-    BUILDMAN: "sandbox_flattree"
   <<: *buildman_and_testpy_dfn
 
 vexpress_ca15_tc2 test.py:
@@ -221,7 +216,6 @@ vexpress_ca15_tc2 test.py:
   variables:
     TEST_PY_BD: "vexpress_ca15_tc2"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "vexpress_ca15_tc2"
   <<: *buildman_and_testpy_dfn
 
 vexpress_ca9x4 test.py:
@@ -229,7 +223,6 @@ vexpress_ca9x4 test.py:
   variables:
     TEST_PY_BD: "vexpress_ca9x4"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "vexpress_ca9x4"
   <<: *buildman_and_testpy_dfn
 
 integratorcp_cm926ejs test.py:
@@ -238,7 +231,6 @@ integratorcp_cm926ejs test.py:
     TEST_PY_BD: "integratorcp_cm926ejs"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "integratorcp_cm926ejs"
   <<: *buildman_and_testpy_dfn
 
 qemu_arm test.py:
@@ -246,7 +238,6 @@ qemu_arm test.py:
   variables:
     TEST_PY_BD: "qemu_arm"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_arm"
   <<: *buildman_and_testpy_dfn
 
 qemu_arm64 test.py:
@@ -254,7 +245,6 @@ qemu_arm64 test.py:
   variables:
     TEST_PY_BD: "qemu_arm64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_arm64"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips test.py:
@@ -262,7 +252,6 @@ qemu_mips test.py:
   variables:
     TEST_PY_BD: "qemu_mips"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_mips"
   <<: *buildman_and_testpy_dfn
 
 qemu_mipsel test.py:
@@ -270,7 +259,6 @@ qemu_mipsel test.py:
   variables:
     TEST_PY_BD: "qemu_mipsel"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_mipsel"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips64 test.py:
@@ -278,7 +266,6 @@ qemu_mips64 test.py:
   variables:
     TEST_PY_BD: "qemu_mips64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_mips64"
   <<: *buildman_and_testpy_dfn
 
 qemu_mips64el test.py:
@@ -286,7 +273,6 @@ qemu_mips64el test.py:
   variables:
     TEST_PY_BD: "qemu_mips64el"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu_mips64el"
   <<: *buildman_and_testpy_dfn
 
 qemu-ppce500 test.py:
@@ -294,7 +280,6 @@ qemu-ppce500 test.py:
   variables:
     TEST_PY_BD: "qemu-ppce500"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu-ppce500"
   <<: *buildman_and_testpy_dfn
 
 qemu-riscv64 test.py:
@@ -302,7 +287,6 @@ qemu-riscv64 test.py:
   variables:
     TEST_PY_BD: "qemu-riscv64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu-riscv64"
   <<: *buildman_and_testpy_dfn
 
 qemu-x86 test.py:
@@ -310,7 +294,6 @@ qemu-x86 test.py:
   variables:
     TEST_PY_BD: "qemu-x86"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu-x86"
   <<: *buildman_and_testpy_dfn
 
 qemu-x86_64 test.py:
@@ -318,7 +301,6 @@ qemu-x86_64 test.py:
   variables:
     TEST_PY_BD: "qemu-x86_64"
     TEST_PY_TEST_SPEC: "not sleep"
-    BUILDMAN: "qemu-x86_64"
   <<: *buildman_and_testpy_dfn
 
 zynq_zc702 test.py:
@@ -327,7 +309,6 @@ zynq_zc702 test.py:
     TEST_PY_BD: "zynq_zc702"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "zynq_zc702"
   <<: *buildman_and_testpy_dfn
 
 xilinx_versal_virt test.py:
@@ -336,7 +317,6 @@ xilinx_versal_virt test.py:
     TEST_PY_BD: "xilinx_versal_virt"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "xilinx_versal_virt"
   <<: *buildman_and_testpy_dfn
 
 xtfpga test.py:
@@ -345,5 +325,4 @@ xtfpga test.py:
     TEST_PY_BD: "xtfpga"
     TEST_PY_TEST_SPEC: "not sleep"
     TEST_PY_ID: "--id qemu"
-    BUILDMAN: "xtfpga"
   <<: *buildman_and_testpy_dfn
diff --git a/.travis.yml b/.travis.yml
index 3149ed6a15..42a3923565 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -119,7 +119,7 @@ script:
  # From buildman, exit code 129 means warnings only.  If we've been asked to
  # use clang only do one configuration.
  # Build a selection of boards if TEST_PY_BD is empty
- - if [[ "${BUILDMAN}" != "" ]] && [[ "${TEST_PY_BD}" == "" ]]; then
+ - if [[ "${BUILDMAN}" != "" ]]; then
      ret=0;
      tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
@@ -140,10 +140,10 @@ script:
      cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
      ret=0;
      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
-       --board ${BUILDMAN} ${OVERRIDE}|| ret=$?;
+       --board ${TEST_PY_BD} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
        tools/buildman/buildman -sde -o ${UBOOT_TRAVIS_BUILD_DIR} -w
-         --board ${BUILDMAN};
+         --board ${TEST_PY_BD};
        exit $ret;
      fi;
      virtualenv -p /usr/bin/python3 /tmp/venv;
@@ -400,110 +400,93 @@ matrix:
     - name: "test/py sandbox"
       env:
         - TEST_PY_BD="sandbox"
-          BUILDMAN="sandbox"
           TOOLCHAIN="i386"
     - name: "test/py sandbox with clang"
       env:
         - TEST_PY_BD="sandbox"
-          BUILDMAN="sandbox"
           OVERRIDE="-O clang-7"
     - name: "test/py sandbox_spl"
       env:
         - TEST_PY_BD="sandbox_spl"
           TEST_PY_TEST_SPEC="test_ofplatdata"
-          BUILDMAN="sandbox"
           TOOLCHAIN="i386"
           TEST_PY_TOOLS="yes"
     - name: "test/py sandbox_flattree"
       env:
         - TEST_PY_BD="sandbox_flattree"
-          BUILDMAN="sandbox_flattree"
           TOOLCHAIN="i386"
     - name: "test/py evb-ast2500"
       env:
         - TEST_PY_BD="evb-ast2500"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="evb-ast2500"
     - name: "test/py vexpress_ca15_tc2"
       env:
         - TEST_PY_BD="vexpress_ca15_tc2"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="vexpress_ca15_tc2"
     - name: "test/py vexpress_ca9x4"
       env:
         - TEST_PY_BD="vexpress_ca9x4"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="vexpress_ca9x4"
     - name: "test/py integratorcp_cm926ejs"
       env:
         - TEST_PY_BD="integratorcp_cm926ejs"
           TEST_PY_TEST_SPEC="not sleep"
           TEST_PY_ID="--id qemu"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="integratorcp_cm926ejs"
     - name: "test/py qemu_arm"
       env:
         - TEST_PY_BD="qemu_arm"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="arm-softmmu"
-          BUILDMAN="qemu_arm"
     - name: "test/py qemu_arm64"
       env:
         - TEST_PY_BD="qemu_arm64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="aarch64-softmmu"
-          BUILDMAN="qemu_arm64"
     - name: "test/py qemu_mips"
       env:
         - TEST_PY_BD="qemu_mips"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips-softmmu"
-          BUILDMAN="qemu_mips"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mipsel"
       env:
         - TEST_PY_BD="qemu_mipsel"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mipsel-softmmu"
-          BUILDMAN="qemu_mipsel"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mips64"
       env:
         - TEST_PY_BD="qemu_mips64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips64-softmmu"
-          BUILDMAN="qemu_mips64"
           TOOLCHAIN="mips"
     - name: "test/py qemu_mips64el"
       env:
         - TEST_PY_BD="qemu_mips64el"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="mips64el-softmmu"
-          BUILDMAN="qemu_mips64el"
           TOOLCHAIN="mips"
     - name: "test/py qemu-ppce500"
       env:
         - TEST_PY_BD="qemu-ppce500"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="ppc-softmmu"
-          BUILDMAN="qemu-ppce500"
           TOOLCHAIN="powerpc"
     - name: "test/py qemu-riscv64"
       env:
         - TEST_PY_BD="qemu-riscv64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="riscv64-softmmu"
-          BUILDMAN="qemu-riscv64"
           TOOLCHAIN="riscv"
     - name: "test/py qemu-x86"
       env:
         - TEST_PY_BD="qemu-x86"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="i386-softmmu"
-          BUILDMAN="qemu-x86"
           TOOLCHAIN="i386"
           BUILD_ROM="yes"
     - name: "test/py qemu-x86_64"
@@ -511,7 +494,6 @@ matrix:
         - TEST_PY_BD="qemu-x86_64"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="x86_64-softmmu"
-          BUILDMAN="qemu-x86_64"
           TOOLCHAIN="i386"
           BUILD_ROM="yes"
     - name: "test/py zynq_zc702"
@@ -520,21 +502,18 @@ matrix:
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="arm-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="zynq_zc702"
     - name: "test/py xilinx_versal_virt"
       env:
         - TEST_PY_BD="xilinx_versal_virt"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="aarch64-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="xilinx_versal_virt"
     - name: "test/py xtfpga"
       env:
         - TEST_PY_BD="xtfpga"
           TEST_PY_TEST_SPEC="not sleep"
           QEMU_TARGET="xtensa-softmmu"
           TEST_PY_ID="--id qemu"
-          BUILDMAN="xtfpga"
           TOOLCHAIN="xtensa-dc233c-elf"
 
 # TODO make it perfect ;-r
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (13 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable " Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py Simon Glass
                   ` (7 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

This has no effect since -S is not given also. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update travis, azure also

 .azure-pipelines.yml |  4 ++--
 .gitlab-ci.yml       | 10 +++++-----
 .travis.yml          |  4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 3d5b12ba3e..684359b88b 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -249,7 +249,7 @@ jobs:
               ret=0;
               tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
               if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-                  tools/buildman/buildman -o /tmp -sdeP --board ${TEST_PY_BD};
+                  tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
                   exit $ret;
               fi;
           fi
@@ -401,7 +401,7 @@ jobs:
               ret=0;
               tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
               if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-                  tools/buildman/buildman -o /tmp -sdeP ${BUILDMAN};
+                  tools/buildman/buildman -o /tmp -seP ${BUILDMAN};
                   exit $ret;
               fi;
           fi
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2cd6209222..36c2ecfa43 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,7 +34,7 @@ stages:
         tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
           || ret=$?;
         if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-          tools/buildman/buildman -o /tmp -sdeP --board ${TEST_PY_BD};
+          tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
           exit $ret;
         fi;
       fi
@@ -65,7 +65,7 @@ build all 32bit ARM platforms:
     - ret=0;
       ./tools/buildman/buildman -o /tmp -P -E arm -x aarch64 || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        ./tools/buildman/buildman -o /tmp -sdeP;
+        ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
 
@@ -79,7 +79,7 @@ build all 64bit ARM platforms:
     - ret=0;
       ./tools/buildman/buildman -o /tmp -P -E aarch64 || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        ./tools/buildman/buildman -o /tmp -sdeP;
+        ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
 
@@ -90,7 +90,7 @@ build all PowerPC platforms:
     - ret=0;
       ./tools/buildman/buildman -o /tmp -P -E powerpc || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        ./tools/buildman/buildman -o /tmp -sdeP;
+        ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
 
@@ -101,7 +101,7 @@ build all other platforms:
     - ret=0;
       ./tools/buildman/buildman -o /tmp -P -E -x arm,powerpc || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        ./tools/buildman/buildman -o /tmp -sdeP;
+        ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
 
diff --git a/.travis.yml b/.travis.yml
index 42a3923565..d7c16326ff 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -123,7 +123,7 @@ script:
      ret=0;
      tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-       tools/buildman/buildman -sdeP ${BUILDMAN};
+       tools/buildman/buildman -seP ${BUILDMAN};
        exit $ret;
      fi;
    fi
@@ -142,7 +142,7 @@ script:
      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
        --board ${TEST_PY_BD} ${OVERRIDE}|| ret=$?;
      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-       tools/buildman/buildman -sde -o ${UBOOT_TRAVIS_BUILD_DIR} -w
+       tools/buildman/buildman -se -o ${UBOOT_TRAVIS_BUILD_DIR} -w
          --board ${TEST_PY_BD};
        exit $ret;
      fi;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (14 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds Simon Glass
                   ` (6 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Since TEST_PY_BD is always defined we can drop this check.

This does not affect travis since it has a single, unified script.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update azure also

 .azure-pipelines.yml | 22 +++++++++-------------
 .gitlab-ci.yml       | 30 +++++++++++++-----------------
 2 files changed, 22 insertions(+), 30 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 684359b88b..96f279853e 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -245,13 +245,11 @@ jobs:
           cp /opt/grub/grubarm.efi ~/grub_arm.efi
           # the below corresponds to .gitlab-ci.yml "script"
           cd ${WORK_DIR}
-          if [[ "${TEST_PY_BD}" != "" ]]; then
-              ret=0;
-              tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
-              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-                  tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
-                  exit $ret;
-              fi;
+          ret=0;
+          tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
+          if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+              tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
+              exit $ret;
           fi
           virtualenv -p /usr/bin/python3 /tmp/venv
           . /tmp/venv/bin/activate
@@ -259,12 +257,10 @@ jobs:
           export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
           export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
           export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
-          if [[ "${TEST_PY_BD}" != "" ]]; then
-              ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
-              ret=$?;
-              if [[ $ret -ne 0 ]]; then
-                  exit $ret;
-              fi;
+          ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
+          ret=$?;
+          if [[ $ret -ne 0 ]]; then
+              exit $ret;
           fi
           # the below corresponds to .gitlab-ci.yml "after_script"
           rm -rf /tmp/uboot-test-hooks /tmp/venv
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 36c2ecfa43..b29d59d942 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,14 +29,12 @@ stages:
   script:
     # From buildman, exit code 129 means warnings only.  If we've been asked to
     # use clang only do one configuration.
-    - if [[ "${TEST_PY_BD}" != "" ]]; then
-        ret=0;
-        tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
-          || ret=$?;
-        if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-          tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
-          exit $ret;
-        fi;
+    - ret=0;
+      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
+        || ret=$?;
+      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
+        exit $ret;
       fi
     # "not a_test_which_does_not_exist" is a dummy -k parameter which will
     # never prevent any test from running. That way, we can always pass
@@ -48,15 +46,13 @@ stages:
     - export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
       export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
-      if [[ "${TEST_PY_BD}" != "" ]]; then
-        ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
-          -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
-          --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
-        ret=$?;
-        if [[ $ret -ne 0 ]]; then
-          exit $ret;
-        fi;
-      fi;
+      ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
+        -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
+        --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
+      ret=$?;
+      if [[ $ret -ne 0 ]]; then
+        exit $ret;
+      fi
 
 build all 32bit ARM platforms:
   tags: [ 'all' ]
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (15 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist Simon Glass
                   ` (5 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Avoid needing to know about the internal .bm-work directory, by passing
the -w flag to buildman.

This is not needed on travis since the -w flag is already used (from a
previous patch).

Drop the -P flag since this has no effect if -w is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Leave in the repeated call to buildman
- Update azure also

 .azure-pipelines.yml |  6 +++---
 .gitlab-ci.yml       | 11 ++++++-----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 96f279853e..b7222db97f 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -245,16 +245,16 @@ jobs:
           cp /opt/grub/grubarm.efi ~/grub_arm.efi
           # the below corresponds to .gitlab-ci.yml "script"
           cd ${WORK_DIR}
+          export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
           ret=0;
-          tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
+          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
           if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-              tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
+              tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se --board ${TEST_PY_BD};
               exit $ret;
           fi
           virtualenv -p /usr/bin/python3 /tmp/venv
           . /tmp/venv/bin/activate
           pip install -r test/py/requirements.txt
-          export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
           export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
           export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
           ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b29d59d942..38f2cba69f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,11 +29,13 @@ stages:
   script:
     # From buildman, exit code 129 means warnings only.  If we've been asked to
     # use clang only do one configuration.
+    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
     - ret=0;
-      tools/buildman/buildman -o /tmp -P -E --board ${TEST_PY_BD} ${OVERRIDE}
-        || ret=$?;
+      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
+        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
       if [[ $ret -ne 0 && $ret -ne 129 ]]; then
-        tools/buildman/buildman -o /tmp -seP --board ${TEST_PY_BD};
+        tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se
+           --board ${TEST_PY_BD};
         exit $ret;
       fi
     # "not a_test_which_does_not_exist" is a dummy -k parameter which will
@@ -43,8 +45,7 @@ stages:
     - virtualenv -p /usr/bin/python3 /tmp/venv
     - . /tmp/venv/bin/activate
     - pip install -r test/py/requirements.txt
-    - export UBOOT_TRAVIS_BUILD_DIR=/tmp/.bm-work/${TEST_PY_BD};
-      export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
+    - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
       ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
         -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (16 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
                   ` (4 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Bash allows for variables to expand only if non-empty:

	$ var=test
	$ echo ${var:+"$var"}
	test
	$ echo ${var:+"-k $var"}
	-k test
	$ var=
	$ echo ${var:+"-k $var"}

Use this feature to avoid the workaround.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Add a comment about the obscure bash feature
- Update travis, azure also

 .azure-pipelines.yml | 3 ++-
 .gitlab-ci.yml       | 7 ++-----
 .travis.yml          | 7 ++-----
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index b7222db97f..50d00fa899 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -257,7 +257,8 @@ jobs:
           pip install -r test/py/requirements.txt
           export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
           export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
-          ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}" --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
+          # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
+          ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
           ret=$?;
           if [[ $ret -ne 0 ]]; then
               exit $ret;
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 38f2cba69f..48b90b2ba3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,17 +38,14 @@ stages:
            --board ${TEST_PY_BD};
         exit $ret;
       fi
-    # "not a_test_which_does_not_exist" is a dummy -k parameter which will
-    # never prevent any test from running. That way, we can always pass
-    # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
-    # value.
     - virtualenv -p /usr/bin/python3 /tmp/venv
     - . /tmp/venv/bin/activate
     - pip install -r test/py/requirements.txt
+    # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
     - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
       ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
-        -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
+        ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
         --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
       ret=$?;
       if [[ $ret -ne 0 ]]; then
diff --git a/.travis.yml b/.travis.yml
index d7c16326ff..887654ca96 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -127,11 +127,8 @@ script:
        exit $ret;
      fi;
    fi
- # "not a_test_which_does_not_exist" is a dummy -k parameter which will
- # never prevent any test from running. That way, we can always pass
- # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
- # value.
  # Build just the one board needed for testing, if TEST_PY_BD is non-empty
+ # Note: "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
  - if [[ "${TEST_PY_BD}" != "" ]]; then
      export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/${TEST_PY_BD};
      cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
@@ -150,7 +147,7 @@ script:
      . /tmp/venv/bin/activate;
      pip install -r test/py/requirements.txt;
      ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
-       -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
+       ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
        --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
      ret=$?;
      if [[ $ret -ne 0 ]]; then
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (17 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
                     ` (2 more replies)
  2020-03-18 15:42 ` [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff Simon Glass
                   ` (3 subsequent siblings)
  22 siblings, 3 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

We can use the -W flag to tell buildman to ignore warnings. Since we also
have -E defined, compiler warnings are promoted to errors, so they will
still cause a failure. But migration warnings of the form:

    ===================== WARNING ======================
    This board does not use CONFIG_DM. CONFIG_DM will be
    compulsory starting with the v2020.01 release.
    Failure to update may result in board removal.
    See doc/driver-model/migration.rst for more info.

will now be ignored.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 329f5ef51d2 (travis.yml: run buildman with option -E)
---

Changes in v3:
- Bring back the -E flag and add -W
- Rewrite the commit message

Changes in v2:
- Add Fixes tag
- Just drop the -E flag
- Update travis, azure also

 .azure-pipelines.yml |  8 ++++----
 .gitlab-ci.yml       | 23 +++++++++++------------
 .travis.yml          | 13 ++++++-------
 3 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 50d00fa899..a97a3f8b19 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -247,8 +247,8 @@ jobs:
           cd ${WORK_DIR}
           export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
           ret=0;
-          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
-          if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
+          if [[ $ret -ne 0 ]]; then
               tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se --board ${TEST_PY_BD};
               exit $ret;
           fi
@@ -396,8 +396,8 @@ jobs:
           cat << "EOF" >> build.sh
           if [[ "${BUILDMAN}" != "" ]]; then
               ret=0;
-              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
-              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+              tools/buildman/buildman -o /tmp -P -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
+              if [[ $ret -ne 0 ]]; then
                   tools/buildman/buildman -o /tmp -seP ${BUILDMAN};
                   exit $ret;
               fi;
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 48b90b2ba3..501e3ff3ab 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,13 +27,12 @@ stages:
   after_script:
     - rm -rf /tmp/uboot-test-hooks /tmp/venv
   script:
-    # From buildman, exit code 129 means warnings only.  If we've been asked to
-    # use clang only do one configuration.
+    # If we've been asked to use clang only do one configuration.
     - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
     - ret=0;
-      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
+      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
         --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
-      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+      if [[ $ret -ne 0 ]]; then
         tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se
            --board ${TEST_PY_BD};
         exit $ret;
@@ -57,8 +56,8 @@ build all 32bit ARM platforms:
   stage: world build
   script:
     - ret=0;
-      ./tools/buildman/buildman -o /tmp -P -E arm -x aarch64 || ret=$?;
-      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+      ./tools/buildman/buildman -o /tmp -P -E -W arm -x aarch64 || ret=$?;
+      if [[ $ret -ne 0 ]]; then
         ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
@@ -71,8 +70,8 @@ build all 64bit ARM platforms:
     - . /tmp/venv/bin/activate
     - pip install pyelftools
     - ret=0;
-      ./tools/buildman/buildman -o /tmp -P -E aarch64 || ret=$?;
-      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+      ./tools/buildman/buildman -o /tmp -P -E -W aarch64 || ret=$?;
+      if [[ $ret -ne 0 ]]; then
         ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
@@ -82,8 +81,8 @@ build all PowerPC platforms:
   stage: world build
   script:
     - ret=0;
-      ./tools/buildman/buildman -o /tmp -P -E powerpc || ret=$?;
-      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+      ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
+      if [[ $ret -ne 0 ]]; then
         ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
@@ -93,8 +92,8 @@ build all other platforms:
   stage: world build
   script:
     - ret=0;
-      ./tools/buildman/buildman -o /tmp -P -E -x arm,powerpc || ret=$?;
-      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+      ./tools/buildman/buildman -o /tmp -P -E -W -x arm,powerpc || ret=$?;
+      if [[ $ret -ne 0 ]]; then
         ./tools/buildman/buildman -o /tmp -seP;
         exit $ret;
       fi;
diff --git a/.travis.yml b/.travis.yml
index 887654ca96..bf3ef4860b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -116,13 +116,12 @@ script:
  # Comments must be outside the command strings below, or the Travis parser
  # will get confused.
  #
- # From buildman, exit code 129 means warnings only.  If we've been asked to
- # use clang only do one configuration.
+ # If we've been asked to use clang only do one configuration.
+ #
  # Build a selection of boards if TEST_PY_BD is empty
  - if [[ "${BUILDMAN}" != "" ]]; then
-     ret=0;
-     tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
-     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+     tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE};
+     if [[ $ret -ne 0 ]]; then
        tools/buildman/buildman -seP ${BUILDMAN};
        exit $ret;
      fi;
@@ -136,9 +135,9 @@ script:
      cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
      cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
      ret=0;
-     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
+     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
        --board ${TEST_PY_BD} ${OVERRIDE}|| ret=$?;
-     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+     if [[ $ret -ne 0 ]]; then
        tools/buildman/buildman -se -o ${UBOOT_TRAVIS_BUILD_DIR} -w
          --board ${TEST_PY_BD};
        exit $ret;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (18 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  2020-03-18 15:42 ` [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py Simon Glass
                   ` (2 subsequent siblings)
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

Ensure that this SPL test runs on gitlab.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update travis, azure also

 .azure-pipelines.yml | 2 +-
 .gitlab-ci.yml       | 2 +-
 .travis.yml          | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index a97a3f8b19..612e645d0a 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -163,7 +163,7 @@ jobs:
           OVERRIDE: "-O clang-7"
         sandbox_spl:
           TEST_PY_BD: "sandbox_spl"
-          TEST_PY_TEST_SPEC: "test_ofplatdata"
+          TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff"
         sandbox_flattree:
           TEST_PY_BD: "sandbox_flattree"
         evb_ast2500:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 501e3ff3ab..065ac769f9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -188,7 +188,7 @@ sandbox_spl test.py:
   tags: [ 'all' ]
   variables:
     TEST_PY_BD: "sandbox_spl"
-    TEST_PY_TEST_SPEC: "test_ofplatdata"
+    TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff"
   <<: *buildman_and_testpy_dfn
 
 evb-ast2500 test.py:
diff --git a/.travis.yml b/.travis.yml
index bf3ef4860b..5be4c54403 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -404,7 +404,7 @@ matrix:
     - name: "test/py sandbox_spl"
       env:
         - TEST_PY_BD="sandbox_spl"
-          TEST_PY_TEST_SPEC="test_ofplatdata"
+          TEST_PY_TEST_SPEC="test_ofplatdata or test_handoff"
           TOOLCHAIN="i386"
           TEST_PY_TOOLS="yes"
     - name: "test/py sandbox_flattree"
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (19 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff Simon Glass
@ 2020-03-18 15:42 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  2020-03-18 15:43 ` [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py Simon Glass
  2020-03-18 15:43 ` [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot Simon Glass
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:42 UTC (permalink / raw)
  To: u-boot

It seems unnecessary to read the exit code and then check it again. Drop
this and just let the test.py provide the exit code directly.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Update travis, azure also

 .azure-pipelines.yml | 4 ----
 .gitlab-ci.yml       | 6 +-----
 .travis.yml          | 6 +-----
 3 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 612e645d0a..28a6583319 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -259,10 +259,6 @@ jobs:
           export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
           # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
           ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
-          ret=$?;
-          if [[ $ret -ne 0 ]]; then
-              exit $ret;
-          fi
           # the below corresponds to .gitlab-ci.yml "after_script"
           rm -rf /tmp/uboot-test-hooks /tmp/venv
           EOF
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 065ac769f9..64d8b1bdfc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -45,11 +45,7 @@ stages:
       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
       ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
         ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
-        --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
-      ret=$?;
-      if [[ $ret -ne 0 ]]; then
-        exit $ret;
-      fi
+        --build-dir "$UBOOT_TRAVIS_BUILD_DIR"
 
 build all 32bit ARM platforms:
   tags: [ 'all' ]
diff --git a/.travis.yml b/.travis.yml
index 5be4c54403..757e425467 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -147,11 +147,7 @@ script:
      pip install -r test/py/requirements.txt;
      ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
        ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
-       --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
-     ret=$?;
-     if [[ $ret -ne 0 ]]; then
-       exit $ret;
-     fi;
+       --build-dir "$UBOOT_TRAVIS_BUILD_DIR" || exit;
      if [[ -n "${TEST_PY_TOOLS}" ]]; then
        export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
        export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (20 preceding siblings ...)
  2020-03-18 15:42 ` [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py Simon Glass
@ 2020-03-18 15:43 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  2020-03-18 15:43 ` [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot Simon Glass
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:43 UTC (permalink / raw)
  To: u-boot

It does not seem to be necessary to run buildman again to show errors,
since any errors can be shown by the first invocation and there is only
a single board being built. Update this to simplify the code, using the
-e flag to make sure errors are shown.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Add new patch to drop the repeated buildman call

 .azure-pipelines.yml | 10 +++-------
 .gitlab-ci.yml       | 10 ++--------
 .travis.yml          | 10 ++--------
 3 files changed, 7 insertions(+), 23 deletions(-)

diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 28a6583319..27bc249629 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -246,13 +246,9 @@ jobs:
           # the below corresponds to .gitlab-ci.yml "script"
           cd ${WORK_DIR}
           export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
-          ret=0;
-          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
-          if [[ $ret -ne 0 ]]; then
-              tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se --board ${TEST_PY_BD};
-              exit $ret;
-          fi
-          virtualenv -p /usr/bin/python3 /tmp/venv
+          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board ${TEST_PY_BD} ${OVERRIDE}
+
+                    virtualenv -p /usr/bin/python3 /tmp/venv
           . /tmp/venv/bin/activate
           pip install -r test/py/requirements.txt
           export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 64d8b1bdfc..d171641576 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,14 +29,8 @@ stages:
   script:
     # If we've been asked to use clang only do one configuration.
     - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
-    - ret=0;
-      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
-        --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
-      if [[ $ret -ne 0 ]]; then
-        tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se
-           --board ${TEST_PY_BD};
-        exit $ret;
-      fi
+    - tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
+        --board ${TEST_PY_BD} ${OVERRIDE}
     - virtualenv -p /usr/bin/python3 /tmp/venv
     - . /tmp/venv/bin/activate
     - pip install -r test/py/requirements.txt
diff --git a/.travis.yml b/.travis.yml
index 757e425467..37fd8e483a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -134,14 +134,8 @@ script:
      cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/;
      cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
      cp ~/grub2-arm64/usr/lib/grub2/arm64-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi;
-     ret=0;
-     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
-       --board ${TEST_PY_BD} ${OVERRIDE}|| ret=$?;
-     if [[ $ret -ne 0 ]]; then
-       tools/buildman/buildman -se -o ${UBOOT_TRAVIS_BUILD_DIR} -w
-         --board ${TEST_PY_BD};
-       exit $ret;
-     fi;
+     tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
+       --board ${TEST_PY_BD} ${OVERRIDE} || exit;
      virtualenv -p /usr/bin/python3 /tmp/venv;
      . /tmp/venv/bin/activate;
      pip install -r test/py/requirements.txt;
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot
  2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
                   ` (21 preceding siblings ...)
  2020-03-18 15:43 ` [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py Simon Glass
@ 2020-03-18 15:43 ` Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  22 siblings, 2 replies; 67+ messages in thread
From: Simon Glass @ 2020-03-18 15:43 UTC (permalink / raw)
  To: u-boot

It is a pain to have to set the CROSS_COMPILE environment variable when
using test.py's --build option. It is possible to get this using the -A
option from buildman. But it seems better to just use buildman to do the
build when it is available.

However using buildman adds a new dependency to the test system which we
want to avoid. So leave the default as is and add a flag to make it use
buildman.

Note that most of these changes relate to test.py and the parts of the
travis/gitlab/azure scripts which relate to running test and building a
suitable U-Boot to run the tests on.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v3: None
Changes in v2:
- Convert this into an option, leaving the default as is

 test/py/README.md   | 13 ++++++++++++-
 test/py/conftest.py | 30 +++++++++++++++++++++---------
 2 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/test/py/README.md b/test/py/README.md
index 3cbe01b73e..2e5025258d 100644
--- a/test/py/README.md
+++ b/test/py/README.md
@@ -138,6 +138,9 @@ command-line option; see the next section.
   before running the tests. If using this option, make sure that any
   environment variables required by the build process are already set, such as
   `$CROSS_COMPILE`.
+- `--buildman` indicates that `--build` should use buildman to build U-Boot.
+  There is no need to set $CROSS_COMPILE` in this case since buildman handles
+  it.
 - `--build-dir` sets the directory containing the compiled U-Boot binaries.
   If omitted, this is `${source_dir}/build-${board_type}`.
 - `--result-dir` sets the directory to write results, such as log files,
@@ -333,7 +336,7 @@ PATH=$HOME/ubtest/bin:$PATH \
 
 If you want the test script to compile U-Boot for you too, then you likely
 need to set `$CROSS_COMPILE` to allow this, and invoke the test script as
-follow:
+follows:
 
 ```bash
 CROSS_COMPILE=arm-none-eabi- \
@@ -342,6 +345,14 @@ CROSS_COMPILE=arm-none-eabi- \
     ./test/py/test.py --bd seaboard --build
 ```
 
+or, using buildman to handle it:
+
+```bash
+    PATH=$HOME/ubtest/bin:$PATH \
+    PYTHONPATH=${HOME}/ubtest/py/${HOSTNAME}:${PYTHONPATH} \
+    ./test/py/test.py --bd seaboard --build --buildman
+```
+
 ## Writing tests
 
 Please refer to the pytest documentation for details of writing pytest tests.
diff --git a/test/py/conftest.py b/test/py/conftest.py
index 34ac4fb062..e3392ff6bc 100644
--- a/test/py/conftest.py
+++ b/test/py/conftest.py
@@ -70,6 +70,8 @@ def pytest_addoption(parser):
         help='U-Boot board identity/instance')
     parser.addoption('--build', default=False, action='store_true',
         help='Compile U-Boot before running tests')
+    parser.addoption('--buildman', default=False, action='store_true',
+        help='Use buildman to build U-Boot (assuming --build is given)')
     parser.addoption('--gdbserver', default=None,
         help='Run sandbox under gdbserver. The argument is the channel '+
         'over which gdbserver should communicate, e.g. localhost:1234')
@@ -140,16 +142,26 @@ def pytest_configure(config):
     log = multiplexed_log.Logfile(result_dir + '/test-log.html')
 
     if config.getoption('build'):
-        if build_dir != source_dir:
-            o_opt = 'O=%s' % build_dir
+        if config.getoption('buildman'):
+            if build_dir != source_dir:
+                dest_args = ['-o', build_dir, '-w']
+            else:
+                dest_args = ['-i']
+            cmds = (['buildman', '--board', board_type] + dest_args,)
+            name = 'buildman'
         else:
-            o_opt = ''
-        cmds = (
-            ['make', o_opt, '-s', board_type + '_defconfig'],
-            ['make', o_opt, '-s', '-j8'],
-        )
-        with log.section('make'):
-            runner = log.get_runner('make', sys.stdout)
+            if build_dir != source_dir:
+                o_opt = 'O=%s' % build_dir
+            else:
+                o_opt = ''
+            cmds = (
+                ['make', o_opt, '-s', board_type + '_defconfig'],
+                ['make', o_opt, '-s', '-j8'],
+            )
+            name = 'make'
+
+        with log.section(name):
+            runner = log.get_runner(name, sys.stdout)
             for cmd in cmds:
                 runner.run(cmd, cwd=source_dir)
             runner.close()
-- 
2.25.1.481.gfbce0eb801-goog

^ permalink raw reply related	[flat|nested] 67+ messages in thread

* [PATCH v3 02/23] main: Drop show_boot_progress() prototype
  2020-03-18 15:42 ` [PATCH v3 02/23] main: Drop show_boot_progress() prototype Simon Glass
@ 2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:20   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:12 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:40AM -0600, Simon Glass wrote:

> This is defined in bootstage.h and is not called in this file anyway. Drop
> it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/be031f5f/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code
  2020-03-18 15:42 ` [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code Simon Glass
@ 2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:20   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:12 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:44AM -0600, Simon Glass wrote:

> Sometimes we don't want buildman to return failure if it seems warnings.
> Add a -W option to support this. If buildman detects warnings (and no
> errors) it will return an exit code of 0 (success).
> 
> Note that the definition of 'warnings' includes the migration warnings
> produced by U-Boot, such as:
> 
>     ===================== WARNING ======================
>     This board does not use CONFIG_DM_MMC. Please update
>     ...
>     ====================================================
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/44aa69c8/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 10/23] travis: Don't copy files into .bm-work/
  2020-03-18 15:42 ` [PATCH v3 10/23] travis: Don't copy files into .bm-work/ Simon Glass
@ 2020-03-23 13:12   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:12 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:48AM -0600, Simon Glass wrote:

> At present if TEST_PY_BD is empty the script copies various files into a
> directory, to no purpose. This happens because UBOOT_TRAVIS_BUILD_DIR is
> set before TEST_PY_BD is tested.
> 
> Move the 'if' to fix this.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/3ad0185f/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl
  2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:50AM -0600, Simon Glass wrote:

> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> This does not affect travis since the previous commit already used the -w
> flag.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/7e9c9edf/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl
  2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  2 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:50AM -0600, Simon Glass wrote:

> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> This does not affect travis since the previous commit already used the -w
> flag.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/aed3e3fb/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 11/23] travis: Split the building into two parts
  2020-03-18 15:42 ` [PATCH v3 11/23] travis: Split the building into two parts Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:49AM -0600, Simon Glass wrote:

> Buildman is used in two ways:
> 
> - to build a selection of boards (with no testing)
> - to build a single board (and run pytest)
> 
> The gitlab and azure scrips do this in separate places, but travis does
> not. To aid the refactoring process and keep the following patches in sync
> across all three environments, split the code out in travis as well.
> 
> Use the buildman -w option for the single board. It is easier to
> understand since it specifies the output directory directly. Also it
> avoids needing to look at the internal .bm-work directory.
> 
> This initially creates some duplicate code, but by the end of the series
> we have two completely different build paths with different arguments.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/9ba36342/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py
  2020-03-18 15:42 ` [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:51AM -0600, Simon Glass wrote:

> The current method of selecting the board to build with test.py is a bit
> error-prone, e.g. with "^sandbox$" it actually builds 5 boards (all of
> those in the sandbox architecture).
> 
> Use the (newish) --board flag instead, to get the same result.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/8c04dde5/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 09/23] buildman: Drop the -a option
  2020-03-18 15:42 ` [PATCH v3 09/23] buildman: Drop the -a option Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:47AM -0600, Simon Glass wrote:

> There is no point in setting the ARCH environment variable since the
> U-Boot build system no-longer uses it.
> 
> It seems safe to drop this feature since it was only recently added.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/32e0fa9b/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag
  2020-03-18 15:42 ` [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:53AM -0600, Simon Glass wrote:

> This has no effect since -S is not given also. Drop it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/3b73c445/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py
  2020-03-18 15:42 ` [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:54AM -0600, Simon Glass wrote:

> Since TEST_PY_BD is always defined we can drop this check.
> 
> This does not affect travis since it has a single, unified script.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/d3b0f4e3/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds
  2020-03-18 15:42 ` [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:55AM -0600, Simon Glass wrote:

> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> This is not needed on travis since the -w flag is already used (from a
> previous patch).
> 
> Drop the -P flag since this has no effect if -w is used.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/fbf80286/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable with test.py
  2020-03-18 15:42 ` [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable " Simon Glass
@ 2020-03-23 13:13   ` Tom Rini
  2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:13 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:52AM -0600, Simon Glass wrote:

> This is not needed in the test.py part of the config, now since we use the
> same name as the pytests.
> 
> Drop BUILDMAN, retaining it only for the 'build' parts of the config, i.e.
> where we build multiple boards and don't run any tests.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/c2d5f9d8/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist
  2020-03-18 15:42 ` [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:56AM -0600, Simon Glass wrote:

> Bash allows for variables to expand only if non-empty:
> 
> 	$ var=test
> 	$ echo ${var:+"$var"}
> 	test
> 	$ echo ${var:+"-k $var"}
> 	-k test
> 	$ var=
> 	$ echo ${var:+"-k $var"}
> 
> Use this feature to avoid the workaround.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/a86c8f9c/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check
  2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  2020-04-15  7:30   ` Michal Simek
  2 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:57AM -0600, Simon Glass wrote:

> We can use the -W flag to tell buildman to ignore warnings. Since we also
> have -E defined, compiler warnings are promoted to errors, so they will
> still cause a failure. But migration warnings of the form:
> 
>     ===================== WARNING ======================
>     This board does not use CONFIG_DM. CONFIG_DM will be
>     compulsory starting with the v2020.01 release.
>     Failure to update may result in board removal.
>     See doc/driver-model/migration.rst for more info.
> 
> will now be ignored.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 329f5ef51d2 (travis.yml: run buildman with option -E)

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/107cd48e/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py
  2020-03-18 15:43 ` [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:43:00AM -0600, Simon Glass wrote:

> It does not seem to be necessary to run buildman again to show errors,
> since any errors can be shown by the first invocation and there is only
> a single board being built. Update this to simplify the code, using the
> -e flag to make sure errors are shown.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/0d0cac7f/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff
  2020-03-18 15:42 ` [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:58AM -0600, Simon Glass wrote:

> Ensure that this SPL test runs on gitlab.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/08bc0333/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py
  2020-03-18 15:42 ` [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:59AM -0600, Simon Glass wrote:

> It seems unnecessary to read the exit code and then check it again. Drop
> this and just let the test.py provide the exit code directly.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/d779af7a/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot
  2020-03-18 15:43 ` [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot Simon Glass
@ 2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-03-23 13:14 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:43:01AM -0600, Simon Glass wrote:

> It is a pain to have to set the CROSS_COMPILE environment variable when
> using test.py's --build option. It is possible to get this using the -A
> option from buildman. But it seems better to just use buildman to do the
> build when it is available.
> 
> However using buildman adds a new dependency to the test system which we
> want to avoid. So leave the default as is and add a flag to make it use
> buildman.
> 
> Note that most of these changes relate to test.py and the parts of the
> travis/gitlab/azure scripts which relate to running test and building a
> suitable U-Boot to run the tests on.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200323/21844c01/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 01/23] sandbox: Add documentation about required/useful packages
  2020-03-18 15:42 ` [PATCH v3 01/23] sandbox: Add documentation about required/useful packages Simon Glass
@ 2020-04-11 15:20   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:39AM -0600, Simon Glass wrote:

> Quite a few packages are used by sandbox or tools. Add a list of these to
> help people setting up for the first time.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/97400b15/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 02/23] main: Drop show_boot_progress() prototype
  2020-03-18 15:42 ` [PATCH v3 02/23] main: Drop show_boot_progress() prototype Simon Glass
  2020-03-23 13:12   ` Tom Rini
@ 2020-04-11 15:20   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:40AM -0600, Simon Glass wrote:

> This is defined in bootstage.h and is not called in this file anyway. Drop
> it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/75f13b79/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 03/23] buildman: Document the members of BuilderJob
  2020-03-18 15:42 ` [PATCH v3 03/23] buildman: Document the members of BuilderJob Simon Glass
@ 2020-04-11 15:20   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:41AM -0600, Simon Glass wrote:

> This class has a few more members now. Add documentation for them and fix
> a nit in the 'commits' comment.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/10fa192c/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 04/23] bulidman: Add support for a simple build
  2020-03-18 15:42 ` [PATCH v3 04/23] bulidman: Add support for a simple build Simon Glass
@ 2020-04-11 15:20   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:42AM -0600, Simon Glass wrote:

> It is useful to run a simple build and put all the output in a single
> directory. Add a -w option to support this.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/4d196fe7/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 05/23] buildman: Update help for -d
  2020-03-18 15:42 ` [PATCH v3 05/23] buildman: Update help for -d Simon Glass
@ 2020-04-11 15:20   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:43AM -0600, Simon Glass wrote:

> This help is a bit ambiguous. It only does anything if asked to show size
> changes with -S. Update the help and the function comments.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/25fe9d67/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code
  2020-03-18 15:42 ` [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code Simon Glass
  2020-03-23 13:12   ` Tom Rini
@ 2020-04-11 15:20   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:44AM -0600, Simon Glass wrote:

> Sometimes we don't want buildman to return failure if it seems warnings.
> Add a -W option to support this. If buildman detects warnings (and no
> errors) it will return an exit code of 0 (success).
> 
> Note that the definition of 'warnings' includes the migration warnings
> produced by U-Boot, such as:
> 
>     ===================== WARNING ======================
>     This board does not use CONFIG_DM_MMC. Please update
>     ...
>     ====================================================
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/1d4a4b56/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 07/23] buildman: Be more selective about which directories to remove
  2020-03-18 15:42 ` [PATCH v3 07/23] buildman: Be more selective about which directories to remove Simon Glass
@ 2020-04-11 15:20   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:20 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:45AM -0600, Simon Glass wrote:

> At present buildman removes any directory it doesn't intend to write
> output into. This is overly expansive since if the output directory
> happens to be somewhere with existing files, they may be removed. Using
> an existing directory for buildman is not a good practice, but since the
> result might be catastrophic, it is best to guard against it.
> 
> A previous commit[1] fixed this by refusing to write to a subdirectory
> of the current directory, assumed to have U-Boot source code. But we can
> do better by only removing directories that look like the ones buildman
> creates.
> 
> Update the code to do this and add a test.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> 
> [1] 409fc029c40 tools: buildman: Don't use the working dir as build dir

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/ffb86b3a/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir
  2020-03-18 15:42 ` [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir Simon Glass
@ 2020-04-11 15:21   ` Tom Rini
  0 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:46AM -0600, Simon Glass wrote:

> This is useful in some situations, in particular with -w and when building
> in-tree. Now that we are more careful about what we remove in
> _PrepareOutputSpace(), it should be safe to relax this restriction.
> 
> Update the progress information also so it is clear what buildman is
> doing. Remove files can take a long time.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/6366d282/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 09/23] buildman: Drop the -a option
  2020-03-18 15:42 ` [PATCH v3 09/23] buildman: Drop the -a option Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:47AM -0600, Simon Glass wrote:

> There is no point in setting the ARCH environment variable since the
> U-Boot build system no-longer uses it.
> 
> It seems safe to drop this feature since it was only recently added.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/c0ea926e/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 10/23] travis: Don't copy files into .bm-work/
  2020-03-18 15:42 ` [PATCH v3 10/23] travis: Don't copy files into .bm-work/ Simon Glass
  2020-03-23 13:12   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:48AM -0600, Simon Glass wrote:

> At present if TEST_PY_BD is empty the script copies various files into a
> directory, to no purpose. This happens because UBOOT_TRAVIS_BUILD_DIR is
> set before TEST_PY_BD is tested.
> 
> Move the 'if' to fix this.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/32332252/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 11/23] travis: Split the building into two parts
  2020-03-18 15:42 ` [PATCH v3 11/23] travis: Split the building into two parts Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:49AM -0600, Simon Glass wrote:

> Buildman is used in two ways:
> 
> - to build a selection of boards (with no testing)
> - to build a single board (and run pytest)
> 
> The gitlab and azure scrips do this in separate places, but travis does
> not. To aid the refactoring process and keep the following patches in sync
> across all three environments, split the code out in travis as well.
> 
> Use the buildman -w option for the single board. It is easier to
> understand since it specifies the output directory directly. Also it
> avoids needing to look at the internal .bm-work directory.
> 
> This initially creates some duplicate code, but by the end of the series
> we have two completely different build paths with different arguments.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/3308cf5d/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl
  2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
  2020-03-23 13:13   ` Tom Rini
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  2 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:50AM -0600, Simon Glass wrote:

> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> This does not affect travis since the previous commit already used the -w
> flag.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/68c88868/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py
  2020-03-18 15:42 ` [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:51AM -0600, Simon Glass wrote:

> The current method of selecting the board to build with test.py is a bit
> error-prone, e.g. with "^sandbox$" it actually builds 5 boards (all of
> those in the sandbox architecture).
> 
> Use the (newish) --board flag instead, to get the same result.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/30e6d7b6/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable with test.py
  2020-03-18 15:42 ` [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable " Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:52AM -0600, Simon Glass wrote:

> This is not needed in the test.py part of the config, now since we use the
> same name as the pytests.
> 
> Drop BUILDMAN, retaining it only for the 'build' parts of the config, i.e.
> where we build multiple boards and don't run any tests.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/e01445cc/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag
  2020-03-18 15:42 ` [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:53AM -0600, Simon Glass wrote:

> This has no effect since -S is not given also. Drop it.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/f9713193/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py
  2020-03-18 15:42 ` [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:54AM -0600, Simon Glass wrote:

> Since TEST_PY_BD is always defined we can drop this check.
> 
> This does not affect travis since it has a single, unified script.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/d9ba9596/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds
  2020-03-18 15:42 ` [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds Simon Glass
  2020-03-23 13:13   ` Tom Rini
@ 2020-04-11 15:21   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:21 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:55AM -0600, Simon Glass wrote:

> Avoid needing to know about the internal .bm-work directory, by passing
> the -w flag to buildman.
> 
> This is not needed on travis since the -w flag is already used (from a
> previous patch).
> 
> Drop the -P flag since this has no effect if -w is used.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/ff1ad8b3/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist
  2020-03-18 15:42 ` [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:56AM -0600, Simon Glass wrote:

> Bash allows for variables to expand only if non-empty:
> 
> 	$ var=test
> 	$ echo ${var:+"$var"}
> 	test
> 	$ echo ${var:+"-k $var"}
> 	-k test
> 	$ var=
> 	$ echo ${var:+"-k $var"}
> 
> Use this feature to avoid the workaround.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/4c334e1c/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check
  2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  2020-04-15  7:30   ` Michal Simek
  2 siblings, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:57AM -0600, Simon Glass wrote:

> We can use the -W flag to tell buildman to ignore warnings. Since we also
> have -E defined, compiler warnings are promoted to errors, so they will
> still cause a failure. But migration warnings of the form:
> 
>     ===================== WARNING ======================
>     This board does not use CONFIG_DM. CONFIG_DM will be
>     compulsory starting with the v2020.01 release.
>     Failure to update may result in board removal.
>     See doc/driver-model/migration.rst for more info.
> 
> will now be ignored.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 329f5ef51d2 (travis.yml: run buildman with option -E)
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/62b3b499/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff
  2020-03-18 15:42 ` [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:58AM -0600, Simon Glass wrote:

> Ensure that this SPL test runs on gitlab.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/f797e673/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py
  2020-03-18 15:42 ` [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:42:59AM -0600, Simon Glass wrote:

> It seems unnecessary to read the exit code and then check it again. Drop
> this and just let the test.py provide the exit code directly.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/b76a41fd/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py
  2020-03-18 15:43 ` [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:43:00AM -0600, Simon Glass wrote:

> It does not seem to be necessary to run buildman again to show errors,
> since any errors can be shown by the first invocation and there is only
> a single board being built. Update this to simplify the code, using the
> -e flag to make sure errors are shown.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/44fc76b7/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot
  2020-03-18 15:43 ` [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot Simon Glass
  2020-03-23 13:14   ` Tom Rini
@ 2020-04-11 15:22   ` Tom Rini
  1 sibling, 0 replies; 67+ messages in thread
From: Tom Rini @ 2020-04-11 15:22 UTC (permalink / raw)
  To: u-boot

On Wed, Mar 18, 2020 at 09:43:01AM -0600, Simon Glass wrote:

> It is a pain to have to set the CROSS_COMPILE environment variable when
> using test.py's --build option. It is possible to get this using the -A
> option from buildman. But it seems better to just use buildman to do the
> build when it is available.
> 
> However using buildman adds a new dependency to the test system which we
> want to avoid. So leave the default as is and add a flag to make it use
> buildman.
> 
> Note that most of these changes relate to test.py and the parts of the
> travis/gitlab/azure scripts which relate to running test and building a
> suitable U-Boot to run the tests on.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200411/6793260b/attachment.sig>

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check
  2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
  2020-03-23 13:14   ` Tom Rini
  2020-04-11 15:22   ` Tom Rini
@ 2020-04-15  7:30   ` Michal Simek
  2020-04-15 13:57     ` Simon Glass
  2 siblings, 1 reply; 67+ messages in thread
From: Michal Simek @ 2020-04-15  7:30 UTC (permalink / raw)
  To: u-boot

Hi Simon,

st 18. 3. 2020 v 16:48 odes?latel Simon Glass <sjg@chromium.org> napsal:
>
> We can use the -W flag to tell buildman to ignore warnings. Since we also
> have -E defined, compiler warnings are promoted to errors, so they will
> still cause a failure. But migration warnings of the form:
>
>     ===================== WARNING ======================
>     This board does not use CONFIG_DM. CONFIG_DM will be
>     compulsory starting with the v2020.01 release.
>     Failure to update may result in board removal.
>     See doc/driver-model/migration.rst for more info.
>
> will now be ignored.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: 329f5ef51d2 (travis.yml: run buildman with option -E)
> ---
>
> Changes in v3:
> - Bring back the -E flag and add -W
> - Rewrite the commit message
>
> Changes in v2:
> - Add Fixes tag
> - Just drop the -E flag
> - Update travis, azure also
>
>  .azure-pipelines.yml |  8 ++++----
>  .gitlab-ci.yml       | 23 +++++++++++------------
>  .travis.yml          | 13 ++++++-------
>  3 files changed, 21 insertions(+), 23 deletions(-)
>
> diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
> index 50d00fa899..a97a3f8b19 100644
> --- a/.azure-pipelines.yml
> +++ b/.azure-pipelines.yml
> @@ -247,8 +247,8 @@ jobs:
>            cd ${WORK_DIR}
>            export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
>            ret=0;
> -          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> -          if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> +          if [[ $ret -ne 0 ]]; then
>                tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se --board ${TEST_PY_BD};
>                exit $ret;
>            fi
> @@ -396,8 +396,8 @@ jobs:
>            cat << "EOF" >> build.sh
>            if [[ "${BUILDMAN}" != "" ]]; then
>                ret=0;
> -              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
> -              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +              tools/buildman/buildman -o /tmp -P -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
> +              if [[ $ret -ne 0 ]]; then
>                    tools/buildman/buildman -o /tmp -seP ${BUILDMAN};
>                    exit $ret;
>                fi;
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 48b90b2ba3..501e3ff3ab 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -27,13 +27,12 @@ stages:
>    after_script:
>      - rm -rf /tmp/uboot-test-hooks /tmp/venv
>    script:
> -    # From buildman, exit code 129 means warnings only.  If we've been asked to
> -    # use clang only do one configuration.
> +    # If we've been asked to use clang only do one configuration.
>      - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
>      - ret=0;
> -      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
>          --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +      if [[ $ret -ne 0 ]]; then
>          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se
>             --board ${TEST_PY_BD};
>          exit $ret;
> @@ -57,8 +56,8 @@ build all 32bit ARM platforms:
>    stage: world build
>    script:
>      - ret=0;
> -      ./tools/buildman/buildman -o /tmp -P -E arm -x aarch64 || ret=$?;
> -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +      ./tools/buildman/buildman -o /tmp -P -E -W arm -x aarch64 || ret=$?;
> +      if [[ $ret -ne 0 ]]; then
>          ./tools/buildman/buildman -o /tmp -seP;
>          exit $ret;
>        fi;
> @@ -71,8 +70,8 @@ build all 64bit ARM platforms:
>      - . /tmp/venv/bin/activate
>      - pip install pyelftools
>      - ret=0;
> -      ./tools/buildman/buildman -o /tmp -P -E aarch64 || ret=$?;
> -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +      ./tools/buildman/buildman -o /tmp -P -E -W aarch64 || ret=$?;
> +      if [[ $ret -ne 0 ]]; then
>          ./tools/buildman/buildman -o /tmp -seP;
>          exit $ret;
>        fi;
> @@ -82,8 +81,8 @@ build all PowerPC platforms:
>    stage: world build
>    script:
>      - ret=0;
> -      ./tools/buildman/buildman -o /tmp -P -E powerpc || ret=$?;
> -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +      ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
> +      if [[ $ret -ne 0 ]]; then
>          ./tools/buildman/buildman -o /tmp -seP;
>          exit $ret;
>        fi;
> @@ -93,8 +92,8 @@ build all other platforms:
>    stage: world build
>    script:
>      - ret=0;
> -      ./tools/buildman/buildman -o /tmp -P -E -x arm,powerpc || ret=$?;
> -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +      ./tools/buildman/buildman -o /tmp -P -E -W -x arm,powerpc || ret=$?;
> +      if [[ $ret -ne 0 ]]; then
>          ./tools/buildman/buildman -o /tmp -seP;
>          exit $ret;
>        fi;
> diff --git a/.travis.yml b/.travis.yml
> index 887654ca96..bf3ef4860b 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -116,13 +116,12 @@ script:
>   # Comments must be outside the command strings below, or the Travis parser
>   # will get confused.
>   #
> - # From buildman, exit code 129 means warnings only.  If we've been asked to
> - # use clang only do one configuration.
> + # If we've been asked to use clang only do one configuration.
> + #
>   # Build a selection of boards if TEST_PY_BD is empty
>   - if [[ "${BUILDMAN}" != "" ]]; then
> -     ret=0;
> -     tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
> -     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> +     tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE};
> +     if [[ $ret -ne 0 ]]; then

I am curious about missing || ret = $? here.

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs

^ permalink raw reply	[flat|nested] 67+ messages in thread

* [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check
  2020-04-15  7:30   ` Michal Simek
@ 2020-04-15 13:57     ` Simon Glass
  0 siblings, 0 replies; 67+ messages in thread
From: Simon Glass @ 2020-04-15 13:57 UTC (permalink / raw)
  To: u-boot

Hi Michal,

On Wed, 15 Apr 2020 at 01:31, Michal Simek <monstr@monstr.eu> wrote:
>
> Hi Simon,
>
> st 18. 3. 2020 v 16:48 odes?latel Simon Glass <sjg@chromium.org> napsal:
> >
> > We can use the -W flag to tell buildman to ignore warnings. Since we also
> > have -E defined, compiler warnings are promoted to errors, so they will
> > still cause a failure. But migration warnings of the form:
> >
> >     ===================== WARNING ======================
> >     This board does not use CONFIG_DM. CONFIG_DM will be
> >     compulsory starting with the v2020.01 release.
> >     Failure to update may result in board removal.
> >     See doc/driver-model/migration.rst for more info.
> >
> > will now be ignored.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > Fixes: 329f5ef51d2 (travis.yml: run buildman with option -E)
> > ---
> >
> > Changes in v3:
> > - Bring back the -E flag and add -W
> > - Rewrite the commit message
> >
> > Changes in v2:
> > - Add Fixes tag
> > - Just drop the -E flag
> > - Update travis, azure also
> >
> >  .azure-pipelines.yml |  8 ++++----
> >  .gitlab-ci.yml       | 23 +++++++++++------------
> >  .travis.yml          | 13 ++++++-------
> >  3 files changed, 21 insertions(+), 23 deletions(-)
> >
> > diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
> > index 50d00fa899..a97a3f8b19 100644
> > --- a/.azure-pipelines.yml
> > +++ b/.azure-pipelines.yml
> > @@ -247,8 +247,8 @@ jobs:
> >            cd ${WORK_DIR}
> >            export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
> >            ret=0;
> > -          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > -          if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > +          if [[ $ret -ne 0 ]]; then
> >                tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se --board ${TEST_PY_BD};
> >                exit $ret;
> >            fi
> > @@ -396,8 +396,8 @@ jobs:
> >            cat << "EOF" >> build.sh
> >            if [[ "${BUILDMAN}" != "" ]]; then
> >                ret=0;
> > -              tools/buildman/buildman -o /tmp -P -E ${BUILDMAN} ${OVERRIDE} || ret=$?;
> > -              if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +              tools/buildman/buildman -o /tmp -P -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
> > +              if [[ $ret -ne 0 ]]; then
> >                    tools/buildman/buildman -o /tmp -seP ${BUILDMAN};
> >                    exit $ret;
> >                fi;
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 48b90b2ba3..501e3ff3ab 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -27,13 +27,12 @@ stages:
> >    after_script:
> >      - rm -rf /tmp/uboot-test-hooks /tmp/venv
> >    script:
> > -    # From buildman, exit code 129 means warnings only.  If we've been asked to
> > -    # use clang only do one configuration.
> > +    # If we've been asked to use clang only do one configuration.
> >      - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
> >      - ret=0;
> > -      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E
> > +      tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W
> >          --board ${TEST_PY_BD} ${OVERRIDE} || ret=$?;
> > -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +      if [[ $ret -ne 0 ]]; then
> >          tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -se
> >             --board ${TEST_PY_BD};
> >          exit $ret;
> > @@ -57,8 +56,8 @@ build all 32bit ARM platforms:
> >    stage: world build
> >    script:
> >      - ret=0;
> > -      ./tools/buildman/buildman -o /tmp -P -E arm -x aarch64 || ret=$?;
> > -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +      ./tools/buildman/buildman -o /tmp -P -E -W arm -x aarch64 || ret=$?;
> > +      if [[ $ret -ne 0 ]]; then
> >          ./tools/buildman/buildman -o /tmp -seP;
> >          exit $ret;
> >        fi;
> > @@ -71,8 +70,8 @@ build all 64bit ARM platforms:
> >      - . /tmp/venv/bin/activate
> >      - pip install pyelftools
> >      - ret=0;
> > -      ./tools/buildman/buildman -o /tmp -P -E aarch64 || ret=$?;
> > -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +      ./tools/buildman/buildman -o /tmp -P -E -W aarch64 || ret=$?;
> > +      if [[ $ret -ne 0 ]]; then
> >          ./tools/buildman/buildman -o /tmp -seP;
> >          exit $ret;
> >        fi;
> > @@ -82,8 +81,8 @@ build all PowerPC platforms:
> >    stage: world build
> >    script:
> >      - ret=0;
> > -      ./tools/buildman/buildman -o /tmp -P -E powerpc || ret=$?;
> > -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +      ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
> > +      if [[ $ret -ne 0 ]]; then
> >          ./tools/buildman/buildman -o /tmp -seP;
> >          exit $ret;
> >        fi;
> > @@ -93,8 +92,8 @@ build all other platforms:
> >    stage: world build
> >    script:
> >      - ret=0;
> > -      ./tools/buildman/buildman -o /tmp -P -E -x arm,powerpc || ret=$?;
> > -      if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +      ./tools/buildman/buildman -o /tmp -P -E -W -x arm,powerpc || ret=$?;
> > +      if [[ $ret -ne 0 ]]; then
> >          ./tools/buildman/buildman -o /tmp -seP;
> >          exit $ret;
> >        fi;
> > diff --git a/.travis.yml b/.travis.yml
> > index 887654ca96..bf3ef4860b 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -116,13 +116,12 @@ script:
> >   # Comments must be outside the command strings below, or the Travis parser
> >   # will get confused.
> >   #
> > - # From buildman, exit code 129 means warnings only.  If we've been asked to
> > - # use clang only do one configuration.
> > + # If we've been asked to use clang only do one configuration.
> > + #
> >   # Build a selection of boards if TEST_PY_BD is empty
> >   - if [[ "${BUILDMAN}" != "" ]]; then
> > -     ret=0;
> > -     tools/buildman/buildman -P -E ${BUILDMAN} ${OVERRIDE}|| ret=$?;
> > -     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
> > +     tools/buildman/buildman -P -E -W ${BUILDMAN} ${OVERRIDE};
> > +     if [[ $ret -ne 0 ]]; then
>
> I am curious about missing || ret = $? here.

Yes that looks wrong. I think it should be added back. I can't
remember now whether travis stops as soon as it gets a bad exit code.
In any case I think this will fail to show the errors.

I will take a look.

Regards,
Simon

^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2020-04-15 13:57 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-18 15:42 [PATCH v3 00/23] gitlab: Simplify the test script Simon Glass
2020-03-18 15:42 ` [PATCH v3 01/23] sandbox: Add documentation about required/useful packages Simon Glass
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 02/23] main: Drop show_boot_progress() prototype Simon Glass
2020-03-23 13:12   ` Tom Rini
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 03/23] buildman: Document the members of BuilderJob Simon Glass
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 04/23] bulidman: Add support for a simple build Simon Glass
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 05/23] buildman: Update help for -d Simon Glass
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 06/23] buildman: Allow ignoring warnings in the return code Simon Glass
2020-03-23 13:12   ` Tom Rini
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 07/23] buildman: Be more selective about which directories to remove Simon Glass
2020-04-11 15:20   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 08/23] buildman: Allow building within a subdir of the current dir Simon Glass
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 09/23] buildman: Drop the -a option Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 10/23] travis: Don't copy files into .bm-work/ Simon Glass
2020-03-23 13:12   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 11/23] travis: Split the building into two parts Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 12/23] gitlab/azure: Use the -w option for sandbox_spl Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 13/23] travis/gitlab/azure: Use --board buildman flag with test.py Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 14/23] travis/gitlab/azure: Drop BUILDMAN variable " Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 15/23] travis/gitlab/azure: Drop the buildman -d flag Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 16/23] gitlab/azure: Drop unnecessary if..fi when using test.py Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 17/23] gitlab/azure: Use -w flag for all test.py builds Simon Glass
2020-03-23 13:13   ` Tom Rini
2020-04-11 15:21   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 18/23] travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 19/23] travis/gitlab/azure: Use -W to avoid warnings check Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini
2020-04-15  7:30   ` Michal Simek
2020-04-15 13:57     ` Simon Glass
2020-03-18 15:42 ` [PATCH v3 20/23] travis/gitlab/azure: Enable test_handoff Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini
2020-03-18 15:42 ` [PATCH v3 21/23] travis/gitlab/azure: Simplify the exit code for test.py Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini
2020-03-18 15:43 ` [PATCH v3 22/23] travis/gitlab/azure: Drop repeated buildman call with test.py Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini
2020-03-18 15:43 ` [PATCH v3 23/23] test/py: Allow using buildman to build U-Boot Simon Glass
2020-03-23 13:14   ` Tom Rini
2020-04-11 15:22   ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.