feat: resolve dependencies in batch trust commands
This commit is contained in:
1 parent
3af159e09a
commit
33ebf89748
4 files changed
+91
-25
No files matched your search
@@ -292,11 +292,49 @@ UPGRADE='apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--forc
|
||||
run skup --no-refresh <<<$'*+\nl\nq'
|
||||
assert_success
|
||||
assert_line 'trusted su-dummy-a (+1 dependency: su-dummy-b)'
|
||||
assert_line 'trusted su-dummy-b'
|
||||
assert_line 'trusted su-dummy-c'
|
||||
assert_line '3 upgradable, 3 trusted (hidden, use --all to show), 0 to review:'
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-b${T}user"
|
||||
assert_line "su-dummy-b${T}dep:su-dummy-a"
|
||||
}
|
||||
|
||||
@test "consecutive trust commands keep dependencies under their selected root in either order" {
|
||||
for line in '1+ 2+ 3+' '2+ 3+ 1+'; do
|
||||
rm -rf "$STATE"
|
||||
run skup --no-refresh <<<"$line"$'\nq'
|
||||
assert_success
|
||||
assert_line 'trusted su-dummy-a (+1 dependency: su-dummy-b)'
|
||||
assert_line 'trusted su-dummy-c'
|
||||
refute_output --partial 'no package ['
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-a${T}user"
|
||||
assert_line "su-dummy-b${T}dep:su-dummy-a"
|
||||
assert_line "su-dummy-c${T}user"
|
||||
done
|
||||
}
|
||||
|
||||
@test "invalid numbers do not stop other commands on the line" {
|
||||
run skup --no-refresh <<<$'9+ 2- 0? 3+\nq'
|
||||
assert_success
|
||||
assert_output --partial 'no package [9] in the list'
|
||||
assert_output --partial 'no package [0] in the list'
|
||||
assert_line 'excluded from this run: su-dummy-b'
|
||||
assert_line 'trusted su-dummy-c'
|
||||
}
|
||||
|
||||
@test "a package removed by a purge does not stop later commands" {
|
||||
FAKE_APT_AUTO_ORPHANS=su-dummy-a:su-dummy-b run skup --no-refresh <<<$'1x 2? 3-\ny\nq'
|
||||
assert_success
|
||||
assert_output --partial 'no package [2] in the list'
|
||||
assert_line 'excluded from this run: su-dummy-c'
|
||||
}
|
||||
|
||||
@test "trusting a dependency and its root with --all keeps the dependency implicit" {
|
||||
run skup --no-refresh --all <<<$'2+ 1+\nq'
|
||||
assert_success
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-a${T}user"
|
||||
assert_line "su-dummy-b${T}dep:su-dummy-a"
|
||||
}
|
||||
|
||||
@test "*- excludes every listed package; *- again re-includes them" {
|
||||
|
||||
Reference in new issue
Block a user