From 8e7fd3e06f300bd76b659db1164da1ee12f16870 Mon Sep 17 00:00:00 2001 From: Timo Teräs Date: Tue, 12 Dec 2017 15:14:25 +0200 Subject: solver: fix potential install_if processing failure, fixes #8237 In discovery phase, there was logic to not process packages multiple times. However, that logic failed to account the package's depth and install_if state for the name being processed. This caused install_if processing failure in certain topologies of the dependency graph. Adds also a test case that should catch this issue reliably. --- test/installif1.repo | 20 ++++++++++++++++++++ test/installif5.test | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 test/installif5.test (limited to 'test') diff --git a/test/installif1.repo b/test/installif1.repo index 09b6760..3990209 100644 --- a/test/installif1.repo +++ b/test/installif1.repo @@ -46,3 +46,23 @@ I:1 D:app i:app bar +C:Q1/hQ3fH2AzuTwJVGOz+keypXhXKY= +P:dam +V:1 +S:1 +I:1 + +C:Q1/hQ3fH2AzuTwJVGfz+keypXhXKY= +P:dam-babel +V:1 +S:1 +I:1 +p:cmd:babel + +C:Q1/hQ3fH2AguTwJVGOz+keypXhXKY= +P:dam1-babel +V:1 +S:1 +I:1 +i:dam dam-babel +p:cmd:babel diff --git a/test/installif5.test b/test/installif5.test new file mode 100644 index 0000000..a0c707b --- /dev/null +++ b/test/installif5.test @@ -0,0 +1,8 @@ +@ARGS +--test-repo installif1.repo +add dam dam-babel cmd:babel +@EXPECT +(1/3) Installing dam-babel (1) +(2/3) Installing dam (1) +(3/3) Installing dam1-babel (1) +OK: 0 MiB in 0 packages -- cgit v1.2.3-70-g09d2