...
  View open merge request
Commits (4)
image: samthursfield/buildstream:0.1-20170621.1
image: buildstream/buildstream-fedora
cache:
paths:
......
x86image-test/
git-test
ostree-test/
push-test
......@@ -9,6 +9,6 @@ depends:
sources:
- kind: tar
url: file:///amhello.tar.gz
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/autotools-test/src/amhello.tar.gz
sha256sum: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
ref: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
......@@ -9,7 +9,7 @@ depends:
sources:
- kind: bzr
url: file:///src
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/bzr-test/src
track: trunk
ref: '2'
......
......@@ -9,6 +9,6 @@ depends:
sources:
- kind: tar
url: file:///home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/cmake-test/src/step7.tar.gz
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/cmake-test/src/step7.tar.gz
sha256sum: 9591707afbae77751730b4af4c52a18b1cdc4378237bc64055f099bc95c330db
ref: 9591707afbae77751730b4af4c52a18b1cdc4378237bc64055f099bc95c330db
......@@ -9,6 +9,6 @@ depends:
sources:
- kind: tar
url: file:///home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/compose-test/src/amhello.tar.gz
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/compose-test/src/amhello.tar.gz
sha256sum: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
ref: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
......@@ -12,6 +12,6 @@ depends:
sources:
- kind: tar
url: file:///hello.tar.xz
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/pip-test/src/hello.tar.xz
sha256sum: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
ref: ad96570b552498807abec33c06210bf68378d854ced6753b77916c5ed517610d
kind: script
description: Run autotools-built binary
depends:
- filename: dependencies/base-platform.bst
type: build
- filename: amhello.bst
type: build
config:
commands:
- "/usr/bin/hello > /buildstream/install/test"
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-tests/workspace-test/src/amhello.tar.gz
sha256sum: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
ref: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
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
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
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
# 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
#!/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 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/amhello.bst"
patch_file_location "$bst_file" "$tar_file"
mkdir -p "$TEST_DIR"
echo "Running test don't push workspaced"
rm -rf "/tmp/artifact_cache"
rm -r "${XDG_CACHE_HOME:-$HOME/.cache}/buildstream/artifacts/ostree/refs/heads/script-test/amhello" || true
bst_with_flags workspace open amhello.bst test
output="$(bst_with_flags -c ./user.conf build amhello.bst)"
echo "$output"
if grep "Not pushing tainted artifact." <<< "$output"
then
report_results "Don't push workspaced" 0
successes=$((successes + 1))
else
report_results "Don't push workspaced" 1
fi
total=$((total + 1))
rm -r test
rm -r .bst
echo "Running test push un-workspaced artifact"
rm -rf "/tmp/artifact_cache"
rm -r "${XDG_CACHE_HOME:-$HOME/.cache}/buildstream/artifacts/ostree/refs/heads/script-test/amhello" || true
bst_with_flags workspace open amhello.bst test
bst_with_flags workspace close amhello.bst
output="$(bst_with_flags -c ./user.conf build amhello.bst)"
echo "$output"
if grep "Pushing Artifact" <<< "$output"
then
report_results "push un-workspaced artifact" 0
successes=$((successes + 1))
else
report_results "push un-workspaced artifact" 1
fi
total=$((total + 1))
rm -r test
rm -r .bst
echo "Running test don't push tainted children"
rm -rf "/tmp/artifact_cache"
rm -r "${XDG_CACHE_HOME:-$HOME/.cache}/buildstream/artifacts/ostree/refs/heads/script-test/amhello" || true
rm -r "${XDG_CACHE_HOME:-$HOME/.cache}/buildstream/artifacts/ostree/refs/heads/script-test/amhello-run" || true
bst_with_flags workspace open amhello.bst test
output="$(bst_with_flags -c ./user.conf build amhello-run.bst)"
echo "$output"
if grep "Not pushing tainted artifact." <<< "$output"
then
report_results "don't push tainted children" 0
successes=$((successes + 1))
else
report_results "don't push tainted children" 1
fi
total=$((total + 1))
rm -r test
rm -r .bst
if [ $total != $successes ]
then
return 1
fi
}
run_test "$@"
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
# This Makefile.am is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
SUBDIRS = src
dist_doc_DATA = README
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
# This configure.ac script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
AC_INIT([amhello], [1.0], [bug-automake@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
# This Makefile.am is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
bin_PROGRAMS = hello
hello_SOURCES = main.c
/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
This program is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it. */
#include <config.h>
#include <stdio.h>
int
main (void)
{
puts ("Hello World!");
puts ("This is " PACKAGE_STRING ".");
return 0;
}
artifacts:
pull-url: /tmp/artifact_cache
push-url: /tmp/artifact_cache
......@@ -9,7 +9,7 @@ depends:
sources:
- kind: tar
url: file:///home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/tar-test/src.tar.gz
url: file:///home/tristanmaat/Documents/Projects/buildstream-tests/tar-test/src.tar.gz
ref: 164ab309db28e97e96896eb830a04dc3558444fb870ab3930694b5b160327d88
config:
......
kind: script
description: Run autotools-built binary
depends:
- filename: dependencies/base-platform.bst
type: build
- filename: amhello.bst
type: build
config:
commands:
- "/usr/bin/hello > /buildstream/install/test"
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-tests/workspace-test/src/amhello.tar.gz
sha256sum: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
ref: 3aa3c2bf7a488fea24303c4d98d1b5c0a72734f61615b935cf62e4e126b127d2
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
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
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
This is a demonstration package for GNU Automake.
Type `info Automake' to read the Automake manual.
/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
This program is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it. */
#include <config.h>
#include <stdio.h>
int
main (void)
{
puts ("Hello World!");
puts ("This is " PACKAGE_STRING ".");
puts ("BLABLABLABLABLA");
puts ("More BLABLABLABLABLA");
return 0;
}
# 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
#!/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 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/amhello.bst"
patch_file_location "$bst_file" "$tar_file"
mkdir -p "$TEST_DIR"
echo "Running test create and close workspace"
bst_with_flags build amhello.bst
bst_with_flags checkout amhello.bst "$RESULTS/amhello/no_workspace"
bst_with_flags workspace open amhello.bst test
cp modified-main.c test/src/main.c
bst_with_flags build amhello.bst
bst_with_flags checkout amhello.bst "$RESULTS/amhello/workspace"
yes | bst_with_flags workspace close --remove-dir amhello.bst
bst_with_flags build amhello.bst
bst_with_flags checkout amhello.bst "$RESULTS/amhello/closed_workspace"
total=$((total + 1))
exit=0
compare_results "amhello" "$RESULTS" "$EXPECTED" || exit=$?
if [ $exit == 0 ]
then
successes=$((successes + 1))
fi
rm -r .bst
echo "Running test don't overwrite"
mkdir test
echo "Hi" > test/test
exit=0
bst_with_flags workspace open amhello.bst test || exit=$?
if [ $exit != 0 ]
then
bst_with_flags workspace open --force amhello.bst test
if [ $? == 0 ]
then
successes=$((successes + 1))
fi
fi
total=$((total + 1))
rm -r test
rm -r .bst
echo "Running test don't open twice"
bst_with_flags workspace open amhello.bst test
exit=0
bst_with_flags workspace open amhello.bst test2 || exit=$?
if [ $exit != 0 ]
then
successes=$((successes + 1))
fi
total=$((total + 1))
rm -r test
rm -r .bst
echo "Running test don't close twice"
bst_with_flags workspace open amhello.bst test
bst_with_flags workspace close amhello.bst
exit=0
bst_with_flags workspace close amhello.bst || exit=$?
if [ $exit != 0 ]
then
successes=$((successes + 1))
fi
total=$((total + 1))
rm -r test
rm -r .bst
if [ $total != $successes ]
then
return 1
fi
}
run_test "$@"