diff options
Diffstat (limited to 'integration-tests/compose-test')
44 files changed, 309 insertions, 0 deletions
diff --git a/integration-tests/compose-test/elements/compose-all-test.bst b/integration-tests/compose-test/elements/compose-all-test.bst new file mode 100644 index 000000000..78ce497c5 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-all-test.bst @@ -0,0 +1,16 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/amhello-run.bst + type: build + +config: + include: + - runtime + - devel + - debug + - doc + - locale + - test diff --git a/integration-tests/compose-test/elements/compose-exclude-debug.bst b/integration-tests/compose-test/elements/compose-exclude-debug.bst new file mode 100644 index 000000000..6291b349e --- /dev/null +++ b/integration-tests/compose-test/elements/compose-exclude-debug.bst @@ -0,0 +1,11 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/amhello-run.bst + type: build + +config: + exclude: + - debug diff --git a/integration-tests/compose-test/elements/compose-no-debug.bst b/integration-tests/compose-test/elements/compose-no-debug.bst new file mode 100644 index 000000000..5a6517d09 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-no-debug.bst @@ -0,0 +1,14 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/amhello-run.bst + type: build + +config: + include: + - runtime + - devel + - doc + - locale diff --git a/integration-tests/compose-test/elements/compose-no-devel.bst b/integration-tests/compose-test/elements/compose-no-devel.bst new file mode 100644 index 000000000..f13f01b88 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-no-devel.bst @@ -0,0 +1,14 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/devel-run.bst + type: build + +config: + include: + - runtime + - debug + - doc + - locale diff --git a/integration-tests/compose-test/elements/compose-no-doc.bst b/integration-tests/compose-test/elements/compose-no-doc.bst new file mode 100644 index 000000000..6c47b851b --- /dev/null +++ b/integration-tests/compose-test/elements/compose-no-doc.bst @@ -0,0 +1,14 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/amhello-run.bst + type: build + +config: + include: + - runtime + - devel + - debug + - locale diff --git a/integration-tests/compose-test/elements/compose-no-locale.bst b/integration-tests/compose-test/elements/compose-no-locale.bst new file mode 100644 index 000000000..9e3d62e05 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-no-locale.bst @@ -0,0 +1,14 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/locale-run.bst + type: build + +config: + include: + - runtime + - devel + - debug + - doc diff --git a/integration-tests/compose-test/elements/compose-no-test.bst b/integration-tests/compose-test/elements/compose-no-test.bst new file mode 100644 index 000000000..418c2d475 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-no-test.bst @@ -0,0 +1,15 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + - filename: dependencies/amhello-run.bst + type: build + +config: + include: + - runtime + - devel + - debug + - doc + - locale diff --git a/integration-tests/compose-test/elements/compose-only-runtime.bst b/integration-tests/compose-test/elements/compose-only-runtime.bst new file mode 100644 index 000000000..401c16dc8 --- /dev/null +++ b/integration-tests/compose-test/elements/compose-only-runtime.bst @@ -0,0 +1,9 @@ +kind: compose + +depends: + - filename: dependencies/amhello.bst + type: build + +config: + include: + - runtime diff --git a/integration-tests/compose-test/elements/dependencies/amhello-run.bst b/integration-tests/compose-test/elements/dependencies/amhello-run.bst new file mode 100644 index 000000000..a6162155b --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/amhello-run.bst @@ -0,0 +1,14 @@ +kind: script +description: Run autotools-built binary + +depends: + - filename: dependencies/base-platform.bst + type: build + - filename: dependencies/amhello.bst + type: build + +config: + commands: + - "mkdir -p /buildstream/install/tests" + - "/usr/bin/hello > /buildstream/install/tests/test" + - "echo BLABLABLA %{debugdir} >> /buildstream/install/tests/test" diff --git a/integration-tests/compose-test/elements/dependencies/amhello.bst b/integration-tests/compose-test/elements/dependencies/amhello.bst new file mode 100644 index 000000000..2e0915803 --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/amhello.bst @@ -0,0 +1,13 @@ +kind: autotools +description: Autotools test + +depends: +- filename: dependencies/base-platform.bst + type: build +- filename: dependencies/base-sdk.bst + type: build + +sources: +- kind: tar + url: file:///home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/compose-test/src/amhello.tar.gz + ref: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2 diff --git a/integration-tests/compose-test/elements/dependencies/base-platform.bst b/integration-tests/compose-test/elements/dependencies/base-platform.bst new file mode 100644 index 000000000..09c95acb4 --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/base-platform.bst @@ -0,0 +1,23 @@ +kind: import +description: Import the base freedesktop platform +config: + source: files +public: + bst: + integration-commands: + - ldconfig +arches: + x86_64: + sources: + - kind: ostree + url: gnomesdk:repo/ + track: runtime/org.freedesktop.BasePlatform/x86_64/1.4 + gpg-key: keys/gnome-sdk.gpg + ref: c9d09b7250a12ef09d95952fc4f49a35e5f8c2c1dd7141b7eeada4069e6f6576 + i386: + sources: + - kind: ostree + url: gnomesdk:repo/ + track: runtime/org.freedesktop.BasePlatform/i386/1.4 + gpg-key: keys/gnome-sdk.gpg + ref: 27ebae91839a454596a273391b0e53063eaa8aca4fc9cb64654582bfbc338c96 diff --git a/integration-tests/compose-test/elements/dependencies/base-sdk.bst b/integration-tests/compose-test/elements/dependencies/base-sdk.bst new file mode 100644 index 000000000..cd191fd1b --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/base-sdk.bst @@ -0,0 +1,20 @@ +kind: import +description: Import the base freedesktop SDK +config: + source: files + target: usr +arches: + x86_64: + sources: + - kind: ostree + url: gnomesdk:repo/ + track: runtime/org.freedesktop.BaseSdk/x86_64/1.4 + gpg-key: keys/gnome-sdk.gpg + ref: 0d9d255d56b08aeaaffb1c820eef85266eb730cb5667e50681185ccf5cd7c882 + i386: + sources: + - kind: ostree + url: gnomesdk:repo/ + track: runtime/org.freedesktop.BaseSdk/i386/1.4 + gpg-key: keys/gnome-sdk.gpg + ref: 16036b747c1ec8e7fe291f5b1f667cb942f0267d08fcad962e9b7627d6cf1981 diff --git a/integration-tests/compose-test/elements/dependencies/devel-run.bst b/integration-tests/compose-test/elements/dependencies/devel-run.bst new file mode 100644 index 000000000..4134fec81 --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/devel-run.bst @@ -0,0 +1,11 @@ +kind: script +description: Run autotools-built binary + +depends: + - filename: dependencies/base-platform.bst + type: build + +config: + commands: + - "mkdir -p /buildstream/install%{includedir}" + - "echo 'You should never see this file!' > /buildstream/install%{includedir}/broken" diff --git a/integration-tests/compose-test/elements/dependencies/locale-run.bst b/integration-tests/compose-test/elements/dependencies/locale-run.bst new file mode 100644 index 000000000..52aed047d --- /dev/null +++ b/integration-tests/compose-test/elements/dependencies/locale-run.bst @@ -0,0 +1,11 @@ +kind: script +description: Run autotools-built binary + +depends: + - filename: dependencies/base-platform.bst + type: build + +config: + commands: + - "mkdir -p /buildstream/install%{datadir}/locale" + - "echo 'You should never see this file!' > /buildstream/install%{datadir}/locale/broken" diff --git a/integration-tests/compose-test/expected/compose-all-test/tests/test b/integration-tests/compose-test/expected/compose-all-test/tests/test new file mode 100644 index 000000000..5eb4bd2cd --- /dev/null +++ b/integration-tests/compose-test/expected/compose-all-test/tests/test @@ -0,0 +1,3 @@ +Hello World! +This is amhello 1.0. +BLABLABLA /usr/lib/debug diff --git a/integration-tests/compose-test/expected/compose-all-test/usr/bin/hello b/integration-tests/compose-test/expected/compose-all-test/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-all-test/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-all-test/usr/lib/debug/hello b/integration-tests/compose-test/expected/compose-all-test/usr/lib/debug/hello Binary files differnew file mode 100644 index 000000000..b3720a2b1 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-all-test/usr/lib/debug/hello diff --git a/integration-tests/compose-test/expected/compose-all-test/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-all-test/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-all-test/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-exclude-debug/tests/test b/integration-tests/compose-test/expected/compose-exclude-debug/tests/test new file mode 100644 index 000000000..5eb4bd2cd --- /dev/null +++ b/integration-tests/compose-test/expected/compose-exclude-debug/tests/test @@ -0,0 +1,3 @@ +Hello World! +This is amhello 1.0. +BLABLABLA /usr/lib/debug diff --git a/integration-tests/compose-test/expected/compose-exclude-debug/usr/bin/hello b/integration-tests/compose-test/expected/compose-exclude-debug/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-exclude-debug/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-exclude-debug/usr/lib/.gitkeep b/integration-tests/compose-test/expected/compose-exclude-debug/usr/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/integration-tests/compose-test/expected/compose-exclude-debug/usr/lib/.gitkeep diff --git a/integration-tests/compose-test/expected/compose-exclude-debug/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-exclude-debug/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-exclude-debug/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-no-debug/usr/bin/hello b/integration-tests/compose-test/expected/compose-no-debug/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-debug/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-no-debug/usr/lib/.gitkeep b/integration-tests/compose-test/expected/compose-no-debug/usr/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-debug/usr/lib/.gitkeep diff --git a/integration-tests/compose-test/expected/compose-no-debug/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-no-debug/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-debug/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-no-devel/usr/bin/hello b/integration-tests/compose-test/expected/compose-no-devel/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-devel/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-no-devel/usr/lib/debug/hello b/integration-tests/compose-test/expected/compose-no-devel/usr/lib/debug/hello Binary files differnew file mode 100644 index 000000000..b3720a2b1 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-devel/usr/lib/debug/hello diff --git a/integration-tests/compose-test/expected/compose-no-devel/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-no-devel/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-devel/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-no-doc/usr/bin/hello b/integration-tests/compose-test/expected/compose-no-doc/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-doc/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-no-doc/usr/lib/debug/hello b/integration-tests/compose-test/expected/compose-no-doc/usr/lib/debug/hello Binary files differnew file mode 100644 index 000000000..b3720a2b1 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-doc/usr/lib/debug/hello diff --git a/integration-tests/compose-test/expected/compose-no-doc/usr/share/.gitkeep b/integration-tests/compose-test/expected/compose-no-doc/usr/share/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-doc/usr/share/.gitkeep diff --git a/integration-tests/compose-test/expected/compose-no-locale/usr/bin/hello b/integration-tests/compose-test/expected/compose-no-locale/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-locale/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-no-locale/usr/lib/debug/hello b/integration-tests/compose-test/expected/compose-no-locale/usr/lib/debug/hello Binary files differnew file mode 100644 index 000000000..b3720a2b1 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-locale/usr/lib/debug/hello diff --git a/integration-tests/compose-test/expected/compose-no-locale/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-no-locale/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-locale/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-no-test/usr/bin/hello b/integration-tests/compose-test/expected/compose-no-test/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-test/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-no-test/usr/lib/debug/hello b/integration-tests/compose-test/expected/compose-no-test/usr/lib/debug/hello Binary files differnew file mode 100644 index 000000000..b3720a2b1 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-test/usr/lib/debug/hello diff --git a/integration-tests/compose-test/expected/compose-no-test/usr/share/doc/amhello/README b/integration-tests/compose-test/expected/compose-no-test/usr/share/doc/amhello/README new file mode 100644 index 000000000..d24723a81 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-no-test/usr/share/doc/amhello/README @@ -0,0 +1,2 @@ +This is a demonstration package for GNU Automake. +Type `info Automake' to read the Automake manual. diff --git a/integration-tests/compose-test/expected/compose-only-runtime/usr/bin/hello b/integration-tests/compose-test/expected/compose-only-runtime/usr/bin/hello Binary files differnew file mode 100755 index 000000000..16a0c7cb6 --- /dev/null +++ b/integration-tests/compose-test/expected/compose-only-runtime/usr/bin/hello diff --git a/integration-tests/compose-test/expected/compose-only-runtime/usr/lib/.gitkeep b/integration-tests/compose-test/expected/compose-only-runtime/usr/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/integration-tests/compose-test/expected/compose-only-runtime/usr/lib/.gitkeep diff --git a/integration-tests/compose-test/expected/compose-only-runtime/usr/share/.gitkeep b/integration-tests/compose-test/expected/compose-only-runtime/usr/share/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/integration-tests/compose-test/expected/compose-only-runtime/usr/share/.gitkeep diff --git a/integration-tests/compose-test/keys/gnome-sdk.gpg b/integration-tests/compose-test/keys/gnome-sdk.gpg Binary files differnew file mode 100644 index 000000000..8434b686c --- /dev/null +++ b/integration-tests/compose-test/keys/gnome-sdk.gpg diff --git a/integration-tests/compose-test/project.conf b/integration-tests/compose-test/project.conf new file mode 100644 index 000000000..a5680225b --- /dev/null +++ b/integration-tests/compose-test/project.conf @@ -0,0 +1,19 @@ +# Import-test BuildStream project configuration. + +# Project name +# +name: script-test + +aliases: + gnomesdk: https://sdk.gnome.org/ + +split-rules: + test: + - | + /tests/* + +# Base project relative element path, elements will be loaded +# from this base. + +element-path: elements + diff --git a/integration-tests/compose-test/run-compose-test.sh b/integration-tests/compose-test/run-compose-test.sh new file mode 100644 index 000000000..7dfe19404 --- /dev/null +++ b/integration-tests/compose-test/run-compose-test.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# +# A script to run a BuildStream test case. + + +TEST_DIR="elements/" +RESULTS="results/" +EXPECTED="expected/" + +set -eu + +# run_test +# +# Run tests for this test case. +# +# This should create a set of directories that match the directories +# in 'results/', as well as a log of the BuildStream output in +# 'test_log.log'. +# +run_test () { + local element + local elements + local element_name + local test_dir + local bst_file + local tar_file + + local successes=0 + local total=0 + local exit + + source ../lib.sh + + tar_file="$(dirname "$(readlink -f "$0")")/src/amhello.tar.gz" + bst_file="$(dirname "$(readlink -f "$0")")/elements/dependencies/amhello.bst" + + patch_file_location "$bst_file" "$tar_file" + + # Get rid of .gitkeep files + find . -name ".gitkeep" -exec rm {} \; + + mkdir -p "$TEST_DIR" + elements="$(find "$TEST_DIR" -maxdepth 1 -type f)" + + for element in $elements; + do + total=$((total + 1)) + + element_name="$(basename "$element")" + element_name="${element_name%.*}" + + test_dir="$RESULTS/$element_name" + + echo "Running test '$element_name'" + + bst_with_flags build "$element_name".bst + bst_with_flags checkout "$element_name".bst "$test_dir" + + exit=0 + compare_results "$element_name" "$RESULTS" "$EXPECTED" || exit=$? + if [ $exit == 0 ] + then + successes=$((successes + 1)) + fi + done + + if [ $total != $successes ] + then + return 1 + fi +} + +run_test "$@" diff --git a/integration-tests/compose-test/src/amhello.tar.gz b/integration-tests/compose-test/src/amhello.tar.gz Binary files differnew file mode 100644 index 000000000..2850f31aa --- /dev/null +++ b/integration-tests/compose-test/src/amhello.tar.gz |