|
| 1 | +#! /bin/sh |
| 2 | + |
| 3 | +# $NetBSD: t_netpgpkeys.sh,v 1.1 2026/01/23 20:57:10 wiz Exp $ |
| 4 | + |
| 5 | +# |
| 6 | +# Copyright (c) 2026 The NetBSD Foundation, Inc. |
| 7 | +# All rights reserved. |
| 8 | +# |
| 9 | +# This code is derived from software contributed to The NetBSD Foundation |
| 10 | +# by Thomas Klausner <wiz@NetBSD.org> |
| 11 | +# |
| 12 | +# Redistribution and use in source and binary forms, with or without |
| 13 | +# modification, are permitted provided that the following conditions |
| 14 | +# are met: |
| 15 | +# 1. Redistributions of source code must retain the above copyright |
| 16 | +# notice, this list of conditions and the following disclaimer. |
| 17 | +# 2. Redistributions in binary form must reproduce the above copyright |
| 18 | +# notice, this list of conditions and the following disclaimer in the |
| 19 | +# documentation and/or other materials provided with the distribution. |
| 20 | +# |
| 21 | +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
| 22 | +# AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
| 23 | +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| 24 | +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
| 25 | +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 26 | +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 27 | +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 28 | +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 29 | +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 30 | +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 31 | +# POSSIBILITY OF SUCH DAMAGE. |
| 32 | +# |
| 33 | + |
| 34 | +# Test set 1 (rsa key) for netpgpkeys |
| 35 | +atf_test_case netpgpkeys_testset_1_rsa_keys |
| 36 | + |
| 37 | +netpgpkeys_testset_1_rsa_keys_head() { |
| 38 | + atf_set "descr" "Test set 1 (rsa_keys) for netpgpkeys" |
| 39 | +} |
| 40 | +netpgpkeys_testset_1_rsa_keys_body() { |
| 41 | + atf_expect_fail "PR bin/59936 - does not support keys generated by gnugp2" |
| 42 | + uudecode << EOF |
| 43 | +begin-base64 664 testkey-rsa.pub |
| 44 | +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 |
| 91 | +==== |
| 92 | +EOF |
| 93 | + # TODO: fix netpgpkeys so it doesn't need an empty keyring |
| 94 | + uudecode << EOF |
| 95 | +begin-base64 664 pubring.gpg |
| 96 | +==== |
| 97 | +EOF |
| 98 | + # TODO: needs fixing once netpgpkeys accepts the key |
| 99 | + uudecode << EOF |
| 100 | +begin-base64 664 expected_rsa.out |
| 101 | +==== |
| 102 | +EOF |
| 103 | + atf_check -s exit:0 -o file:expected_rsa.out -e empty env TZ=US/Pacific netpgpkeys --keyring pubring.gpg --import-key testkey-rsa.pub |
| 104 | +} |
| 105 | + |
| 106 | +# Test set 2 (elliptic curve keys) for netpgpkeys |
| 107 | +atf_test_case netpgpkeys_testset_2_ec_keys |
| 108 | + |
| 109 | +netpgpkeys_testset_2_ec_keys_head() { |
| 110 | + atf_set "descr" "Test set 2 (ec_keys) for netpgpkeys" |
| 111 | +} |
| 112 | +netpgpkeys_testset_2_ec_keys_body() { |
| 113 | + atf_expect_fail "PR bin/59936 - does not support keys generated by gnugp2 - dumps core for EC keys" |
| 114 | + uudecode << EOF |
| 115 | +begin-base64 664 testkey-ec.pub |
| 116 | +mDMEaXPYGBYJKwYBBAHaRw8BAQdAJItrcRJ05uSrXI4pWRwwYBzcqq+DMVL951D6 |
| 117 | +Uta3t/m0FnRlc3QgPHRlc3RATmV0QlNELm9yZz6ImQQTFgoAQRYhBCSzfniW90FO |
| 118 | +SQjiiNqj8eXPHLOfBQJpc9gYAhsDBQkFo5qABQsJCAcCAiICBhUKCQgLAgQWAgMB |
| 119 | +Ah4HAheAAAoJENqj8eXPHLOfgBQA/1dkSm8JHk1nKDbsAugPyEPhrCRXOdSPq/mH |
| 120 | +rjii7/M4AP0VteJ7uuxW7BNYNXQHaHokWVIrUaIjdybnB3SmCZnwBrg4BGlz2BgS |
| 121 | +CisGAQQBl1UBBQEBB0AoRgnCTqdaT7uCOLC/zzG0Ul15Sx36OxNBsYwBfrbkGwMB |
| 122 | +CAeIfgQYFgoAJhYhBCSzfniW90FOSQjiiNqj8eXPHLOfBQJpc9gYAhsMBQkFo5qA |
| 123 | +AAoJENqj8eXPHLOfGxkBAM+FmClSgZIon6yACCuhz8gSDtUAsaIhACG0tWVVYxaR |
| 124 | +AQCGIvbI0ZmcpPZ2ptYKiLxSfeOk1JigVxGG61Sy8k+oDg== |
| 125 | +==== |
| 126 | +EOF |
| 127 | + # TODO: fix netpgpkeys so it doesn't need an empty keyring |
| 128 | + uudecode << EOF |
| 129 | +begin-base64 664 pubring.gpg |
| 130 | +==== |
| 131 | +EOF |
| 132 | + # TODO: needs fixing once netpgpkeys doesn't dump core |
| 133 | + uudecode << EOF |
| 134 | +begin-base64 664 expected_ec.out |
| 135 | +==== |
| 136 | +EOF |
| 137 | + atf_check -s exit:0 -o file:expected_ec.out -e empty env TZ=US/Pacific netpgpkeys --keyring pubring.gpg --import-key testkey-ec.pub |
| 138 | +} |
| 139 | + |
| 140 | +# all test sets |
| 141 | +atf_init_test_cases() { |
| 142 | + atf_add_test_case netpgpkeys_testset_1_rsa_keys |
| 143 | + atf_add_test_case netpgpkeys_testset_2_ec_keys |
| 144 | +} |
| 145 | + |
0 commit comments