Commit 8ec99569 authored by Andrew Jones's avatar Andrew Jones Committed by Radim Krčmář
Browse files

arch-run: provide errata from run env

Allow the run script environment to provide ERRATA_* variables
to the unit tests. These variables will augment/override variables
in any provided unit test environ (the file specified with $ENV)
or trigger the creation of a temporary environ file, which contains

Now something like

 ERRATA_abcd01234567=y ./

may be run in order to inform all unit tests that they may execute
all subtests guarded by ERRATA_abcd01234567.
Signed-off-by: Andrew Jones's avatarAndrew Jones <>
Reviewed-by: default avatarLaurent Vivier <>
Signed-off-by: default avatarRadim Krčmář <>
parent 4da0bc9a
......@@ -158,6 +158,34 @@ search_qemu_binary ()
initrd_create ()
unset INITRD
[ -f "$ENV" ] && INITRD="-initrd $ENV"
env_add_errata ()
local line errata
if [ -f "$ENV" ] && grep -q '^ERRATA_' <(env); then
for line in $(grep '^ERRATA_' "$ENV"); do
test -v $errata && continue
eval export "$line"
if grep -q '^ERRATA_' <(env); then
export ENV_OLD="$ENV"
export ENV=$(mktemp)
trap_exit_push 'rm -f $ENV; [ "$ENV_OLD" ] && export ENV="$ENV_OLD" || unset ENV; unset ENV_OLD'
[ -f "$ENV_OLD" ] && grep -v '^ERRATA_' "$ENV_OLD" > $ENV
grep '^ERRATA_' <(env) >> $ENV
trap_exit_push ()
local old_exit=$(trap -p EXIT | sed "s/^[^']*'//;s/'[^']*$//")
trap -- "$1; $old_exit" EXIT
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment