feat: trust topmost installed dependents
This commit is contained in:
1 parent
6da4312f5c
commit
a059e37564
3 files changed
+112
-3
No files matched your search
@@ -555,3 +555,47 @@ UPGRADE='apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--forc
|
||||
assert_line 'su-dummy-b: dummy package su-dummy-b for skeptical-updater tests'
|
||||
refute_output --partial '=[3] su-dummy-c'
|
||||
}
|
||||
|
||||
@test "N++ trusts the topmost installed dependent and its dependencies" {
|
||||
run skup --no-refresh <<<$'2++\nq'
|
||||
assert_success
|
||||
assert_line 'trusted su-dummy-a (+1 dependency: su-dummy-b)'
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-a${T}user"
|
||||
assert_line "su-dummy-b${T}dep:su-dummy-a"
|
||||
}
|
||||
|
||||
@test "N++ trusts all topmost branches including packages outside the list" {
|
||||
local fixture_data="$BATS_TEST_TMPDIR/data"
|
||||
cp -R "$FAKE_DATA" "$fixture_data"
|
||||
printf 'su-dummy-b\nReverse Depends:\n su-dummy-a\n su-dummy-c\n' >"$fixture_data/apt/rdepends/su-dummy-b"
|
||||
printf 'su-dummy-a\nReverse Depends:\n su-dummy-w\n' >"$fixture_data/apt/rdepends/su-dummy-a"
|
||||
sed -i 's/su-virtual | su-dummy-alt/su-dummy-a/; s/^ii \(.*su-dummy-c\)\t\t\t\t/ii \1\t\tsu-dummy-b\t/' "$fixture_data/apt/dpkg-status.tsv"
|
||||
FAKE_DATA="$fixture_data" run skup --no-refresh <<<$'2++\nq'
|
||||
assert_success
|
||||
assert_output --partial 'trusted su-dummy-c'
|
||||
assert_output --partial 'trusted su-dummy-w'
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-c${T}user"
|
||||
assert_line "su-dummy-w${T}user"
|
||||
assert_line "su-dummy-a${T}dep:su-dummy-w"
|
||||
}
|
||||
|
||||
@test "N++ terminates on a dependency cycle and chooses one root" {
|
||||
local fixture_data="$BATS_TEST_TMPDIR/data"
|
||||
cp -R "$FAKE_DATA" "$fixture_data"
|
||||
printf 'su-dummy-a\nReverse Depends:\n su-dummy-b\n' >"$fixture_data/apt/rdepends/su-dummy-a"
|
||||
sed -i 's/^ii \(.*su-dummy-b\)\t\t\t\t/ii \1\t\tsu-dummy-a\t/' "$fixture_data/apt/dpkg-status.tsv"
|
||||
FAKE_DATA="$fixture_data" run skup --no-refresh <<<$'2++\nq'
|
||||
assert_success
|
||||
assert_output --partial 'trusted su-dummy-a'
|
||||
run cut -f2,3 "$STATE_FILE"
|
||||
assert_line "su-dummy-a${T}user"
|
||||
assert_line "su-dummy-b${T}dep:su-dummy-a"
|
||||
}
|
||||
|
||||
@test "N++ trusts the package itself when it has no installed dependents" {
|
||||
run skup --no-refresh <<<$'3++\nq'
|
||||
assert_success
|
||||
assert_line 'trusted su-dummy-c'
|
||||
}
|
||||
Reference in new issue
Block a user