Message ID | 1454664263-25969-5-git-send-email-famz@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Fam Zheng <famz@redhat.com> writes: > It's better to have a launcher for all tests, to make it easier to > initialize and manage the environment. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > tests/docker/run | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > create mode 100755 tests/docker/run > > diff --git a/tests/docker/run b/tests/docker/run > new file mode 100755 > index 0000000..739ecf9 > --- /dev/null > +++ b/tests/docker/run > @@ -0,0 +1,23 @@ > +#!/bin/bash -e > +# > +# Docker test runner > +# > +# Copyright (c) 2016 Red Hat Inc. > +# > +# Authors: > +# Fam Zheng <famz@redhat.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2 > +# or (at your option) any later version. See the COPYING file in > +# the top-level directory. > + > +# Prepare the environment > +. /etc/profile || true > +export PATH=/usr/lib/ccache:$PATH > + > +tmp=$QEMU_SRC > +QEMU_SRC=/var/tmp/qemu.tmp > +cp -r $tmp $QEMU_SRC The first time I ran the fedora target it seems to hang, the second time with V=1 it reported my source tree was an in-tree build. Could we perhaps use git-archive to grab a pristine copy of the tree? Something like: STATUS=`git stash create` git archive -1 ${STATUS} -o ${TAR} Would give a clean source tree with current unstaged/uncommited files. Unfortunately this wouldn't include new files yet to be committed in any form to the source tree but using git stash save -u might include a bunch of unwanted stuff. > + > +cd $QEMU_SRC/tests/docker > +"$@" -- Alex Bennée
Alex Bennée <alex.bennee@linaro.org> writes: > Fam Zheng <famz@redhat.com> writes: > >> It's better to have a launcher for all tests, to make it easier to >> initialize and manage the environment. >> >> Signed-off-by: Fam Zheng <famz@redhat.com> >> --- >> tests/docker/run | 23 +++++++++++++++++++++++ >> 1 file changed, 23 insertions(+) >> create mode 100755 tests/docker/run >> >> diff --git a/tests/docker/run b/tests/docker/run >> new file mode 100755 >> index 0000000..739ecf9 >> --- /dev/null >> +++ b/tests/docker/run >> @@ -0,0 +1,23 @@ >> +#!/bin/bash -e >> +# >> +# Docker test runner >> +# >> +# Copyright (c) 2016 Red Hat Inc. >> +# >> +# Authors: >> +# Fam Zheng <famz@redhat.com> >> +# >> +# This work is licensed under the terms of the GNU GPL, version 2 >> +# or (at your option) any later version. See the COPYING file in >> +# the top-level directory. >> + >> +# Prepare the environment >> +. /etc/profile || true >> +export PATH=/usr/lib/ccache:$PATH >> + >> +tmp=$QEMU_SRC >> +QEMU_SRC=/var/tmp/qemu.tmp >> +cp -r $tmp $QEMU_SRC > > The first time I ran the fedora target it seems to hang, the second time > with V=1 it reported my source tree was an in-tree build. > > Could we perhaps use git-archive to grab a pristine copy of the tree? > Something like: > > STATUS=`git stash create` > git archive -1 ${STATUS} -o ${TAR} > > Would give a clean source tree with current unstaged/uncommited files. > Unfortunately this wouldn't include new files yet to be committed in any > form to the source tree but using git stash save -u might include a > bunch of unwanted stuff. OK that won't work if you have alternates in your git setup. It seems to me the creation of the pristine tree for docker should be done before we enter the docker environment. There is a slight wrinkle as to what happens if the user wants to enter an interactive session for debugging. However that doesn't seem possible via the makefile and perhaps that is just as well. Perhaps that should be a helper script for the user? > >> + >> +cd $QEMU_SRC/tests/docker >> +"$@" -- Alex Bennée
On Mon, 02/15 12:45, Alex Bennée wrote: > > Alex Bennée <alex.bennee@linaro.org> writes: > > > Fam Zheng <famz@redhat.com> writes: > > > >> It's better to have a launcher for all tests, to make it easier to > >> initialize and manage the environment. > >> > >> Signed-off-by: Fam Zheng <famz@redhat.com> > >> --- > >> tests/docker/run | 23 +++++++++++++++++++++++ > >> 1 file changed, 23 insertions(+) > >> create mode 100755 tests/docker/run > >> > >> diff --git a/tests/docker/run b/tests/docker/run > >> new file mode 100755 > >> index 0000000..739ecf9 > >> --- /dev/null > >> +++ b/tests/docker/run > >> @@ -0,0 +1,23 @@ > >> +#!/bin/bash -e > >> +# > >> +# Docker test runner > >> +# > >> +# Copyright (c) 2016 Red Hat Inc. > >> +# > >> +# Authors: > >> +# Fam Zheng <famz@redhat.com> > >> +# > >> +# This work is licensed under the terms of the GNU GPL, version 2 > >> +# or (at your option) any later version. See the COPYING file in > >> +# the top-level directory. > >> + > >> +# Prepare the environment > >> +. /etc/profile || true > >> +export PATH=/usr/lib/ccache:$PATH > >> + > >> +tmp=$QEMU_SRC > >> +QEMU_SRC=/var/tmp/qemu.tmp > >> +cp -r $tmp $QEMU_SRC > > > > The first time I ran the fedora target it seems to hang, the second time > > with V=1 it reported my source tree was an in-tree build. > > > > Could we perhaps use git-archive to grab a pristine copy of the tree? > > Something like: > > > > STATUS=`git stash create` > > git archive -1 ${STATUS} -o ${TAR} > > > > Would give a clean source tree with current unstaged/uncommited files. > > Unfortunately this wouldn't include new files yet to be committed in any > > form to the source tree but using git stash save -u might include a > > bunch of unwanted stuff. > > OK that won't work if you have alternates in your git setup. It seems to > me the creation of the pristine tree for docker should be done before we > enter the docker environment. > > There is a slight wrinkle as to what happens if the user wants to enter > an interactive session for debugging. However that doesn't seem possible > via the makefile and perhaps that is just as well. Perhaps that should > be a helper script for the user? We can use "make distclean" in the copied tree. Fam
diff --git a/tests/docker/run b/tests/docker/run new file mode 100755 index 0000000..739ecf9 --- /dev/null +++ b/tests/docker/run @@ -0,0 +1,23 @@ +#!/bin/bash -e +# +# Docker test runner +# +# Copyright (c) 2016 Red Hat Inc. +# +# Authors: +# Fam Zheng <famz@redhat.com> +# +# This work is licensed under the terms of the GNU GPL, version 2 +# or (at your option) any later version. See the COPYING file in +# the top-level directory. + +# Prepare the environment +. /etc/profile || true +export PATH=/usr/lib/ccache:$PATH + +tmp=$QEMU_SRC +QEMU_SRC=/var/tmp/qemu.tmp +cp -r $tmp $QEMU_SRC + +cd $QEMU_SRC/tests/docker +"$@"
It's better to have a launcher for all tests, to make it easier to initialize and manage the environment. Signed-off-by: Fam Zheng <famz@redhat.com> --- tests/docker/run | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 tests/docker/run