uttk 0.3.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. data/AUTHORS +36 -0
  2. data/COPYING +18 -0
  3. data/ChangeLog +7673 -0
  4. data/GUIDELINES +86 -0
  5. data/LGPL +504 -0
  6. data/NEWS +158 -0
  7. data/NORM +137 -0
  8. data/README +180 -0
  9. data/Rakefile +8 -0
  10. data/SPEC.gemspec +15 -0
  11. data/SPEC.yml +60 -0
  12. data/TODO +23 -0
  13. data/TODO.old +31 -0
  14. data/VERSION +5 -0
  15. data/bin/getopts/uttk.rb +390 -0
  16. data/bin/uttk +188 -0
  17. data/bin/uttk-unit +125 -0
  18. data/lib/uttk.rb +288 -0
  19. data/lib/uttk/dumpers/Basic.rb +23 -0
  20. data/lib/uttk/dumpers/BasicColor.rb +35 -0
  21. data/lib/uttk/dumpers/Dumper.rb +77 -0
  22. data/lib/uttk/dumpers/Html.rb +271 -0
  23. data/lib/uttk/dumpers/Path.rb +24 -0
  24. data/lib/uttk/dumpers/Xml.rb +88 -0
  25. data/lib/uttk/dumpers/Yaml.rb +138 -0
  26. data/lib/uttk/filters.rb +128 -0
  27. data/lib/uttk/filters/Buffer.rb +119 -0
  28. data/lib/uttk/filters/Compact.rb +75 -0
  29. data/lib/uttk/filters/Default.rb +27 -0
  30. data/lib/uttk/filters/DefaultColor.rb +27 -0
  31. data/lib/uttk/filters/Filter.rb +53 -0
  32. data/lib/uttk/filters/Id.rb +30 -0
  33. data/lib/uttk/filters/JustStatus.rb +25 -0
  34. data/lib/uttk/filters/KeepSkipBased.rb +38 -0
  35. data/lib/uttk/filters/NodeCut.rb +97 -0
  36. data/lib/uttk/filters/RPathFilter.rb +134 -0
  37. data/lib/uttk/filters/Saver.rb +53 -0
  38. data/lib/uttk/filters/TextFilter.rb +69 -0
  39. data/lib/uttk/generators/dumper_generator.rb +28 -0
  40. data/lib/uttk/generators/filter_generator.rb +28 -0
  41. data/lib/uttk/generators/generator.rb +86 -0
  42. data/lib/uttk/generators/generator_generator.rb +26 -0
  43. data/lib/uttk/generators/loader_generator.rb +28 -0
  44. data/lib/uttk/generators/path_filter_generator.rb +28 -0
  45. data/lib/uttk/generators/strategy_generator.rb +28 -0
  46. data/lib/uttk/generators/templates/dumper.rb +50 -0
  47. data/lib/uttk/generators/templates/filter.rb +50 -0
  48. data/lib/uttk/generators/templates/generator.rb +28 -0
  49. data/lib/uttk/generators/templates/loader.rb +26 -0
  50. data/lib/uttk/generators/templates/path_filter.rb +28 -0
  51. data/lib/uttk/generators/templates/strategy.rb +59 -0
  52. data/lib/uttk/generators/templates/strategy.yml +28 -0
  53. data/lib/uttk/generators/templates/unit_test.rb +46 -0
  54. data/lib/uttk/loaders/Loader.rb +180 -0
  55. data/lib/uttk/loaders/Ruby.rb +28 -0
  56. data/lib/uttk/loaders/Yaml.rb +98 -0
  57. data/lib/uttk/logger.rb +306 -0
  58. data/lib/uttk/logger/backend.rb +170 -0
  59. data/lib/uttk/logger/path.rb +202 -0
  60. data/lib/uttk/logger/section_node.rb +214 -0
  61. data/lib/uttk/logger/severity.rb +63 -0
  62. data/lib/uttk/logger/to_uttk_log.rb +127 -0
  63. data/lib/uttk/logger/verbosity.rb +61 -0
  64. data/lib/uttk/logger_factory.rb +55 -0
  65. data/lib/uttk/path_filters/ColorStatus.rb +57 -0
  66. data/lib/uttk/path_filters/PathFilter.rb +27 -0
  67. data/lib/uttk/path_filters/RemoveTypes.rb +25 -0
  68. data/lib/uttk/status.rb +146 -0
  69. data/lib/uttk/strategies/Abort.rb +24 -0
  70. data/lib/uttk/strategies/Assert.rb +44 -0
  71. data/lib/uttk/strategies/Authors.rb +45 -0
  72. data/lib/uttk/strategies/Block.rb +113 -0
  73. data/lib/uttk/strategies/Bootstrap.rb +55 -0
  74. data/lib/uttk/strategies/Checkout.rb +64 -0
  75. data/lib/uttk/strategies/Clean.rb +29 -0
  76. data/lib/uttk/strategies/Cmd.rb +60 -0
  77. data/lib/uttk/strategies/CmdBase.rb +130 -0
  78. data/lib/uttk/strategies/Collection.rb +158 -0
  79. data/lib/uttk/strategies/Compile.rb +59 -0
  80. data/lib/uttk/strategies/Composite.rb +201 -0
  81. data/lib/uttk/strategies/Composite/contents_eval.rb +40 -0
  82. data/lib/uttk/strategies/Configure.rb +66 -0
  83. data/lib/uttk/strategies/Error.rb +23 -0
  84. data/lib/uttk/strategies/Fail.rb +26 -0
  85. data/lib/uttk/strategies/IOBased.rb +159 -0
  86. data/lib/uttk/strategies/Import.rb +60 -0
  87. data/lib/uttk/strategies/Iterate.rb +139 -0
  88. data/lib/uttk/strategies/JUnit.rb +205 -0
  89. data/lib/uttk/strategies/KillAll.rb +62 -0
  90. data/lib/uttk/strategies/Make.rb +94 -0
  91. data/lib/uttk/strategies/Package.rb +129 -0
  92. data/lib/uttk/strategies/PackageCollection.rb +78 -0
  93. data/lib/uttk/strategies/Pass.rb +24 -0
  94. data/lib/uttk/strategies/Pool.rb +104 -0
  95. data/lib/uttk/strategies/ProbabilityThreshold.rb +46 -0
  96. data/lib/uttk/strategies/Proxy.rb +42 -0
  97. data/lib/uttk/strategies/RMatch.rb +92 -0
  98. data/lib/uttk/strategies/RUnit.rb +132 -0
  99. data/lib/uttk/strategies/SignalCmd.rb +85 -0
  100. data/lib/uttk/strategies/Sleep.rb +36 -0
  101. data/lib/uttk/strategies/SqlQuery.rb +120 -0
  102. data/lib/uttk/strategies/Strategy.rb +683 -0
  103. data/lib/uttk/strategies/Stub.rb +37 -0
  104. data/lib/uttk/strategies/SubCmd.rb +77 -0
  105. data/lib/uttk/strategies/Suite.rb +71 -0
  106. data/lib/uttk/strategies/Test.rb +89 -0
  107. data/lib/uttk/streams.rb +69 -0
  108. data/lib/uttk/streams/Diff.rb +60 -0
  109. data/lib/uttk/streams/HexaDiff.rb +35 -0
  110. data/lib/uttk/streams/Stream.rb +76 -0
  111. data/lib/uttk/weights.rb +17 -0
  112. data/lib/uttk/weights/WExpr.rb +68 -0
  113. data/lib/uttk/weights/WFloat.rb +23 -0
  114. data/lib/uttk/weights/WMin.rb +22 -0
  115. data/lib/uttk/weights/Weight.rb +105 -0
  116. data/lib/www/javascripts/uttk.js +185 -0
  117. data/misc/expandtab.rb +29 -0
  118. data/misc/header.rb +44 -0
  119. data/misc/renaming +57 -0
  120. data/misc/textile_compiler +194 -0
  121. data/misc/uttk-grep.sh +8 -0
  122. data/misc/uttk-line-count.rb +143 -0
  123. data/test/examples-suite.yml +8 -0
  124. data/test/examples/README +68 -0
  125. data/test/examples/basic.rb +10 -0
  126. data/test/examples/basic.yml +9 -0
  127. data/test/examples/cache/cache_and_fatal.yml +5 -0
  128. data/test/examples/cache/simple.yml +30 -0
  129. data/test/examples/sql/basic.yml +24 -0
  130. data/test/examples/students-suite.yml +9 -0
  131. data/test/examples/students/ball.yml +11 -0
  132. data/test/examples/students/glob_stud.yml +20 -0
  133. data/test/examples/students/mini-lib.yml +61 -0
  134. data/test/examples/students/pool_stud.yml +31 -0
  135. data/test/examples/students/stud.yml +21 -0
  136. data/test/fixtures/ball/20040804-exam_a1-zapngo-tessar_m.tar.gz +0 -0
  137. data/test/fixtures/ball/Makefile +24 -0
  138. data/test/fixtures/ball/bar_p-mini-lib.tar.bz2 +0 -0
  139. data/test/fixtures/ball/bar_p-mini-lib/Makefile +20 -0
  140. data/test/fixtures/ball/bar_p-mini-lib/my_strlen.c +13 -0
  141. data/test/fixtures/ball/foo_s-mini-lib.tar.bz2 +0 -0
  142. data/test/fixtures/ball/foo_s-mini-lib/Makefile +20 -0
  143. data/test/fixtures/ball/foo_s-mini-lib/configure +2 -0
  144. data/test/fixtures/ball/foo_s-mini-lib/my_strlen.c +10 -0
  145. data/test/fixtures/ball/hello.tar.bz2 +0 -0
  146. data/test/fixtures/ball/hello.tar.gz +0 -0
  147. data/test/fixtures/ball/hello/Makefile +14 -0
  148. data/test/fixtures/ball/hello/hello.c +7 -0
  149. data/test/fixtures/ball/jack-exit.tar.bz2 +0 -0
  150. data/test/fixtures/ball/jack-exit/Makefile +14 -0
  151. data/test/fixtures/ball/jack-exit/exit.c +16 -0
  152. data/test/fixtures/ball/joe-exit.tar.bz2 +0 -0
  153. data/test/fixtures/ball/joe-exit/Makefile +14 -0
  154. data/test/fixtures/ball/joe-exit/exit.c +8 -0
  155. data/test/fixtures/ball/joe_i-mini-lib.tar.bz2 +0 -0
  156. data/test/fixtures/ball/joe_i-mini-lib/Makefile +20 -0
  157. data/test/fixtures/ball/joe_i-mini-lib/configure +2 -0
  158. data/test/fixtures/ball/joe_i-mini-lib/my_strlen.c +10 -0
  159. data/test/fixtures/ball/john-exit.tar.bz2 +0 -0
  160. data/test/fixtures/ball/john-exit/Makefile +14 -0
  161. data/test/fixtures/ball/john-exit/exit.c +6 -0
  162. data/test/fixtures/ball/qux_j-mini-lib.tar.bz2 +0 -0
  163. data/test/fixtures/ball/qux_j-mini-lib/Makefile +20 -0
  164. data/test/fixtures/ball/qux_j-mini-lib/my_strlen.c +12 -0
  165. data/test/fixtures/binaries/segv +0 -0
  166. data/test/fixtures/binaries/segv.c +10 -0
  167. data/test/fixtures/binaries/segv.rb +2 -0
  168. data/test/fixtures/demo/command-tutorial/steps/1/check.yml +5 -0
  169. data/test/fixtures/demo/command-tutorial/steps/1/pluralizer.rb +10 -0
  170. data/test/fixtures/demo/command-tutorial/steps/2/bad_check.yml +7 -0
  171. data/test/fixtures/demo/command-tutorial/steps/2/check.yml +7 -0
  172. data/test/fixtures/demo/command-tutorial/steps/2/pluralizer.rb +10 -0
  173. data/test/fixtures/demo/command-tutorial/steps/3.1/check.yml +12 -0
  174. data/test/fixtures/demo/command-tutorial/steps/3/check.yml +14 -0
  175. data/test/fixtures/demo/command-tutorial/steps/4.1/bird.txt +1 -0
  176. data/test/fixtures/demo/command-tutorial/steps/4.1/check.yml +12 -0
  177. data/test/fixtures/demo/command-tutorial/steps/4/check.yml +12 -0
  178. data/test/fixtures/demo/command-tutorial/steps/4/pluralizer.rb +12 -0
  179. data/test/fixtures/demo/command-tutorial/steps/5.1/bird.txt +1 -0
  180. data/test/fixtures/demo/command-tutorial/steps/5.1/check.yml +17 -0
  181. data/test/fixtures/demo/command-tutorial/steps/5.1/pluralizer.rb +17 -0
  182. data/test/fixtures/demo/command-tutorial/steps/5/bird.txt +1 -0
  183. data/test/fixtures/demo/command-tutorial/steps/5/check.yml +16 -0
  184. data/test/fixtures/demo/command-tutorial/steps/5/pluralizer.rb +16 -0
  185. data/test/fixtures/demo/command-tutorial/steps/6.1/bird.txt +1 -0
  186. data/test/fixtures/demo/command-tutorial/steps/6.1/check.yml +22 -0
  187. data/test/fixtures/demo/command-tutorial/steps/6.1/pluralizer.rb +17 -0
  188. data/test/fixtures/demo/command-tutorial/steps/6/bird.txt +1 -0
  189. data/test/fixtures/demo/command-tutorial/steps/6/check.yml +21 -0
  190. data/test/fixtures/demo/command-tutorial/steps/6/pluralizer.rb +17 -0
  191. data/test/fixtures/demo/command-tutorial/steps/7/bird.txt +1 -0
  192. data/test/fixtures/demo/command-tutorial/steps/7/check.yml +22 -0
  193. data/test/fixtures/demo/command-tutorial/steps/7/pluralizer.rb +17 -0
  194. data/test/fixtures/demo/filter-tutorial/check.yml +20 -0
  195. data/test/fixtures/demo/filter-tutorial/filters/CutSkip100.rb +19 -0
  196. data/test/fixtures/demo/filter-tutorial/pluralizer.rb +17 -0
  197. data/test/fixtures/java/unit/MultiRight/Foo/Foo.java +11 -0
  198. data/test/fixtures/java/unit/MultiRight/Foo/FooTest.java +15 -0
  199. data/test/fixtures/java/unit/MultiRight/MultiRight.java +13 -0
  200. data/test/fixtures/java/unit/MultiRight/MultiRightTest.java +12 -0
  201. data/test/fixtures/java/unit/MultiRight/bar/Bar.java +11 -0
  202. data/test/fixtures/java/unit/MultiRight/bar/BarTest.java +21 -0
  203. data/test/fixtures/java/unit/MultiRight/build.sh +7 -0
  204. data/test/fixtures/java/unit/SimpleException/SimpleExceptionTest.java +11 -0
  205. data/test/fixtures/java/unit/SimpleException/build.sh +4 -0
  206. data/test/fixtures/java/unit/build.sh +9 -0
  207. data/test/fixtures/java/unit/multibar.yml +6 -0
  208. data/test/fixtures/java/unit/multifoo.yml +6 -0
  209. data/test/fixtures/java/unit/multiright.yml +8 -0
  210. data/test/fixtures/java/unit/simple_exception.yml +6 -0
  211. data/test/fixtures/mini-lib/Makefile +9 -0
  212. data/test/fixtures/mini-lib/strlen.c +15 -0
  213. data/test/fixtures/package/pkg_foo.tar.gz +0 -0
  214. data/test/fixtures/package/pkg_foo/Makefile +20 -0
  215. data/test/fixtures/package/pkg_foo/bootstrap +3 -0
  216. data/test/fixtures/package/pkg_foo/configure +3 -0
  217. data/test/fixtures/package/pkg_foo/foo.sh +2 -0
  218. data/test/fixtures/text/1.txt +4 -0
  219. data/test/fixtures/unit/bad.rb +26 -0
  220. data/test/fixtures/unit/error.rb +6 -0
  221. data/test/fixtures/unit/good.rb +26 -0
  222. data/test/functional-suite.yml +10 -0
  223. data/test/functional/author.yml +11 -0
  224. data/test/functional/base.yml +119 -0
  225. data/test/functional/base_pool.yml +13 -0
  226. data/test/functional/block.yml +13 -0
  227. data/test/functional/cat.yml +16 -0
  228. data/test/functional/cmd.yml +17 -0
  229. data/test/functional/diff.yml +27 -0
  230. data/test/functional/env_cmd.yml +53 -0
  231. data/test/functional/exit.yml +15 -0
  232. data/test/functional/fatal.yml +23 -0
  233. data/test/functional/glob.yml +11 -0
  234. data/test/functional/hexa-diff.yml +25 -0
  235. data/test/functional/import.yml +41 -0
  236. data/test/functional/iterate.yml +99 -0
  237. data/test/functional/killall.yml +31 -0
  238. data/test/functional/pkg.yml +14 -0
  239. data/test/functional/probability_threshold.yml +35 -0
  240. data/test/functional/r_unit.yml +26 -0
  241. data/test/functional/rmatch.yml +122 -0
  242. data/test/functional/signal_cmd.yml +22 -0
  243. data/test/functional/sub.yml +15 -0
  244. data/test/functional/test.yml +25 -0
  245. data/test/functional/timeout.yml +20 -0
  246. data/test/functional/wc.yml +26 -0
  247. data/test/functional/weight.yml +152 -0
  248. data/test/pkg-suite.yml +8 -0
  249. data/test/pkg/cmdline.yml +80 -0
  250. data/test/pool-suite.yml +8 -0
  251. data/test/pool/base.yml +12 -0
  252. data/test/pool/pool.yml +25 -0
  253. data/test/ruby-suite.rb +10 -0
  254. data/test/ruby-suite.yml +5 -0
  255. data/test/ruby/base.rb +119 -0
  256. data/test/ruby/iterate.rb +21 -0
  257. data/test/ruby/wc.rb +43 -0
  258. data/test/unit-suite.yml +10 -0
  259. data/test/unit/dumpers/path_test.rb +46 -0
  260. data/test/unit/dumpers/xml_test.rb +65 -0
  261. data/test/unit/dumpers/yaml_test.rb +65 -0
  262. data/test/unit/filters/buffer_test.rb +168 -0
  263. data/test/unit/filters/keep_skip_based_test.rb +46 -0
  264. data/test/unit/filters/node_cut_test.rb +72 -0
  265. data/test/unit/filters/rpath_filter_test.rb +191 -0
  266. data/test/unit/filters/text_filter_test.rb +46 -0
  267. data/test/unit/filters_test.rb +119 -0
  268. data/test/unit/logger/section_node_test.rb +120 -0
  269. data/test/unit/logger/severity_test.rb +37 -0
  270. data/test/unit/logger/to_uttk_log_test.rb +113 -0
  271. data/test/unit/logger/verbosity_test.rb +44 -0
  272. data/test/unit/logger_test.rb +203 -0
  273. data/test/unit/strategies/suite_test.rb +151 -0
  274. data/test/uttk-check.yml +8 -0
  275. data/test/uttk-distcheck.yml +18 -0
  276. metadata +399 -0
