diff options
Diffstat (limited to 'integration-tests/local-test')
-rw-r--r-- | integration-tests/local-test/elements/dependencies/base-platform.bst | 23 | ||||
-rw-r--r-- | integration-tests/local-test/elements/dependencies/base-sdk.bst | 20 | ||||
-rw-r--r-- | integration-tests/local-test/elements/local-test.bst | 18 | ||||
-rw-r--r-- | integration-tests/local-test/expected/local-test/test | 1 | ||||
-rw-r--r-- | integration-tests/local-test/keys/gnome-sdk.gpg | bin | 0 -> 629 bytes | |||
-rw-r--r-- | integration-tests/local-test/project.conf | 14 | ||||
-rw-r--r-- | integration-tests/local-test/run-local-test.sh | 65 | ||||
-rwxr-xr-x | integration-tests/local-test/src/test | 2 |
8 files changed, 143 insertions, 0 deletions
diff --git a/integration-tests/local-test/elements/dependencies/base-platform.bst b/integration-tests/local-test/elements/dependencies/base-platform.bst new file mode 100644 index 000000000..09c95acb4 --- /dev/null +++ b/integration-tests/local-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/local-test/elements/dependencies/base-sdk.bst b/integration-tests/local-test/elements/dependencies/base-sdk.bst new file mode 100644 index 000000000..cd191fd1b --- /dev/null +++ b/integration-tests/local-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/local-test/elements/local-test.bst b/integration-tests/local-test/elements/local-test.bst new file mode 100644 index 000000000..8af8b7848 --- /dev/null +++ b/integration-tests/local-test/elements/local-test.bst @@ -0,0 +1,18 @@ +kind: manual +description: bzr test + +depends: +- filename: dependencies/base-platform.bst + type: build +- filename: dependencies/base-sdk.bst + type: build + +sources: +- kind: local + path: src + directory: somewhere + +config: + install-commands: + - "mkdir -p %{install-root}" + - "somewhere/test" diff --git a/integration-tests/local-test/expected/local-test/test b/integration-tests/local-test/expected/local-test/test new file mode 100644 index 000000000..9daeafb98 --- /dev/null +++ b/integration-tests/local-test/expected/local-test/test @@ -0,0 +1 @@ +test diff --git a/integration-tests/local-test/keys/gnome-sdk.gpg b/integration-tests/local-test/keys/gnome-sdk.gpg Binary files differnew file mode 100644 index 000000000..8434b686c --- /dev/null +++ b/integration-tests/local-test/keys/gnome-sdk.gpg diff --git a/integration-tests/local-test/project.conf b/integration-tests/local-test/project.conf new file mode 100644 index 000000000..4212ca3d1 --- /dev/null +++ b/integration-tests/local-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/local-test/run-local-test.sh b/integration-tests/local-test/run-local-test.sh new file mode 100644 index 000000000..4169a4a44 --- /dev/null +++ b/integration-tests/local-test/run-local-test.sh @@ -0,0 +1,65 @@ +#!/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 + + 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/local-test/src/test b/integration-tests/local-test/src/test new file mode 100755 index 000000000..6a834ea0a --- /dev/null +++ b/integration-tests/local-test/src/test @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +echo 'test' > /buildstream/install/test |