diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-03-21 15:57:40 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-04-05 16:59:16 +0200 |
commit | f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5 (patch) | |
tree | 0687d1197f8f826822bc8a0fd00dc019c287b161 /test/Makefile | |
parent | e8b78217bb1b13d145284e905be60274164b9dd0 (diff) | |
download | passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar.gz passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar.bz2 passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar.lz passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar.xz passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.tar.zst passt-f9fe3ae5dd7ef03b97d7f1b3b4a6d5a92dccaef5.zip |
test: Build and download podman as a test asset
The pasta_podman/bats test scrpt downloads and builds podman, then runs its
pasta specific tests. Downloading from within a test case has some
drawbacks:
* It can be very tedious if you have poor connectivity to the server
* It makes a test that's ostensibly for pasta itself dependent on the
state of the github server
* It precludes runnning the tests in an isolated network environment
The same concerns largely apply to building podman too, because it's pretty
common for Go builds to download dependencies themselves. Therefore move
the download and build of podman from the test itself, to the Makefile
where we prepare other test assets.
To avoid cryptic failures if something went wrong with the build, make
running the test dependent on having the built podman binary.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'test/Makefile')
-rw-r--r-- | test/Makefile | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile index 711c61c..35a3b55 100644 --- a/test/Makefile +++ b/test/Makefile @@ -52,10 +52,10 @@ UBUNTU_NEW_IMGS = xenial-server-cloudimg-powerpc-disk1.img \ jammy-server-cloudimg-s390x.img UBUNTU_IMGS = $(UBUNTU_OLD_IMGS) $(UBUNTU_NEW_IMGS) -DOWNLOAD_ASSETS = mbuto \ +DOWNLOAD_ASSETS = mbuto podman \ $(DEBIAN_IMGS) $(FEDORA_IMGS) $(OPENSUSE_IMGS) $(UBUNTU_IMGS) TESTDATA_ASSETS = small.bin big.bin medium.bin -LOCAL_ASSETS = mbuto.img mbuto.mem.img QEMU_EFI.fd \ +LOCAL_ASSETS = mbuto.img mbuto.mem.img podman/bin/podman QEMU_EFI.fd \ $(DEBIAN_IMGS:%=prepared-%) $(FEDORA_IMGS:%=prepared-%) \ $(UBUNTU_NEW_IMGS:%=prepared-%) \ nstool guest-key guest-key.pub \ @@ -76,6 +76,14 @@ mbuto: mbuto/mbuto: pull-mbuto +podman: + git clone https://github.com/containers/podman.git + +# To succesfully build podman, you will need gpgme and systemd +# development packages +podman/bin/podman: pull-podman + $(MAKE) -C podman + guest-key guest-key.pub: ssh-keygen -f guest-key -N '' |