Skip to content

Commit f7b6cfe

Browse files
committed
Add test for image generation and change python's version check
We need to test generated image before releasing new version.
1 parent 1151daf commit f7b6cfe

File tree

2 files changed

+31
-14
lines changed

2 files changed

+31
-14
lines changed

src/install/ykfde

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ build() {
2828
add_file $file
2929
done
3030

31-
python_ver=$(python -V | awk '{print $2}')
32-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/zipp"
33-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/cryptography"
34-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/cffi"
35-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/smartcard"
36-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/fido2"
37-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/importlib_metadata"
38-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/ykman"
39-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/yubikit"
40-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/click"
41-
add_full_dir "/usr/lib/python${python_ver::-2}/site-packages/keyring"
42-
add_binary "/usr/lib/python${python_ver::-2}/site-packages/_cffi_backend.cpython-311-x86_64-linux-gnu.so"
31+
python_ver=$(python -V | awk -F'[" ",.]' '{print $2"."$3}')
32+
add_full_dir "/usr/lib/python${python_ver}/site-packages/zipp"
33+
add_full_dir "/usr/lib/python${python_ver}/site-packages/cryptography"
34+
add_full_dir "/usr/lib/python${python_ver}/site-packages/cffi"
35+
add_full_dir "/usr/lib/python${python_ver}/site-packages/smartcard"
36+
add_full_dir "/usr/lib/python${python_ver}/site-packages/fido2"
37+
add_full_dir "/usr/lib/python${python_ver}/site-packages/importlib_metadata"
38+
add_full_dir "/usr/lib/python${python_ver}/site-packages/ykman"
39+
add_full_dir "/usr/lib/python${python_ver}/site-packages/yubikit"
40+
add_full_dir "/usr/lib/python${python_ver}/site-packages/click"
41+
add_full_dir "/usr/lib/python${python_ver}/site-packages/keyring"
42+
add_binary "/usr/lib/python${python_ver}/site-packages/_cffi_backend.cpython-311-x86_64-linux-gnu.so"
4343
add_binary "/usr/lib/libssl.so.3"
4444

4545
add_binary "cryptsetup"

testrun.sh

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ truncate -s 20M "$YKFDE_TMPFILE"
3737

3838
cleanup() {
3939
rm -f "$YKFDE_TMPFILE"
40+
rm -rf initramfs
4041
}
4142
trap cleanup EXIT
4243

@@ -55,6 +56,22 @@ bash "$(pwd)/src/ykfde-open" -d "$YKFDE_TMPFILE" -n ykfde-test -v
5556
cryptsetup close ykfde-test
5657
echo "Test 'ykfde-open' script successfully passed."
5758

58-
echo "All tests successfully passed."
59-
59+
echo "INFO: Testing initramfs..."
60+
mkdir -p "$(pwd)/initramfs"
61+
mkinitcpio -d "$(pwd)/initramfs"
62+
status=1
63+
status=$(chroot "$(pwd)/initramfs" /bin/sh -c "export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1; ykman otp info; exit 0" 2>&1 | awk '
64+
{
65+
if ($0 ~ /No YubiKey detected/) {
66+
print "0";
67+
exit 0;
68+
}
69+
}'
70+
)
71+
if [[ "$status" == 0 ]]
72+
then
73+
echo "All tests successfully passed."
74+
else
75+
echo "The image didnot pass the test, please file a bug report to: https://github.com/agherzan/yubikey-full-disk-encryption/issues"
76+
fi
6077
exit 0

0 commit comments

Comments
 (0)