mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 14:01:57 -09:00
support/scripts/generate-gitlab-ci-yml: allow multiple tests in one pipeline
The current Gitlab CI mechanism allows to trigger all tests in a CI pipeline by pushing a branch named <something>-runtime-tests, or to trigger a single test in a CI pipeline by pushing a branch name <something>-tests.<name of test>. However, there are cases where it is useful to run a suite of tests, for example to run all tests in tests.init.test_busybox. This commit makes that possible by extending the current semantic of <something>-tests.<name of test> to not expect a complete test name, but instead to accept all tests that starts with the given pattern. This allows to do: git push gitlab HEAD:foobar-tests.init.test_busybox.TestInitSystemBusyboxRo like it was the case before. But it now also allows to do: git push gitlab HEAD:foobar-tests.init.test_busybox to run all Busybox tests. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
committed by
Arnout Vandecappelle (Essensium/Mind)
parent
df58675b06
commit
23186356a1
@@ -677,9 +677,23 @@ string you choose to identify this specific job being created.
|
|||||||
$ git push gitlab HEAD:<name>-runtime-tests
|
$ git push gitlab HEAD:<name>-runtime-tests
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
* to trigger one test case job, a specific branch naming string is used that
|
* to trigger one or several test case jobs, a specific branch naming
|
||||||
includes the full test case name.
|
string is used that includes either the full test case name, or the
|
||||||
|
beginning of a series of tests to run:
|
||||||
|
|
||||||
---------------------
|
---------------------
|
||||||
$ git push gitlab HEAD:<name>-<test case name>
|
$ git push gitlab HEAD:<name>-<test case name>
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
Example to run one test:
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
$ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Examples to run several tests part of the same group:
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
$ git push gitlab HEAD:foo-tests.init.test_busybox
|
||||||
|
$ git push gitlab HEAD:foo-tests.init
|
||||||
|
---------------------
|
||||||
|
|||||||
@@ -71,7 +71,11 @@ gen_tests() {
|
|||||||
do_runtime=true
|
do_runtime=true
|
||||||
;;
|
;;
|
||||||
(*-tests.*)
|
(*-tests.*)
|
||||||
runtimes=( "${CI_COMMIT_REF_NAME##*-}" )
|
runtimes=( $(./support/testing/run-tests -l 2>&1 \
|
||||||
|
| sed -r -e '/^test_run \((.*)\).*/!d; s//\1/' \
|
||||||
|
| LC_ALL=C sort \
|
||||||
|
| grep "^${CI_COMMIT_REF_NAME##*-}")
|
||||||
|
)
|
||||||
do_runtime=true
|
do_runtime=true
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user