aboutgitcodebugslistschat
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/.gitignore1
-rw-r--r--test/Makefile20
-rwxr-xr-xtest/passt.mbuto6
-rw-r--r--test/pasta_options/log_to_file11
-rw-r--r--test/pasta_podman/bats15
5 files changed, 36 insertions, 17 deletions
diff --git a/test/.gitignore b/test/.gitignore
index 4837402..6dd4790 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -1,5 +1,6 @@
test_logs/
mbuto/
+podman/
*.img
QEMU_EFI.fd
*.qcow2
diff --git a/test/Makefile b/test/Makefile
index 7b00bef..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 \
@@ -67,13 +67,27 @@ CFLAGS = -Wall -Werror -Wextra -pedantic -std=c99
assets: $(ASSETS)
+.PHONY: pull-%
+pull-%: %
+ git -C $* pull
+
mbuto:
git clone git://mbuto.sh/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 ''
-mbuto.img: passt.mbuto mbuto guest-key.pub $(TESTDATA_ASSETS)
+mbuto.img: passt.mbuto mbuto/mbuto guest-key.pub $(TESTDATA_ASSETS)
./mbuto/mbuto -p ./$< -c lz4 -f $@
mbuto.mem.img: passt.mem.mbuto mbuto ../passt.avx2
diff --git a/test/passt.mbuto b/test/passt.mbuto
index 6240d5c..436eecc 100755
--- a/test/passt.mbuto
+++ b/test/passt.mbuto
@@ -54,7 +54,7 @@ EOF
ln -s /run /var/run
:> /etc/fstab
- # sshd(dropbear) via vsock
+ # sshd via vsock
cat > /etc/passwd << EOF
root:x:0:0:root:/root:/bin/sh
sshd:x:100:100:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
@@ -64,7 +64,9 @@ root:::0:99999:7:::
EOF
chmod 000 /etc/shadow
- :> /etc/ssh/sshd_config
+ cat > /etc/ssh/sshd_config << EOF
+Subsystem sftp internal-sftp
+EOF
ssh-keygen -A
chmod 700 /root/.ssh
chmod 700 /run/sshd
diff --git a/test/pasta_options/log_to_file b/test/pasta_options/log_to_file
index fcdd553..fe50e50 100644
--- a/test/pasta_options/log_to_file
+++ b/test/pasta_options/log_to_file
@@ -33,16 +33,13 @@ test Log creation
set PORTS -t 10001,10002 -u 10001,10002
set LOG_FILE __STATEDIR__/pasta.log
-passt ./pasta -l __LOG_FILE__
-passtb exit
-sleep 1
+passt ./pasta -l __LOG_FILE__ -- /bin/true
check [ -s __LOG_FILE__ ]
test Log truncated on creation
-passt ./pasta -l __LOG_FILE__
-passtb exit
-sleep 1
-check [ $(cat __LOG_FILE__ | wc -l) -eq 1 ]
+passt ./pasta -l __LOG_FILE__ -- /bin/true & wait
+pout PID2 echo $!
+check head -1 __LOG_FILE__ | grep '^pasta .* [(]__PID2__[)]$'
test Maximum log size
passtb ./pasta --config-net -d -f -l __LOG_FILE__ --log-size $((100 * 1024)) -- sh -c 'while true; do tcp_crr --nolog -P 10001 -C 10002 -6; done'
diff --git a/test/pasta_podman/bats b/test/pasta_podman/bats
index 21446f0..6b1c575 100644
--- a/test/pasta_podman/bats
+++ b/test/pasta_podman/bats
@@ -11,11 +11,16 @@
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
-htools git make go bats catatonit ip jq socat
+htools git make go bats ip jq socat ./test/podman/bin/podman
+
+set PODMAN test/podman/bin/podman
+hout WD pwd
+
+test Podman pasta path
+
+hout PASTA_BIN CONTAINERS_HELPER_BINARY_DIR="__WD__" __PODMAN__ info --format "{{.Host.Pasta.Executable}}"
+check [ "__PASTA_BIN__" = "__WD__/pasta" ]
test Podman system test with bats
-host git -C __STATEDIR__ clone https://github.com/containers/podman.git
-host make -C __STATEDIR__/podman
-hout WD pwd
-host PODMAN="__STATEDIR__/podman/bin/podman" CONTAINERS_HELPER_BINARY_DIR="__WD__" bats __STATEDIR__/podman/test/system/505-networking-pasta.bats
+host PODMAN="__PODMAN__" CONTAINERS_HELPER_BINARY_DIR="__WD__" bats test/podman/test/system/505-networking-pasta.bats