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

Re: [Xen-devel] [PATCH RFC 2/9] ts-unixbench-prep: prep the environment for running unixbench



On Thu, 2014-06-26 at 15:02 +0200, Dario Faggioli wrote:
> by installing some dependencies,

this isn't currently possible due to the (possibly futuristic) potential
to share build hosts. ts-xen-build-prep is special in this regard
(AIUI). I don't see you installing anything which would be so
intolerable to install on every machine.

I have an old patch "apt: lock osstest's usages of apt-get against each
other" which is supposed to help with this, but I need to revisit and
fix some comments from Ian I think.

>  shipping the archive, untaring
> and building the sources.

ts-unixbench-build would be the more conventional name I think.

> This accepts two parametrs, in the form 'host=somehost someguest',
> as most of the ts-guest-xxx scripts. If only the first one is
> provided, it must be 'host=somehost', and the script will prep
> the host.
> 
>  XXX: I see it useful that this works for the host too, as
>       at some point we may want to run benchmarks on dom0
>       or even bare metal.

Absolutely. I realise now that the comments about apt install above is
only really relevant to the host case.

> Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> ---
>  ts-unixbench-prep |   79 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 79 insertions(+)
>  create mode 100755 ts-unixbench-prep
> 
> diff --git a/ts-unixbench-prep b/ts-unixbench-prep
> new file mode 100755
> index 0000000..607d1a8
> --- /dev/null
> +++ b/ts-unixbench-prep
> @@ -0,0 +1,79 @@
> +#!/usr/bin/perl -w
> +# This is part of "osstest", an automated testing framework for Xen.
> +# Copyright (C) 2009-2013 Citrix Inc.

Out of date.

> +tsreadconfig();
> +
> +# what we expect as argument list is:
> +#  host=<somehost> [<someguest>]
> +our $ho= selecthost($ARGV[0]); shift @ARGV;

IIRC Ian just made select* consume ARGV, so the shift wouldn't be needed
any more.

> +our $gho= $ho;
> +if ( (0+@ARGV) == 1) {

Is the 0+ needed, I thought arrays in scalar context evaluated to their
length already without forcing it like that.

> +given ($ext) {
> +  $extract_cmd= 'xf' when ('.tar');
> +  $extract_cmd= 'zxf' when ['.tgz', '.gzip'];
> +  $extract_cmd= 'jxf' when  ['.tbz2', '.bz2'];
> +  default { die "unrecognised file extension $ext" }

I think "xaf" will automatically handle different compression algs. I'm
just not quite sure what it does if the tarball is uncompressed.

> +}
> +
> +# Prepare the target, by installing dependencies, and build the benchmark
> +target_install_packages_norec($gho, qw(build-essential libx11-dev
> +                                       libgl1-mesa-dev libxext-dev
> +                                       x11-apps));
> +target_cmd_root($gho, <<END, 200);
> +        set -ex
> +        rm -rf /root/unixbench/

Ideally you would use the osstest user. I'm not sure if that is set up
for guests though, might be host only.

> +        mkdir /root/unixbench
> +        tar $extract_cmd /root/$name$ext -C /root/unixbench 
> --strip-components=1
> +        cd /root/unixbench
> +        sed -e "s/^# GRAPHIC_TESTS =/GRAPHIC_TESTS =/" -i Makefile
> +        make
> +END

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.