diff options
Diffstat (limited to 'integration-tests/manual-test')
10 files changed, 169 insertions, 0 deletions
diff --git a/integration-tests/manual-test/elements/dependencies/base-platform.bst b/integration-tests/manual-test/elements/dependencies/base-platform.bst new file mode 100644 index 000000000..09c95acb4 --- /dev/null +++ b/integration-tests/manual-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/manual-test/elements/manual-environment-test.bst b/integration-tests/manual-test/elements/manual-environment-test.bst new file mode 100644 index 000000000..d57b5f7bc --- /dev/null +++ b/integration-tests/manual-test/elements/manual-environment-test.bst @@ -0,0 +1,21 @@ +kind: manual +description: Manual test + +variables: + max-jobs: 2 + +depends: + - filename: dependencies/base-platform.bst + type: build + +config: + install-commands: + - "echo $MAKEFLAGS >> test" + - "echo $V >> test" + - "cp test %{install-root}" + +environment: + MAKEFLAGS: -j%{max-jobs} -Wall + V: 2 + +# FIXME: Test environment-nocache diff --git a/integration-tests/manual-test/elements/manual-noparallel-test.bst b/integration-tests/manual-test/elements/manual-noparallel-test.bst new file mode 100644 index 000000000..3655d1fe8 --- /dev/null +++ b/integration-tests/manual-test/elements/manual-noparallel-test.bst @@ -0,0 +1,20 @@ +kind: manual +description: Manual test + +variables: + max-jobs: 2 + notparallel: True + +depends: + - filename: dependencies/base-platform.bst + type: build + +config: + install-commands: + - "echo $MAKEFLAGS >> test" + - "echo $V >> test" + - "cp test %{install-root}" + +environment: + MAKEFLAGS: -j%{max-jobs} -Wall + V: 2 diff --git a/integration-tests/manual-test/elements/manual-test.bst b/integration-tests/manual-test/elements/manual-test.bst new file mode 100644 index 000000000..f3fde3789 --- /dev/null +++ b/integration-tests/manual-test/elements/manual-test.bst @@ -0,0 +1,20 @@ +kind: manual +description: Manual test + +depends: + - filename: dependencies/base-platform.bst + type: build + +config: + configure-commands: + - "echo './configure' >> test" + + build-commands: + - "echo 'make' >> test" + + install-commands: + - "echo 'make install' >> test" + - "cp test %{install-root}" + + strip-commands: + - "echo 'strip' >> %{install-root}/test" diff --git a/integration-tests/manual-test/expected/manual-environment-test/test b/integration-tests/manual-test/expected/manual-environment-test/test new file mode 100644 index 000000000..9743f83af --- /dev/null +++ b/integration-tests/manual-test/expected/manual-environment-test/test @@ -0,0 +1,2 @@ +-j2 -Wall +2 diff --git a/integration-tests/manual-test/expected/manual-noparallel-test/test b/integration-tests/manual-test/expected/manual-noparallel-test/test new file mode 100644 index 000000000..19d9a0ba9 --- /dev/null +++ b/integration-tests/manual-test/expected/manual-noparallel-test/test @@ -0,0 +1,2 @@ +-j1 -Wall +2 diff --git a/integration-tests/manual-test/expected/manual-test/test b/integration-tests/manual-test/expected/manual-test/test new file mode 100644 index 000000000..236ca4dc7 --- /dev/null +++ b/integration-tests/manual-test/expected/manual-test/test @@ -0,0 +1,4 @@ +./configure +make +make install +strip diff --git a/integration-tests/manual-test/keys/gnome-sdk.gpg b/integration-tests/manual-test/keys/gnome-sdk.gpg Binary files differnew file mode 100644 index 000000000..8434b686c --- /dev/null +++ b/integration-tests/manual-test/keys/gnome-sdk.gpg diff --git a/integration-tests/manual-test/project.conf b/integration-tests/manual-test/project.conf new file mode 100644 index 000000000..4212ca3d1 --- /dev/null +++ b/integration-tests/manual-test/project.conf @@ -0,0 +1,14 @@ +# Import-test BuildStream project configuration. + +# Project name +# +name: script-test + +aliases: + gnomesdk: https://sdk.gnome.org/ + +# Base project relative element path, elements will be loaded +# from this base. + +element-path: elements + diff --git a/integration-tests/manual-test/run-manual-test.sh b/integration-tests/manual-test/run-manual-test.sh new file mode 100644 index 000000000..3b4472ff5 --- /dev/null +++ b/integration-tests/manual-test/run-manual-test.sh @@ -0,0 +1,63 @@ +#!/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 successes=0 + local total=0 + local exit + + source ../lib.sh + + 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 "$@" |