@@ -0,0 +1,99 @@
1
+ Test the Iterate strategy: !S::Suite
2
+ contents:
3
+ - Iterate over a range: !S::Iterate
4
+ over: !range 0...4
5
+ with: each
6
+ iter: it
7
+ test:
8
+ Test on turn <<it>>: !S::Assert
9
+ test: |
10
+ assert_equal('<<it>>', '<<it:i>>')
11
+ assert_equal('<<it>>', '<<it:0>>')
12
+
13
+ - Iterate over a range of Error: !S::Iterate
14
+ over: !range 0...4
15
+ with: each
16
+ iter: it
17
+ test:
18
+ Test on turn <<it>>: !S::Error
19
+ weight: -1
20
+
21
+ - Nested iterations: !S::Iterate
22
+ over: !range 0..2
23
+ iter: ita
24
+ test:
25
+ Sub iteration <<ita>>: !S::Iterate
26
+ over: !range 0..1
27
+ iter: itb
28
+ test:
29
+ Iteration (<<ita>>, <<itb>>): !S::Pass {}
30
+
31
+ - Setup a ruby extension for tests: !S::Block
32
+ test: |
33
+ module ::Enumerable
34
+ def uttk_test_iterate_each ( *a, &b )
35
+ uttk_each { |a| b[*(a.to_a)] }
36
+ end
37
+ end
38
+ true
39
+
40
+ - Many iterators can be used: !S::Suite
41
+ symbols:
42
+ results: []
43
+ contents:
44
+ - Feed the result list: !S::Iterate
45
+ over: [it, [ita, itb, itc, itd, ite]]
46
+ with: uttk_test_iterate_each
47
+ iter: pit
48
+ test:
49
+ Iterate with this iterator <<*pit>>: !S::Iterate
50
+ over: !ruby |
51
+ [0..4, 2..2, 'a'..'c']
52
+ with: uttk_test_iterate_each
53
+ iter: <<*pit>>
54
+ test:
55
+ Many iterators <<<<pit>>:i>>: !S::Block
56
+ test: |
57
+ @symtbl[:results] << '<<<<pit>>:i>>, <<*<<pit>>>>, ' +
58
+ '"<<<<pit>>>>", "<<<<pit>>:1>>", "<<<<pit:2>>>>"'
59
+
60
+ - Check the results contents: !S::Assert
61
+ symbols:
62
+ ref_results:
63
+ - '0, [0, 1, 2, 3, 4], "0", "1", "<<<<pit:2>>>>"'
64
+ - '1, [2], "2", "1", "<<<<pit:2>>>>"' # the 2nd "1" is undef
65
+ - '2, ["a", "b", "c"], "a", "b", "<<<<pit:2>>>>"'
66
+ - '0, [0, 1, 2, 3, 4], "0", "1", "2"'
67
+ - '1, [2], "2", "1", "2"'
68
+ - '2, ["a", "b", "c"], "a", "b", "c"'
69
+ test: |
70
+ assert_equal(@symtbl[:ref_results], @symtbl[:results])
71
+
72
+ - Iterate can deal with many structures: !S::Suite
73
+ symbols:
74
+ results: []
75
+ attributes: !S::Iterate
76
+ iter: it
77
+ test:
78
+ Iterate over many structures <<it:i>>: !S::Block
79
+ test: |
80
+ @symtbl[:results] << '<<*it>>'
81
+ contents:
82
+ - Iterate over arrays:
83
+ over: [1, 3, 7, 1042]
84
+ - Iterate over ranges:
85
+ over: !ruby "'p'..'r'" # FIXME !range
86
+ - Iterate over a pathname list:
87
+ over: !filelist <<pwd>>/../fixtures/ball/*-mini-lib.tar.*
88
+ - Iterate over a hash:
89
+ over:
90
+ foo: bar
91
+ bar: baz
92
+ qux: foo
93
+ - Iterate over a Ruby value:
94
+ over: !ruby |
95
+ [2] * 3
96
+
97
+ - Check the results contents: !S::Assert
98
+ test: |
99
+ assert_equal(17, @symtbl[:results].size)
@@ -0,0 +1,31 @@
1
+ #FIXME: return always 83% with the new input format.
2
+ ---
3
+
4
+ The KillAll test suite: !S::Suite
5
+ attributes: !S::KillAll {}
6
+ contents:
7
+
8
+ - Kill when nothing to kill:
9
+ regexp: !re unexisting_process
10
+
11
+ - Killall sleep 1:
12
+ regexp: !re sleep 42
13
+ weight: 0
14
+
15
+ - Killall sleep 2:
16
+ regexp: !re sleep 42
17
+
18
+ - Launch a long command in background: !S::Cmd
19
+ command: sleep 42 &
20
+ fatal: true
21
+
22
+ - Killall sleep 3:
23
+ regexp: !re sleep 42
24
+ weight: -1
25
+
26
+ - Wait a little bit: !S::Sleep
27
+ delay: 0.1
28
+
29
+ - Zombie Verification Killall: !S::Cmd
30
+ exit: 1
31
+ command: killall -v sleep
@@ -0,0 +1,14 @@
1
+ ---
2
+
3
+ Test the Package strategy: !S::Suite
4
+ attributes: !S::Package {}
5
+ contents:
6
+ - Test the foo package:
7
+ url: file://<<pwd>>/../fixtures/package/pkg_foo.tar.gz
8
+ test:
9
+ Test yo: !S::Cmd
10
+ dir: '<<extract_dir>>'
11
+ command: ./foo.sh
12
+ output: |
13
+ Foo !!!
14
+ exit: 0
@@ -0,0 +1,35 @@
1
+ ---
2
+
3
+ Test the ProbabilityThreshold strategy: !S::Suite
4
+
5
+ attributes: !S::ProbabilityThreshold
6
+ test:
7
+ Simple test (0.625): !S::Fail
8
+ value: 0.625
9
+
10
+ contents:
11
+
12
+ - bad too high:
13
+ threshold: 1.1
14
+ weight: -1
15
+
16
+ - bad too low:
17
+ threshold: -0.1
18
+ weight: -1
19
+
20
+ - strict threshold:
21
+ threshold: 1
22
+ weight: -1
23
+
24
+ - easy threshold:
25
+ threshold: 0
26
+
27
+ - exact:
28
+ threshold: 0.625
29
+
30
+ - too high:
31
+ threshold: 0.9
32
+ weight: -1
33
+
34
+ - low:
35
+ threshold: 0.5
@@ -0,0 +1,26 @@
1
+ ---
2
+ RUnit strategy test suite: !S::RMatch
3
+ symbols:
4
+ unit_dir: <<pwd>>/../fixtures/unit
5
+ test: !S::Suite
6
+ attributes: !S::RUnit {}
7
+ contents:
8
+ - good:
9
+ input: !path <<unit_dir>>/good.rb
10
+ - bad:
11
+ input: !path <<unit_dir>>/bad.rb
12
+ - error:
13
+ input: !path <<unit_dir>>/error.rb
14
+ - good directory:
15
+ input: !path fixtures/unit/good.rb
16
+ dir: <<pwd>>/..
17
+ verbose: true
18
+ - bad directory:
19
+ input: !path fixtures/unit/bad.rb
20
+ dir: <<pwd>>/..
21
+ match:
22
+ - ///good/status/PASS
23
+ - ///^bad$/status/FAIL
24
+ - ///^bad directory$/status/FAIL
25
+ - ///error/status/ERROR
26
+ - //status/FAIL\(40%\)
@@ -0,0 +1,122 @@
1
+ Test the rmatch strategy: !S::Suite
2
+
3
+ contents:
4
+ - Basic test suite: !S::Suite
5
+
6
+ attributes: !S::RMatch
7
+ test: &basic_stub
8
+ a: !S::Stub
9
+ returned_value:
10
+ b:
11
+ - c: d
12
+ - e: very_long_one
13
+ g: h
14
+
15
+ contents:
16
+ - Simple good test:
17
+ match:
18
+ - /
19
+ - /a
20
+ - /a/b
21
+ - ///
22
+ - /a/b/c
23
+ - /a/b/c/d
24
+ - /a/b/e/very_long_one
25
+ - /a/b/e/very_.*_one
26
+ - /a/g
27
+ - /a/g/h
28
+ dont_match:
29
+ - /c
30
+ - /a/b/c/d/e
31
+ - ///////
32
+ - /a/gh
33
+
34
+ - Simple bad test 1:
35
+ weight: -1
36
+ match:
37
+ - /
38
+ - /a/b/c/d/e
39
+ - /a/b
40
+
41
+ - Simple bad test 2:
42
+ weight: -1
43
+ dont_match:
44
+ - /c
45
+ - /a/b/c/d
46
+ - /a/b/c/d/e
47
+
48
+ - Bootstrapped test suite: !S::Suite
49
+ contents:
50
+ - good test 1: !S::RMatch
51
+ test:
52
+ x: !S::RMatch
53
+ test: *basic_stub
54
+ match:
55
+ - /a/b/e/very_long_one
56
+ - /a/b/e/very_.*_one
57
+ - /a/g
58
+ dont_match:
59
+ - /c
60
+ - /a/b/c/d/e
61
+ dont_match:
62
+ - //some_wanted_paths_are_missing
63
+ - //some_unwanted_paths_are_present
64
+
65
+
66
+ - bad test 1: !S::RMatch
67
+ test:
68
+ x: !S::RMatch
69
+ test: *basic_stub
70
+ match:
71
+ - /
72
+ - /a/b/c/d/e
73
+ - /a/b
74
+ match:
75
+ - //some_wanted_paths_are_missing/\/a\/b\/c\/d\/e
76
+ dont_match:
77
+ - //some_unwanted_paths_are_present
78
+
79
+ - bad test 2: !S::RMatch
80
+ test:
81
+ x: !S::RMatch
82
+ test: *basic_stub
83
+ dont_match:
84
+ - /c
85
+ - /a/b/c/d
86
+ - /a/b/c/d/e
87
+ match:
88
+ - //some_unwanted_paths_are_present/^\/a\/b\/c\/d$
89
+ dont_match:
90
+ - //some_wanted_paths_are_missing
91
+
92
+ - Simple status checker: !S::RMatch
93
+ test:
94
+ First output of cache simple.yml: !S::Stub
95
+ returned_value:
96
+ root: !S::Suite
97
+ contents:
98
+ - Relaunch 5 times this test with the cache feature to obtain a PASS: !S::Suite
99
+ timeout: 1.2
100
+ attributes:
101
+ strategy: Uttk::Strategies::Sleep
102
+ delay: 1
103
+ contents:
104
+ - first: !S::Sleep
105
+ symbols:
106
+ foo: a
107
+ status: PASS
108
+ - second: !S::Sleep
109
+ symbols:
110
+ foo: a/b
111
+ status: ABORT
112
+ reason: abort `second' with timeout 1.2s
113
+ status: ABORT
114
+ reason: abort `second' with timeout 1.2s
115
+ status: FAIL
116
+ match:
117
+ - /F/r/c/R
118
+ - /////contents/first/status/PASS
119
+ - /////contents/second/status/ABORT
120
+ - /////status/ABORT
121
+ dont_match:
122
+ - /////contents/(third|(four|fi|six)th)
@@ -0,0 +1,22 @@
1
+ Check SignalCmd Strategy: !S::Suite
2
+ attributes: !S::SignalCmd
3
+ command: |
4
+ <<ruby>> -e 'Process.kill("SEGV", $$)'
5
+ contents:
6
+
7
+ - Test a simple Cmd:
8
+ command: echo toto
9
+ exit : 1
10
+ weight : -1
11
+
12
+ - Test a ABRT binary:
13
+ exit : 0
14
+ weight : -1
15
+
16
+ - Test a ABRT binary and check signal:
17
+ signal : SEGV
18
+ exit : 0
19
+ weight : -1
20
+
21
+ - Test a ABRT binary with good signal:
22
+ signal : ABRT
@@ -0,0 +1,15 @@
1
+ ---
2
+
3
+ Test sub (sub.yml): !S::Suite
4
+ attributes: !S::SubCmd {}
5
+ contents:
6
+ - test sub pass:
7
+ input: --- !S::Pass {}
8
+ - test sub fail: !S::RMatch
9
+ test: !S::SubCmd
10
+ input: --- !S::Fail {}
11
+ match:
12
+ - /test/root/status/FAIL
13
+ - /test/status/FAIL
14
+ - test sub with args: { args: <<pwd>>/wc.yml }
15
+ - test sub with input: { input: !path <<pwd>>/wc.yml }
@@ -0,0 +1,25 @@
1
+ ---
2
+
3
+ Test test suite: !S::Suite
4
+ contents:
5
+ - simple digit key: !S::Test
6
+ expected_status: PASS
7
+ expected_log:
8
+ 0: tata
9
+ ignored_value:
10
+ - benchmark
11
+ test:
12
+ simple digit key stub: !S::Stub
13
+ returned_value:
14
+ 0: tata
15
+ - simple digit key fail: !S::Test
16
+ expected_status: PASS
17
+ expected_log:
18
+ 0: toto
19
+ ignored_value:
20
+ - benchmark
21
+ test:
22
+ simple digit key stub: !S::Stub
23
+ returned_value:
24
+ 0: tata
25
+ weight: -1
@@ -0,0 +1,20 @@
1
+ ---
2
+
3
+ Test timeout option (timeout.yml): !S::Suite
4
+
5
+ attributes: !S::Cmd
6
+ command: sleep
7
+ exit: 0
8
+ timeout: 1
9
+
10
+ contents:
11
+
12
+ - I am suppose to FAIL:
13
+ args: 42
14
+ weight: -1
15
+
16
+ - I am suppose to PASS:
17
+ args: 0
18
+
19
+ - Zombie Verification Killall: !S::KillAll
20
+ regexp: !re sleep
@@ -0,0 +1,26 @@
1
+ ---
2
+
3
+ Test the wc command (wc.yml): !S::Suite
4
+ attributes: !S::Cmd
5
+ command: "wc -c"
6
+ exit: 0
7
+ contents:
8
+ - good foo:
9
+ input: 'foo'
10
+ output: !re \s*3\n$
11
+
12
+ - bad foo:
13
+ input: 'foo'
14
+ output: !re \s*4\n$
15
+ weight: -1
16
+
17
+ - good foo foo:
18
+ input: "foo\n foo"
19
+ output: !re \s*8\n$
20
+
21
+ - useless foo:
22
+ input: "foo"
23
+
24
+ - from file test:
25
+ input: !path '<<pwd>>/../fixtures/text/1.txt'
26
+ output: !re \s*272\s