Sfoglia il codice sorgente

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
David Kalnischkies 10 anni fa
parent
commit
031a3f254a
2 ha cambiato i file con 12 aggiunte e 1 eliminazioni
  1. 1 1
      cmdline/apt-key.in
  2. 11 0
      test/integration/test-apt-key

+ 1 - 1
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

+ 11 - 0
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