BASH   23

php-pr sh

Guest on 21st September 2022 01:47:18 PM

  1. #! /usr/bin/env atf-sh
  2.  
  3. atf_test_case pkg_phpextensions
  4.  
  5. pkg_phpextensions_head() {
  6.         atf_set "descr" "testing pkg -- install php module wich dep on newer php version even with upgrade"
  7. }
  8.  
  9. pkg_phpextensions_body() {
  10.         touch php53.file
  11.         touch php53extension.file
  12.         touch php53gd.file
  13.         touch php53fileinfo.file
  14.  
  15.         cat << EOF > php53.ucl
  16. name: php53
  17. origin: lang/php53
  18. version: "5.3.27"
  19. maintainer: test
  20. categories: [test]
  21. comment: a test
  22. www: http://test
  23. prefix: /usr/local
  24. desc: <<EOD
  25. Yet another test
  26. EOD
  27. provides: [ php-5.3.27 ]
  28. files: {
  29.     ${TMPDIR}/php53.file: "",
  30. }
  31. EOF
  32.  
  33.         cat << EOF > php53extension.ucl
  34. name: php53-extensions
  35. origin: lang/php53-extensions
  36. version: "1.6"
  37. maintainer: test
  38. categories: [test]
  39. comment: a test
  40. www: http://test
  41. prefix: /usr/local
  42. desc: <<EOD
  43. Yet another test
  44. EOD
  45. requires: [ php-5.3.27 ]
  46. deps:   {
  47.           php53-gd: {
  48.                 origin: "graphics/php53-gd",
  49.                 version: "5.3.27"
  50.           }
  51.  
  52.         }
  53.  
  54. files: {
  55.     ${TMPDIR}/php53extension.file: "",
  56. }
  57. EOF
  58.  
  59.         cat << EOF > php53gd.ucl
  60. name: php53-gd
  61. origin: graphics/php53-gd
  62. version: "5.3.27"
  63. maintainer: test
  64. categories: [test]
  65. comment: a test
  66. www: http://test
  67. prefix: /usr/local
  68. desc: <<EOD
  69. Yet another test
  70. EOD
  71. requires: [ php-5.3.27 ]
  72. deps:   {
  73.           php53: {
  74.                 origin: "lang/php53",
  75.                 version: "5.3.27"
  76.           }
  77.  
  78.         }
  79.  
  80. files: {
  81.     ${TMPDIR}/php53gd.file: "",
  82. }
  83. EOF
  84.  
  85.         cat << EOF > repo1.conf
  86. local1: {
  87.         url: file://${TMPDIR},
  88.         enabled: true
  89. }
  90. EOF
  91.  
  92.         for p in php53 php53extension php53gd; do
  93.                 atf_check \
  94.                         -o ignore \
  95.                         -e empty \
  96.                         -s exit:0 \
  97.                         pkg create -M ./${p}.ucl
  98.         done
  99.  
  100.         atf_check \
  101.                 -o inline:"Creating repository in .... done\nPacking files for repository... done\n" \
  102.                 -e empty \
  103.                 -s exit:0 \
  104.                 pkg repo .
  105.  
  106.         atf_check \
  107.                 -o ignore \
  108.                 -e empty \
  109.                 -s exit:0 \
  110.                 pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}" install -y php53-extensions
  111.  
  112. #### NEW
  113.  
  114.         rm repo1.conf
  115.         rm -f *.ucl
  116.         rm *.txz
  117.  
  118.         cat << EOF > php53.new.ucl
  119. name: php53
  120. origin: lang/php53
  121. version: "5.3.40"
  122. maintainer: test
  123. categories: [test]
  124. comment: a test
  125. www: http://test
  126. prefix: /usr/local
  127. desc: <<EOD
  128. Yet another test
  129. EOD
  130. provides: [ php-5.3.40 ]
  131. files: {
  132.     ${TMPDIR}/php53.file: "",
  133. }
  134. EOF
  135.  
  136.         cat << EOF >> php53extension.new.ucl
  137. name: php53-extensions
  138. origin: lang/php53-extensions
  139. version: "1.6"
  140. maintainer: test
  141. categories: [test]
  142. comment: a test
  143. www: http://test
  144. prefix: /usr/local
  145. desc: <<EOD
  146. Yet another test
  147. EOD
  148. requires: [ php-5.3.40 ]
  149. deps:   {
  150.           php53-gd: {
  151.                 origin: "graphics/php53-gd",
  152.                 version: "5.3.40"
  153.           }
  154.  
  155.         }
  156.  
  157. files: {
  158.     ${TMPDIR}/php53extension.file: "",
  159. }
  160. EOF
  161.  
  162.         cat << EOF >> php53gd.new.ucl
  163. name: php53-gd
  164. origin: graphics/php53-gd
  165. version: "5.3.40"
  166. maintainer: test
  167. categories: [test]
  168. comment: a test
  169. www: http://test
  170. prefix: /usr/local
  171. desc: <<EOD
  172. Yet another test
  173. EOD
  174. requires: [ php-5.3.40 ]
  175. deps:   {
  176.           php53: {
  177.                 origin: "lang/php53",
  178.                 version: "5.3.40"
  179.           }
  180.  
  181.         }
  182.  
  183. files: {
  184.     ${TMPDIR}/php53gd.file: "",
  185. }
  186. EOF
  187.  
  188.  
  189.         cat << EOF >> php53fileinfo.new.ucl
  190. name: php53-fileinfo
  191. origin: sysutils/php53-fileinfo
  192. version: "5.3.40"
  193. maintainer: test
  194. categories: [test]
  195. comment: a test
  196. www: http://test
  197. prefix: /usr/local
  198. desc: <<EOD
  199. Yet another test
  200. EOD
  201. requires: [ php-5.3.40 ]
  202. deps:   {
  203.           php53: {
  204.                 origin: "lang/php53",
  205.                 version: "5.3.40"
  206.           }
  207.  
  208.         }
  209.  
  210. files: {
  211.     ${TMPDIR}/php53fileinfo.file: "",
  212. }
  213. EOF
  214.  
  215.         for p in php53 php53extension php53fileinfo; do
  216.                 atf_check \
  217.                         -o ignore \
  218.                         -e empty \
  219.                         -s exit:0 \
  220.                         pkg create -M ./${p}.new.ucl
  221.         done
  222.  
  223.         atf_check \
  224.                 -o inline:"Creating repository in .... done\nPacking files for repository... done\n" \
  225.                 -e empty \
  226.                 -s exit:0 \
  227.                 pkg repo .
  228.  
  229.         cat << EOF >> repo.conf
  230. local: {
  231.         url: file://${TMPDIR}/,
  232.         enabled: true
  233. }
  234. EOF
  235.  
  236. OUTPUT="php53-5.3.40
  237. php53-extensions-1.6
  238. php53-fileinfo-5.3.40
  239. php53-gd-5.3.27
  240. "
  241.  
  242.         atf_check \
  243.                 -o empty \
  244.                 -e empty \
  245.                 -s exit:0 \
  246.                 pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}" install -y php53-fileinfo
  247.  
  248. #       atf_check \
  249. #               -o empty \
  250. #               -e empty \
  251. #               -s exit:0 \
  252. #               pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}" upgrade -n
  253.  
  254.         #atf_check \
  255.         #       -o not-inline:"${OUTPUT}" \
  256.         #       -e empty \
  257.         #       -s exit:0 \
  258.         #       pkg -o REPOS_DIR="${TMPDIR}" -o PKG_CACHEDIR="${TMPDIR}"  info -q
  259. }
  260.  
  261. atf_init_test_cases() {
  262.         . $(atf_get_srcdir)/test_environment.sh
  263.  
  264.         atf_add_test_case pkg_phpextensions
  265. }

Raw Paste


Login or Register to edit or fork this paste. It's free.