diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-03-06 10:16:59 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-03-06 10:16:59 +0100 |
commit | 031a3f254a2a73b2843ead28a2481b63ec1d7244 (patch) | |
tree | e33504bce7356362b37d033dfb22626040a60ef4 | |
parent | c97ae2a00f41febb9558b5e6ef08019b93dcefac (diff) |
add test for apt-key 0xKEY and use parameter expansion
Fixed in f7bd44bae0d7cb7f9838490b5eece075da83899e already, but the
commit misses the Closes tag and while we are at it we can add a simple
regression test and micro-optimize it a bit.
Thanks: James McCoy for the suggestion.
Closes: 816691
-rw-r--r-- | cmdline/apt-key.in | 2 | ||||
-rwxr-xr-x | test/integration/test-apt-key | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/cmdline/apt-key.in b/cmdline/apt-key.in index cfd4be35d..3ed2a70ce 100644 --- a/cmdline/apt-key.in +++ b/cmdline/apt-key.in @@ -193,7 +193,7 @@ remove_key_from_keyring() { get_fingerprints_of_keyring "$KEYRINGFILE" > "$FINGERPRINTS" # strip leading 0x, if present: - KEY="$(printf %s "$KEY" | sed s/^0x//)" + KEY="${KEY#0x}" # check if the key is in this keyring if ! grep -iq "^[0-9A-F]*${KEY}$" "$FINGERPRINTS"; then diff --git a/test/integration/test-apt-key b/test/integration/test-apt-key index 907824db1..82b64963c 100755 --- a/test/integration/test-apt-key +++ b/test/integration/test-apt-key @@ -85,6 +85,17 @@ gpg: unchanged: 1' aptkey --fakeroot update testfailure test -e rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg testsuccess cmp keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg~ + msgtest 'Test key removal with' 'different key specs' + cleanplate + cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg + cp -a keys/marvinparanoid.pub rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg + testsuccess --nomsg aptkey --fakeroot del 0xDBAC8DAE 528144E2 + testempty aptkey list + testfailure test -e rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg + testsuccess cmp keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg~ + testfailure test -e rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg + testsuccess cmp keys/marvinparanoid.pub rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg~ + msgtest 'Test key removal with' 'long key ID' cleanplate cp -a keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg |