# -*- perl -*- use strict; use warnings; use tests::tests; check_expected ([<<'EOF']); (priority-donate-chain) begin (priority-donate-chain) main got lock. (priority-donate-chain) main should have priority 3. Actual priority: 3. (priority-donate-chain) main should have priority 6. Actual priority: 6. (priority-donate-chain) main should have priority 9. Actual priority: 9. (priority-donate-chain) main should have priority 12. Actual priority: 12. (priority-donate-chain) main should have priority 15. Actual priority: 15. (priority-donate-chain) main should have priority 18. Actual priority: 18. (priority-donate-chain) main should have priority 21. Actual priority: 21. (priority-donate-chain) thread 1 got lock (priority-donate-chain) thread 1 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 2 got lock (priority-donate-chain) thread 2 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 3 got lock (priority-donate-chain) thread 3 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 4 got lock (priority-donate-chain) thread 4 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 5 got lock (priority-donate-chain) thread 5 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 6 got lock (priority-donate-chain) thread 6 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 7 got lock (priority-donate-chain) thread 7 should have priority 21. Actual priority: 21 (priority-donate-chain) thread 7 finishing with priority 21. (priority-donate-chain) interloper 7 finished. (priority-donate-chain) thread 6 finishing with priority 18. (priority-donate-chain) interloper 6 finished. (priority-donate-chain) thread 5 finishing with priority 15. (priority-donate-chain) interloper 5 finished. (priority-donate-chain) thread 4 finishing with priority 12. (priority-donate-chain) interloper 4 finished. (priority-donate-chain) thread 3 finishing with priority 9. (priority-donate-chain) interloper 3 finished. (priority-donate-chain) thread 2 finishing with priority 6. (priority-donate-chain) interloper 2 finished. (priority-donate-chain) thread 1 finishing with priority 3. (priority-donate-chain) interloper 1 finished. (priority-donate-chain) main finishing with priority 0. (priority-donate-chain) end EOF pass;