You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.8 KiB

пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
пре 10 година
  1. #!/usr/bin/env bats
  2. load test_helper
  3. export PYTHON_BUILD_SKIP_MIRROR=
  4. export PYTHON_BUILD_CACHE_PATH=
  5. export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
  6. @test "package URL without checksum bypasses mirror" {
  7. stub shasum true
  8. stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
  9. install_fixture definitions/without-checksum
  10. echo "$output" >&2
  11. [ "$status" -eq 0 ]
  12. [ -x "${INSTALL_ROOT}/bin/package" ]
  13. unstub curl
  14. unstub shasum
  15. }
  16. @test "package URL with checksum but no shasum support bypasses mirror" {
  17. stub shasum false
  18. stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
  19. install_fixture definitions/with-checksum
  20. [ "$status" -eq 0 ]
  21. [ -x "${INSTALL_ROOT}/bin/package" ]
  22. unstub curl
  23. unstub shasum
  24. }
  25. @test "package URL with checksum hits mirror first" {
  26. local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
  27. local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
  28. stub shasum true "echo $checksum"
  29. stub curl "-*I* $mirror_url : true" \
  30. "-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
  31. install_fixture definitions/with-checksum
  32. [ "$status" -eq 0 ]
  33. [ -x "${INSTALL_ROOT}/bin/package" ]
  34. unstub curl
  35. unstub shasum
  36. }
  37. @test "package is fetched from original URL if mirror download fails" {
  38. local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
  39. local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
  40. stub shasum true "echo $checksum"
  41. stub curl "-*I* $mirror_url : false" \
  42. "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
  43. install_fixture definitions/with-checksum
  44. [ "$status" -eq 0 ]
  45. [ -x "${INSTALL_ROOT}/bin/package" ]
  46. unstub curl
  47. unstub shasum
  48. }
  49. @test "package is fetched from original URL if mirror download checksum is invalid" {
  50. local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
  51. local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
  52. stub shasum true "echo invalid" "echo $checksum"
  53. stub curl "-*I* $mirror_url : true" \
  54. "-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
  55. "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
  56. install_fixture definitions/with-checksum
  57. echo "$output" >&2
  58. [ "$status" -eq 0 ]
  59. [ -x "${INSTALL_ROOT}/bin/package" ]
  60. unstub curl
  61. unstub shasum
  62. }
  63. @test "default mirror URL" {
  64. export PYTHON_BUILD_MIRROR_URL=
  65. local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5"
  66. stub shasum true "echo $checksum"
  67. stub curl "-*I* : true" \
  68. "-q -o * -*S* https://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
  69. install_fixture definitions/with-checksum
  70. [ "$status" -eq 0 ]
  71. [ -x "${INSTALL_ROOT}/bin/package" ]
  72. unstub curl
  73. unstub shasum
  74. }