Re: [PATCH kvm-unit-tests 2/8] arch-run: provide errata from run env

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 24/05/2017 18:08, Andrew Jones wrote:
> 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
> them.
> 
> Now something like
> 
>  ERRATA_abcd01234567=y ./run_tests.sh
> 
> 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 <drjones@xxxxxxxxxx>
> ---
>  scripts/arch-run.bash | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
> index 581552a21f2e..3ba6354608da 100644
> --- a/scripts/arch-run.bash
> +++ b/scripts/arch-run.bash
> @@ -158,5 +158,33 @@ search_qemu_binary ()
>  
>  initrd_create ()
>  {
> +	env_add_errata
>  	[ -f "$ENV" ] && export INITRD="-initrd $ENV"
>  }
> +
> +env_add_errata ()
> +{
> +	local line errata
> +
> +	if [ -f "$ENV" ] && grep -q '^ERRATA_' <(env); then
> +		for line in $(grep '^ERRATA_' "$ENV"); do
> +			errata=$(echo "$line" | cut -d= -f1)
> +			grep -q $errata <(env) && continue
> +			eval export "$line"
> +		done
> +	fi

If you want fun, you can get this with:

[ -f "$ENV" ] && for errata in \
        $(grep -vF "$(tr ' ' '\n' <<<${!ERRATA_@})" "$ENV"); do
    eval export $errata
done

Laurent



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux