shell dot on steroids https://pagure.io/shellfu

TF_RUN 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/bin/bash
  2. . "$TF_DIR/include/subtest.sh"
  3. . "$TF_DIR/include/tools.sh"
  4. . "$(sfpath)" || tf_exit_error "failed to init shellfu"
  5. PRETTY=plain
  6. shellfu import pretty || tf_exit_error "failed to import pretty"
  7. tf_enum_subtests() {
  8. echo "v0_d0_debug"
  9. echo "v0_d0_debug_pipe"
  10. echo "v0_d0_echos"
  11. echo "v0_d0_think"
  12. echo "v0_d0_warn"
  13. echo "v0_d0_wrap_debug"
  14. echo "v0_d0_wrap_die"
  15. echo "v0_d0_wrap_mkusage"
  16. echo "v0_d1_debug"
  17. echo "v0_d1_debug_pipe"
  18. echo "v0_d1_debugv"
  19. echo "v0_d1_echos"
  20. echo "v0_d1_think"
  21. echo "v0_d1_warn"
  22. echo "v0_d1_wrap_debug"
  23. echo "v0_d1_wrap_die"
  24. echo "v0_d1_wrap_mkusage"
  25. echo "v1_d0_debug"
  26. echo "v1_d0_debug_pipe"
  27. echo "v1_d0_echos"
  28. echo "v1_d0_think"
  29. echo "v1_d0_warn"
  30. echo "v1_d0_wrap_debug"
  31. echo "v1_d0_wrap_die"
  32. echo "v1_d0_wrap_mkusage"
  33. echo "v1_d1_debug"
  34. echo "v1_d1_debug_pipe"
  35. echo "v1_d1_echos"
  36. echo "v1_d1_think"
  37. echo "v1_d1_warn"
  38. echo "v1_d1_wrap_debug"
  39. echo "v1_d1_wrap_debug_xmod"
  40. echo "v1_d1_wrap_die"
  41. echo "v1_d1_wrap_mkusage"
  42. echo "v1_d1_wrap_mkusage_0"
  43. echo "v1_d1_wrap_mkusage_0w"
  44. echo "v1_d1_wrap_mkusage_1"
  45. echo "v1_d1_wrap_mkusage_2"
  46. echo "v1_d1_wrap_mkusage_o"
  47. echo "v1_d1_wrap_mkusage_p"
  48. echo "v1_d1_wrap_mkusage_i"
  49. echo "v1_d1_wrap_mkusage_c"
  50. echo "v1_d1_wrap_mkusage_all"
  51. echo "v1_d1_wrap_mkusage_allw"
  52. echo "v1_d1_wrap_mkusage_conflict"
  53. echo "v1_d1_wrap_mkusage_self"
  54. echo "v1_d1_wrap_mkusage-subcommand"
  55. }
  56. tf_do_subtest() {
  57. local name=$1
  58. local ttype="${name:0:5}"
  59. local tfun="${name:6}"
  60. local t_in="/dev/null"
  61. local o_es=0
  62. local o_out="oracle/$ttype/$tfun.stdout"
  63. local o_err="oracle/$ttype/$tfun.stderr"
  64. local cmd
  65. tf_debug "PRETTY=$PRETTY"
  66. case $tfun in
  67. debug) cmd='debug foo' ;;
  68. debug_pipe) cmd='debug_pipe foo'; t_in="test/$name.stdin" ;;
  69. debugv) cmd='foo=bar;
  70. fooarr=( bar baz );
  71. declare -A fooassoc;
  72. fooassoc[bar]=baz;
  73. fooassoc[qux]=quux;
  74. declare -i fooint;
  75. fooint=29;
  76. declare -u fooup;
  77. fooup=bar
  78. fooempty=
  79. debug -v foo fooarr fooassoc fooint fooup fooempty foounset'
  80. ;;
  81. echos) cmd='echos foo' ;;
  82. think) cmd='think foo' ;;
  83. warn) cmd='warn foo' ;;
  84. wrap_die) cmd='bash test/wrap_die foo'; o_es=3 ;;
  85. wrap_debug) cmd='bash test/wrap_debug' ;;
  86. wrap_debug_xmod)cmd='PRETTY_DEBUG_EXCLUDE=barmod,process,foo,process_job,__do_process_task bash test/wrap_debug' ;;
  87. wrap_mkusage*) cmd="bash test/$tfun"; o_es=2 ;;
  88. esac
  89. tf_testflt -n "$name" -i "$t_in" -S "$o_es" -O "$o_out" -E "$o_err" "$cmd"
  90. }
  91. tf_do_subtests