qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 04/12] docker: Add test runner


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH 04/12] docker: Add test runner
Date: Tue, 16 Feb 2016 14:00:41 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, 02/15 14:10, Alex Bennée wrote:
> 
> Fam Zheng <address@hidden> writes:
> 
> > On Mon, 02/15 12:45, Alex Bennée wrote:
> >>
> >> Alex Bennée <address@hidden> writes:
> >>
> >> > Fam Zheng <address@hidden> 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 <address@hidden>
> >> >> ---
> >> >>  tests/docker/run | 23 +++++++++++++++++++++++
> >> >>  1 file changed, 23 insertions(+)
> >> >>  create mode 100755 tests/docker/run
> >> >>
> <snip>
> >> 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.
> 
> I wouldn't - distclean isn't always that clean due to *mumble mumble*
> makefile reasons. You could try this approach:
> 
> commit f838d3bbe2f71c731dfe172f1c3286084de203c8
> Author: Alex Bennée <address@hidden>
> Date:   Mon Feb 15 12:52:21 2016 +0000
> 
>     tests/docker/Makefile.include: snapshot the src for docker
> 
>     Instead of providing a live version of the source tree to the docker
>     container we snapshot it with git-archive. This ensure the tree is in a
>     pristine state for whatever operations the container is going to run on
>     them.
> 
>     Uncommitted changes known to files known by the git index will be
>     included in the snapshot if there are any.
> 
>     Signed-off-by: Alex Bennée <address@hidden>
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index ca84c35..63a799c 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -2,7 +2,7 @@
> 
>  $(if $(quiet-command),,$(eval include $(SRC_PATH)/rules.mak))
> 
> -.PHONY: docker docker-build docker-run docker-clean
> +.PHONY: docker docker-build docker-qemu-src docker-run docker-clean
> 
>  DOCKER_SUFFIX = .docker
> 
> @@ -16,12 +16,17 @@ DOCKER_TOOLS := $(filter-out test-%, $(DOCKER_SCRIPTS))
>  TESTS ?= %
>  IMAGES ?= %
> 
> +docker-qemu-src:
> +     $(if git diff-index --quiet HEAD --,                                    
>                                         \
> +             git archive -1 HEAD --prefix=qemu-docker-snapshot/ 
> --format=tar.gz | tar -xz -C /tmp,                   \
> +             git archive -1 `git stash create` 
> --prefix=qemu-docker-snapshot/ --format=tar.gz | tar -xz -C /tmp)

Does this clutter the user's git stash list? Or we can just error out if the
working tree is not clean.

Fam



reply via email to

[Prev in Thread] Current Thread [Next in Thread]