test: store empty files rather than symlinks for test-fstab-generator
authorLuca Boccassi <luca.boccassi@microsoft.com>
Sun, 9 Jan 2022 14:00:25 +0000 (14:00 +0000)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 9 Jan 2022 20:26:13 +0000 (21:26 +0100)
Dangling symlinks get pruned when packaging up the installation
directory. Just store empty files instead, and compare the names
rather than the content for .requires/.wants - the filename is
what is important anyway, the content is ignored.

Fixes #22059

(cherry picked from commit e683878c0f03a4ffa123e37b27933fbf7e144901)

22 files changed:
test/test-fstab-generator.sh
test/test-fstab-generator/test-01-dev-nfs.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-02-dhcp.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-03-dhcp6.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-04-nfs.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-05-nfs4.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-06-ipv4.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-07-ipv6.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-08-implicit-nfs.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-09-cifs.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-10-iscsi.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-11-live.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-12-dev-sdx.expected/initrd-root-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-12-dev-sdx.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-13-label.expected/initrd-root-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-13-label.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-14-uuid.expected/initrd-root-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-14-uuid.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-15-partuuid.expected/initrd-root-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-16-tmpfs.expected/initrd-root-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]
test/test-fstab-generator/test-16-tmpfs.expected/initrd-usr-fs.target.requires/sysroot.mount [changed from symlink to file mode: 0644]

index a27c397cce102d00cc3a5d4bd1acf9a7a34da37b..0c977645e3f049404b4e87d842d2905bf67b03c9 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
-set -ex
+set -e
 
 if [[ -n "$1" ]]; then
     generator=$1
@@ -30,7 +30,9 @@ for f in "$src"/test-*.input; do
             sed -i -e 's:ExecStart=/lib/systemd/systemd-fsck:ExecStart=/usr/lib/systemd/systemd-fsck:' "$out"/systemd-fsck-root.service
         fi
 
-        if ! diff -u "$out" "${f%.input}.expected"; then
+        # We store empty files rather than symlinks, so that they don't get pruned when packaged up, so compare
+        # the list of filenames rather than their content
+        if ! diff -u <(find "$out" -printf '%P\n' | sort) <(find "${f%.input}.expected" -printf '%P\n' | sort); then
             echo "**** Unexpected output for $f"
             exit 1
         fi
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
deleted file mode 120000 (symlink)
index 0c969cdbd4a993319d984c0bc4876b141b505938..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../sysroot.mount
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391