test-apt-get-source-arch 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture "i386" "amd64"
  7. # different version for the individual arches
  8. insertpackage 'stable' 'foo' 'amd64' '1.0'
  9. insertsource 'stable' 'foo' 'amd64' '1.0'
  10. insertpackage 'stable' 'foo' 'i386' '1.0'
  11. insertsource 'stable' 'foo' 'i386' '1.0'
  12. insertpackage 'stable' 'foo' 'i386' '2.0'
  13. insertsource 'stable' 'foo' 'i386' '2.0'
  14. insertpackage 'oldstable' 'foo' 'i386' '0.1'
  15. insertsource 'oldstable' 'foo' 'i386' '0.1'
  16. # just needed so that there is a release file entry for the test
  17. insertpackage 'oldstable' 'unreleated' 'amd64' '0.1'
  18. setupaptarchive
  19. APTARCHIVE=$(readlink -f ./aptarchive)
  20. HEADER="Reading package lists...
  21. Building dependency tree..."
  22. # pick :amd64
  23. testequal "$HEADER
  24. Need to get 0 B of source archives.
  25. 'file://${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
  26. 'file://${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo:amd64
  27. # pick :i386
  28. testequal "$HEADER
  29. Need to get 0 B of source archives.
  30. 'file://${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
  31. 'file://${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo:i386
  32. # pick :i386 by release
  33. testequal "$HEADER
  34. Selected version '0.1' (oldstable) for foo
  35. Need to get 0 B of source archives.
  36. 'file://${APTARCHIVE}/foo_0.1.dsc' foo_0.1.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
  37. 'file://${APTARCHIVE}/foo_0.1.tar.gz' foo_0.1.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo:i386/oldstable
  38. # pick :i386 by version
  39. testequal "$HEADER
  40. Need to get 0 B of source archives.
  41. 'file://${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
  42. 'file://${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo:i386=1.0
  43. # error on unknown arch
  44. testequal "$HEADER
  45. E: Can not find a package for architecture 'not-a-available-arch'
  46. E: Unable to find a source package for foo:not-a-available-arch" aptget source -q --print-uris foo:not-a-available-arch
  47. # error on unavailable version for arch
  48. testequal "$HEADER
  49. E: Can not find a package 'foo:amd64' with version '2.0'
  50. E: Unable to find a source package for foo:amd64=2.0" aptget source -q --print-uris foo:amd64=2.0
  51. # error on unavailable release for arch
  52. testequal "$HEADER
  53. E: Can not find a package 'foo:amd64' with release 'oldstable'
  54. E: Unable to find a source package for foo:amd64/oldstable" aptget source -q --print-uris foo:amd64/oldstable