1
Name "gt sketch short test"
4
run_test "#{$bin}gt sketch out.png #{$testdata}gff3_file_1_short.txt", \
9
Name "gt sketch short test (stdin)"
12
run_test "#{$bin}gt sketch out.png < #{$testdata}gff3_file_1_short.txt", \
17
Name "gt sketch short test (unknown output format)"
20
run_test("#{$bin}gt sketch -format unknown out.png " + \
21
"#{$testdata}gff3_file_1_short.txt", :retval => 1, :maxtime => 600)
22
grep(last_stderr, /must be one of:/)
25
Name "gt sketch short test (unwriteable PNG file)"
28
run "touch unwriteable.png"
29
run "chmod u-w unwriteable.png"
30
run_test("#{$bin}gt sketch -force unwriteable.png " + \
31
"#{$testdata}gff3_file_1_short.txt", :retval => 1, :maxtime => 600)
32
grep(last_stderr, /an I\/O error occurred/)
35
Name "gt sketch short test (unwriteable PDF file)"
38
run "touch unwriteable.pdf"
39
run "chmod u-w unwriteable.pdf"
40
run_test("#{$bin}gt sketch -format pdf -force unwriteable.pdf " + \
41
"#{$testdata}gff3_file_1_short.txt", :retval => 1, :maxtime => 600)
42
grep(last_stderr, /Permission denied/)
45
Name "gt sketch short test (nonexistant style file)"
48
run_test("#{$bin}gt sketch -style foo.bar out.png " + \
49
"#{$testdata}gff3_file_1_short.txt", :retval => 1, :maxtime => 600)
50
grep(last_stderr, /style file 'foo.bar' does not exist/)
53
Name "gt sketch short test (invalid style file)"
56
run "echo thisisnotlua > foo.bar"
57
run_test("#{$bin}gt sketch -style foo.bar out.png " + \
58
"#{$testdata}gff3_file_1_short.txt", :retval => 1, :maxtime => 600)
59
grep(last_stderr, /cannot run style file/)
62
Name "gt sketch prob 1"
65
run_test("#{$bin}gt sketch out.png #{$testdata}gt_view_prob_1.gff3", \
66
:retval => 1, :maxtime => 600)
69
Name "gt sketch prob 2"
72
run_test "#{$bin}gt sketch out.png #{$testdata}gt_view_prob_2.gff3", \
77
Name "gt sketch track IDs to style file"
80
run "cp #{$testdata}eden.gff3 eden2.gff3"
81
run_test "#{$bin}gt sketch -force -style " + \
82
"#{$testdata}trackname1.style out.png #{$testdata}eden.gff3 " + \
84
run "diff #{last_stdout} #{$testdata}trackname1.out"
88
Name "gt sketch multiline without parent"
91
run_test "#{$bin}gt sketch out.png #{$testdata}gt_sketch_multiline_without_parent.gff3", :maxtime => 600
98
run "#{$bin}gt gff3 #{$testdata}gff3_file_1_short.txt > in.gff3"
99
run_test "#{$bin}gt sketch -pipe out.png in.gff3 > out.gff3", :maxtime => 600
100
run "diff in.gff3 out.gff3"
103
Name "gt sketch streams <-> file output"
104
Keywords "gt_sketch streams annotationsketch"
106
m = `#{$bin}gt sketch -help`.match(/graphics format\s+choose from ([^ ]+)/m)
107
raise TestFailedError if m.nil?
108
m[1].chomp.split("|").each do |format|
109
run_test "#{$bin}gt sketch -format #{format} out.#{format} #{$testdata}eden.gff3"
110
run_test "#{$bin}gt sketch -streams -format #{format} streamout.#{format} #{$testdata}eden.gff3"
111
# some formats will diff in their creation date, remove it
112
run "sed -i '/CreationDate/d' out.#{format} streamout.#{format}"
113
run "diff out.#{format} streamout.#{format}"
117
Name "gt sketch -showrecmaps"
118
Keywords "gt_sketch showrecmaps"
120
run_test "#{$bin}gt sketch -showrecmaps out.png " +
121
"#{$testdata}standard_gene_as_tree.gff3", :maxtime => 600
122
run "diff #{last_stdout} #{$testdata}standard_gene_as_tree.recmaps"
125
Name "gt sketch -showrecmaps (normal text size)"
126
Keywords "gt_sketch showrecmaps"
128
run_test "#{$bin}gt sketch -showrecmaps out.png " +
129
"#{$testdata}gt_sketch_textwidth.gff3", :maxtime => 600
130
run "diff #{last_stdout} #{$testdata}gt_sketch_textwidth_0.recmaps"
133
Name "gt sketch -showrecmaps (narrow image)"
134
Keywords "gt_sketch showrecmaps"
136
run_test "#{$bin}gt sketch -width 300 -showrecmaps out.png " +
137
"#{$testdata}gt_sketch_textwidth.gff3", :maxtime => 600
138
run "diff #{last_stdout} #{$testdata}gt_sketch_textwidth_1.recmaps"
141
Name "gt sketch -showrecmaps (large text size)"
142
Keywords "gt_sketch showrecmaps"
144
run_test "#{$bin}gt sketch -style #{$testdata}bigfonts.style " + \
145
"-showrecmaps out.png #{$testdata}gt_sketch_textwidth.gff3", \
147
run "diff #{last_stdout} #{$testdata}gt_sketch_textwidth_2.recmaps"
150
Name "gt sketch runtime Lua failures"
151
Keywords "gt_sketch lua"
153
Dir.glob("#{$testdata}fail*style") do |file|
154
run_test("#{$bin}gt sketch -style #{file} " + \
155
"out.png #{$testdata}eden.gff3", \
156
:maxtime => 600, :retval => 1)
157
grep(last_stderr, 'attempt to call global \'fail\'')
161
Name "sketch_constructed (C)"
162
Keywords "gt_sketch annotationsketch"
164
run_test "#{$bin}examples/sketch_constructed " + \
165
"#{$cur}/gtdata/sketch/default.style sketch_constructed.png", \
169
Name "sketch_parsed (C)"
170
Keywords "gt_sketch annotationsketch"
172
run_test "#{$bin}examples/sketch_parsed " + \
173
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
174
"#{$testdata}standard_gene_with_introns_as_tree.gff3 ", \
178
Name "sketch_parsed reverse order (C)"
179
Keywords "gt_sketch annotationsketch"
181
run_test "#{$bin}examples/sketch_parsed_with_ordering " + \
182
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
183
"#{$testdata}eden.gff3 ", \
185
run "diff #{last_stdout} #{$testdata}order_sketch_out.txt"
188
Name "sketch_constructed (Lua)"
189
Keywords "gt_sketch gt_scripts annotationsketch"
191
run_test "#{$bin}gt #{$cur}/gtscripts/sketch_constructed.lua " + \
192
"#{$cur}/gtdata/sketch/default.style sketch_constructed.png", \
196
Name "sketch_parsed (Lua)"
197
Keywords "gt_sketch gt_scripts annotationsketch"
199
run_test "#{$bin}gt #{$cur}/gtscripts/sketch_parsed.lua " + \
200
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
201
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
205
Name "sketch_constructed (Python)"
206
Keywords "gt_sketch gt_python annotationsketch"
208
run_python "#{$cur}/gtpython/sketch_constructed.py " + \
209
"#{$cur}/gtdata/sketch/default.style sketch_constructed.png", \
213
Name "sketch_parsed (Python)"
214
Keywords "gt_sketch gt_python annotationsketch"
216
run_python "#{$cur}/gtpython/sketch_parsed.py " + \
217
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
218
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
222
Name "sketch_parsed reverse order (Python)"
223
Keywords "gt_sketch gt_python annotationsketch"
225
run_python "#{$testdata}gtpython/sketch_parsed_with_ordering.py " + \
226
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
227
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
231
Name "sketch_parsed invalid order (Python, string != int)"
232
Keywords "gt_sketch gt_python annotationsketch"
234
run_python "#{$testdata}gtpython/sketch_parsed_with_invalid_ordering.py " + \
235
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
236
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
238
grep(last_stderr, /Track ordering function must return a number/)
241
Name "sketch_parsed invalid order (Python, None)"
242
Keywords "gt_sketch gt_python annotationsketch"
244
run_python "#{$testdata}gtpython/sketch_parsed_with_invalid_ordering_2.py " + \
245
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
246
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
248
grep(last_stderr, /Track ordering function must return a number/)
251
Name "Python runtime style failures"
252
Keywords "gt_sketch gt_python annotationsketch"
254
Dir.glob("#{$testdata}fail*style") do |file|
255
run_python "#{$cur}/gtpython/sketch_parsed.py " + \
256
"#{file} sketch_parsed.png " + \
257
"#{$testdata}eden.gff3", \
258
:maxtime => 600, :retval => 1
259
grep(last_stderr, 'attempt to call global \'fail\'')
261
run_python "#{$cur}/gtpython/sketch_constructed.py " + \
262
"#{file} sketch_constructed.png", \
263
:maxtime => 600, :retval => 1
264
grep(last_stderr, 'attempt to call global \'fail\'')
266
run_python "#{$testdata}gtpython/style_serialize.py #{file}", :retval => 1
267
grep(last_stderr, 'expected boolean, number, or string')
271
Name "sketch_constructed (Ruby)"
272
Keywords "gt_sketch gt_ruby annotationsketch"
274
run_ruby "#{$cur}/gtruby/sketch_constructed.rb " + \
275
"#{$cur}/gtdata/sketch/default.style sketch_constructed.png", \
279
Name "sketch_parsed (Ruby)"
280
Keywords "gt_sketch gt_ruby annotationsketch"
282
run_ruby "#{$cur}/gtruby/sketch_parsed.rb " + \
283
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
284
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
288
Name "sketch_parsed reverse order (Ruby)"
289
Keywords "gt_sketch gt_ruby annotationsketch"
291
run_ruby "#{$testdata}gtruby/sketch_parsed_with_ordering.rb " + \
292
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
293
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
297
Name "sketch_parsed invalid order (Ruby, string != numeric)"
298
Keywords "gt_sketch gt_ruby annotationsketch"
300
run_ruby "#{$testdata}gtruby/sketch_parsed_with_invalid_ordering.rb " + \
301
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
302
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
303
:maxtime => 600, :retval => 1
304
grep(last_stderr, /Track ordering callback must return a number/)
307
Name "sketch_parsed invalid order (Ruby, nil)"
308
Keywords "gt_sketch gt_ruby annotationsketch"
310
run_ruby "#{$testdata}gtruby/sketch_parsed_with_invalid_ordering_2.rb " + \
311
"#{$cur}/gtdata/sketch/default.style sketch_parsed.png " + \
312
"#{$testdata}standard_gene_with_introns_as_tree.gff3", \
313
:maxtime => 600, :retval => 1
314
grep(last_stderr, /Track ordering callback must return a number/)
317
Name "Ruby runtime style failures"
318
Keywords "gt_sketch gt_ruby annotationsketch"
320
Dir.glob("#{$testdata}fail*style") do |file|
321
run_ruby "#{$cur}/gtruby/sketch_parsed.rb " + \
322
"#{file} sketch_parsed.png " + \
323
"#{$testdata}eden.gff3", \
324
:maxtime => 600, :retval => 1
325
grep(last_stderr, 'attempt to call global \'fail\'')
327
run_ruby "#{$cur}/gtruby/sketch_constructed.rb " + \
328
"#{file} sketch_constructed.png", \
329
:maxtime => 600, :retval => 1
330
grep(last_stderr, 'attempt to call global \'fail\'')
332
run_ruby "#{$testdata}gtruby/style_serialize.rb #{file}", :retval => 1
333
grep(last_stderr, 'expected boolean, number, or string')