commit:     4be72bb040d08cae62f9f0ccdd21c307858512a3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  3 14:45:07 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4be72bb0

eclass/tests: Add initial tests for verify-sig

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/tests/verify-sig.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/eclass/tests/verify-sig.sh b/eclass/tests/verify-sig.sh
new file mode 100755
index 000000000000..fcd2ee7480a2
--- /dev/null
+++ b/eclass/tests/verify-sig.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+source tests-common.sh || exit
+
+inherit verify-sig
+
+TMP=$(mktemp -d)
+trap 'rm -rf "${TMP}"' EXIT
+cd "${TMP}" || die
+> empty || die
+> fail || die
+echo "The quick brown fox jumps over the lazy dog." > text || die
+
+testit() {
+       local expect=${1}
+       shift
+
+       tbegin "${*@Q}"
+       ( "${@}" )
+       [[ ${?} -eq ${expect} ]]
+       tend "${?}"
+}
+
+test_verify_unsigned_checksums() {
+       local format=${1}
+
+       testit 0 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
empty
+       testit 0 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
"empty text"
+       testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
other
+       testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
"empty other"
+       testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
fail
+       testit 1 verify-sig_verify_unsigned_checksums checksums.txt "${format}" 
"empty fail"
+}
+
+einfo "Testing coreutils format."
+eindent
+
+cat > checksums.txt <<-EOF || die
+       # some junk to test junk protection
+       b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 empty 
junk line
+       b47cc0f104b62d4c7c30bcd68gd8e67613e287dc4ad8c310ef10cbadea9c4380 empty
+
+       # sha1sums
+       da39a3ee5e6b4b0d3255bfef95601890afd80709 empty
+       9c04cd6372077e9b11f70ca111c9807dc7137e4b        text
+       9c04cd6372077e9b11f70ca111c9807dc7137e4b fail
+
+       # sha256sums
+       e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 empty
+       b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380        
text
+       b47cc0f104b62d4c7c30bcd68fd8e67613e287dc4ad8c310ef10cbadea9c4380 fail
+
+       # sha512sums
+       
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
 empty
+       
020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec
        text
+       
020da0f4d8a4c8bfbc98274027740061d7df52ee07091ed6595a083e0f45327bbe59424312d86f218b74ed2e25507abaf5c7a5fcf4cafcf9538b705808fd55ec
 fail
+EOF
+
+test_verify_unsigned_checksums sha256
+eoutdent
+
+texit

Reply via email to