Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
| 1 | #!/bin/sh |
| 2 | . ./Common |
| 3 | |
| 4 | ############################################################################### |
| 5 | |
| 6 | # |
| 7 | # See the comment at the end of "resolve" in prereq.c for details. |
| 8 | # |
| 9 | |
| 10 | qpkg_fail "BUG: we don't clean up QPKG_ADDING, yielding false errors" \ |
| 11 | prereq A <<EOF |
| 12 | Package: D |
| 13 | Version: 0 |
| 14 | Architecture: test |
| 15 | Conflicts: B (= 1) |
| 16 | Filename: D_0 |
| 17 | |
| 18 | Package: C |
| 19 | Version: 0 |
| 20 | Architecture: test |
| 21 | Depends: D |
| 22 | Filename: C_0 |
| 23 | |
| 24 | Package: B |
| 25 | Version: 1 |
| 26 | Architecture: test |
| 27 | Depends: C |
| 28 | Filename: B_1 |
| 29 | |
| 30 | Package: B |
| 31 | Version: 0 |
| 32 | Architecture: test |
| 33 | Depends: C |
| 34 | Filename: B_0 |
| 35 | |
| 36 | Package: A |
| 37 | Version: 0 |
| 38 | Architecture: test |
| 39 | Depends: B |
| 40 | Filename: A_0 |
| 41 | EOF |
| 42 | expect <<EOF |
| 43 | package C version 0 has cyclic dependency |
| 44 | EOF |
| 45 | |
| 46 | ############################################################################### |
| 47 | |
| 48 | # |
| 49 | # We also fail (badly) to restore QPKG_ADDING after we moved on: |
| 50 | # |
| 51 | # A -> B, D |
| 52 | # B -> C_1 |
| 53 | # C_0 -> B |
| 54 | # D conflicts with C_1 |
| 55 | # |
| 56 | # "resolve" recurses as follows: |
| 57 | # |
| 58 | # A_0 -> B |
| 59 | # B_0|D -> C |
| 60 | # C_1|D -> next (we clear B here !) |
| 61 | # D_0 -> done |
| 62 | # C_0|D -> next (we try to clear B again) |
| 63 | # |
| 64 | |
| 65 | qpkg_fail "BUG: we don't restore QPKG_ADDING, missing errors" \ |
| 66 | prereq A <<EOF |
| 67 | Package: D |
| 68 | Version: 0 |
| 69 | Architecture: test |
| 70 | Filename: D |
| 71 | |
| 72 | Package: C |
| 73 | Version: 1 |
| 74 | Architecture: test |
| 75 | Filename: C_1 |
| 76 | |
| 77 | Package: C |
| 78 | Version: 0 |
| 79 | Architecture: test |
| 80 | Depends: B |
| 81 | Filename: C_0 |
| 82 | |
| 83 | Package: B |
| 84 | Version: 0 |
| 85 | Architecture: test |
| 86 | Depends: C |
| 87 | Filename: B |
| 88 | |
| 89 | Package: A |
| 90 | Version: 0 |
| 91 | Architecture: test |
| 92 | Depends: B, D |
| 93 | Filename: A |
| 94 | EOF |
| 95 | expect <<EOF |
| 96 | qpkg: prereq.c:185: resolve: Assertion \`top->pkg->flags & QPKG_ADDING' failed. |
| 97 | Aborted |
| 98 | EOF |
| 99 |
Branches:
master
