zeek/auxil/package-manager/testing/tests/dependency-management
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

52 lines
1.3 KiB
Plaintext

# This test puts in place a dependency chain and then verifies zkg's behavior
# when the state of individual packages in that chain changes. The chain:
#
# foo -> bar (*) -> baz (>=1.0.0) -> grault (==1.0.0) -> corge (==1.0.0)
# @TEST-EXEC: bash %INPUT
# @TEST-EXEC: echo '** Install grault' >out
# @TEST-EXEC: zkg install grault >>out
# @TEST-EXEC: echo '** Unload grault' >>out
# @TEST-EXEC: zkg unload grault >>out
# @TEST-EXEC: echo '** Install foo' >>out
# @TEST-EXEC: zkg install foo >>out
# @TEST-EXEC: echo '** Unload foo' >>out
# @TEST-EXEC: zkg unload foo >>out
# @TEST-EXEC: echo '** Load foo' >>out
# @TEST-EXEC: zkg load foo >>out
# @TEST-EXEC: echo '** Unload bar' >>out
# @TEST-EXEC: zkg unload bar>>out
# @TEST-EXEC: echo '** Remove grault' >>out
# @TEST-EXEC: zkg remove grault >>out
# @TEST-EXEC: btest-diff out
cd packages/foo
echo 'depends = bar *' >> zkg.meta
git commit -am 'foo now depends on bar'
cd ../bar
echo 'depends = baz >=1.0.0' >> zkg.meta
git commit -am 'bar now depends on baz >= 1.0.0'
git tag -a 1.0.0 -m 1.0.0
cd ../baz
echo 'depends = grault ==1.0.0' >> zkg.meta
git commit -am 'baz now depends on grault 1.0.0'
git tag -a 1.0.0 -m 1.0.0
cd ../grault
echo 'depends = corge ==1.0.0' >> zkg.meta
git commit -am 'grault now depends on corge 1.0.0'
git tag -a 1.0.0 -m 1.0.0
cd ../corge
git tag -a 1.0.0 -m 1.0.0