Rearrange Github pages-related Makefile targets
[pipeglade.git] / pipegladetest.sh
blob95856c69c5fef076cebb9fc160b6933adbe39338
1 #! /usr/bin/env bash
3 # Pipeglade tests; they should be invoked in the build directory.
5 # Usage: ./pipegladetest.sh
6 # Usage: ./pipegladetest.sh interactive
7 # Usage: ./pipegladetest.sh automatic
9 # Failure of a test can cause failure of one or more subsequent tests.
11 INTERACTIVE=true
12 AUTOMATIC=true
13 if test ${1-X} == interactive; then unset -v AUTOMATIC ; fi
14 if test ${1-X} == automatic; then unset -v INTERACTIVE ; fi
16 export LC_ALL=C
17 export NO_AT_BRIDGE=1
18 FIN=to-g.fifo
19 FOUT=from-g.fifo
20 FERR=err.fifo
21 LOG=test.log
22 ERR_FILE=err.txt
23 BAD_FIFO=bad_fifo
24 PID_FILE=pid
25 OUT_FILE=out.txt
26 DIR=test_dir
27 EPS_FILE=test.eps
28 EPSF_FILE=test.epsf
29 PDF_FILE=test.pdf
30 PS_FILE=test.ps
31 SVG_FILE=test.svg
32 FILE1=saved1.txt
33 FILE2=saved2.txt
34 FILE3=saved3.txt
35 FILE4=saved4.txt
36 FILE5=saved5.txt
37 FILE6=saved6.txt
38 BIG_INPUT=big.txt
39 BIG_INPUT2=big2.txt
40 BIG_INPUT_ERR=err.txt
41 WEIRD_PATHS=$(awk 'BEGIN{ for (i=0x01; i<= 0xff; i++) if (i != 0x2a && i != 0x2f && i != 0x3f && i != 0x5c) printf "'$DIR'/(%c) ", i }')
42 BIG_STRING=$(for i in {1..100}; do echo -n "abcdefghijklmnopqrstuvwxyz($i)ABCDEFGHIJKLMNOPQRSTUVWXYZ0{${RANDOM}}123456789"; done)
43 BIG_NUM=$(for i in {1..100}; do echo -n "$RANDOM"; done)
44 rm -rf $FIN $FOUT $FERR $LOG $ERR_FILE $BAD_FIFO $PID_FILE $OUT_FILE \
45 $EPS_FILE $EPSF_FILE $PDF_FILE $PS_FILE $SVG_FILE \
46 $FILE1 $FILE2 $FILE3 $FILE4 $FILE5 $FILE6 $BIG_INPUT $BIG_INPUT2 $BIG_INPUT_ERR $DIR
48 if stat -f "%0p" 2>/dev/null; then
49 STAT_CMD='stat -f "%0p"'
50 else
51 # probably GNU stat
52 STAT_CMD='stat -c "%a"'
55 # colored messages: bright green
56 OK=$'\E[32;1mOK\E[0m'
57 # bright red
58 FAIL=$'\E[31;1mFAIL\E[0m'
59 EXPECTED=$'\E[31;1mEXPECTED\E[0m'
60 # yellow
61 CALL=$'\E[33mCALL\E[0m'
62 SEND=$'\E[33mSEND\E[0m'
64 TESTS=0
65 FAILS=0
66 OKS=0
68 \f() {
69 echo "################################################################################"
72 count_fail() {
73 (( TESTS+=1 ))
74 (( FAILS+=1 ))
77 count_ok() {
78 (( TESTS+=1 ))
79 (( OKS+=1 ))
82 check_rm() {
83 i=0
84 while test -e $1 && (( i<50 )); do
85 sleep .1
86 (( i+=1 ))
87 done
88 if test -e $1; then
89 count_fail
90 echo " $FAIL $1 should be deleted"
91 rm -f $1
92 else
93 count_ok
94 echo " $OK $1 deleted"
98 check_cmd() {
99 i=0
100 while ! eval "$1" && (( i<50 )); do
101 sleep .1
102 (( i+=1 ))
103 done
104 if eval "$1"; then
105 count_ok
106 echo " $OK $1"
107 else
108 count_fail
109 echo " $FAIL $1"
115 echo "
116 # BATCH ONE
118 # Situations where pipeglade should exit immediately. These tests
119 # should run automatically
120 ######################################################################
123 # check_call command expected_status expected_stderr expected_stdout
124 check_call() {
125 r=$2
126 e=$3
127 o=$4
128 output=$($1 2>tmperr.txt)
129 retval=$?
130 error=$(<tmperr.txt)
131 rm tmperr.txt
132 echo "$CALL $1"
133 if test "$output" = "" -a "$o" = "" || (echo "$output" | grep -Fqe "$o"); then
134 count_ok
135 echo " $OK STDOUT $output"
136 else
137 count_fail
138 echo " $FAIL STDOUT $output"
139 echo " $EXPECTED $o"
141 if test "$error" = "" -a "$e" = "" || test "$retval" -eq "$r" && (echo "$error" | grep -Fqe "$e"); then
142 count_ok
143 echo " $OK EXIT/STDERR $retval $error"
144 else
145 count_fail
146 echo " $FAIL EXIT/STDERR $retval $error"
147 echo " $EXPECTED $r $e"
152 if test $AUTOMATIC; then
154 check_call "./pipeglade -u nonexistent.ui" 1 \
155 "nonexistent.ui" ""
156 check_call "./pipeglade -u bad_window.ui" 1 \
157 "no toplevel window with id 'main'" ""
158 check_call "./pipeglade -u www-template/404.html" 1 \
159 "html" ""
160 check_call "./pipeglade -u README" 1 \
161 "Document must begin with an element" ""
162 check_call "./pipeglade -e x" 1 \
163 "x is not a valid XEmbed socket id" ""
164 check_call "./pipeglade -ex" 1 \
165 "x is not a valid XEmbed socket id" ""
166 check_call "./pipeglade -e -77" 1 \
167 "-77 is not a valid XEmbed socket id" ""
168 check_call "./pipeglade -e 77x" 1 \
169 "77x is not a valid XEmbed socket id" ""
170 check_call "./pipeglade -e +77" 1 \
171 "+77 is not a valid XEmbed socket id" ""
172 check_call "./pipeglade -e 999999999999999999999999999999" 1 \
173 "999999999999999999999999999999 is not a valid XEmbed socket id" ""
174 check_call "./pipeglade -e 99999999999999999" 1 \
175 "unable to embed into XEmbed socket 99999999999999999" ""
176 touch $BAD_FIFO
177 check_call "./pipeglade -i $BAD_FIFO" 1 \
178 "using pre-existing fifo" ""
179 check_call "./pipeglade -o $BAD_FIFO" 1 \
180 "using pre-existing fifo" ""
181 rm $BAD_FIFO
182 check_call "./pipeglade -b" 1 \
183 "parameter -b requires both -i and -o"
184 check_call "./pipeglade -b -i $FIN" 1 \
185 "parameter -b requires both -i and -o"
186 check_call "./pipeglade -b -i $FOUT" 1 \
187 "parameter -b requires both -i and -o"
188 rm $FIN $FOUT
189 check_call "./pipeglade -h" 0 \
190 "" "usage: pipeglade [[-i in-fifo] [-o out-fifo] [-b] [-u glade-file.ui] [-e xid]
191 [-l log-file] [-O err-file] [--display X-server]] | [-h|-G|-V]"
192 check_call "./pipeglade -G" 0 \
193 "" "GTK+ v"
194 check_call "./pipeglade -G" 0 \
195 "" "cairo v"
196 check_call "./pipeglade -V" 0 \
197 "" "."
198 check_call "./pipeglade -X" 1 \
199 "option" ""
200 check_call "./pipeglade -e" 1 \
201 "argument" ""
202 check_call "./pipeglade -u" 1 \
203 "argument" ""
204 check_call "./pipeglade -i" 1 \
205 "argument" ""
206 check_call "./pipeglade -o" 1 \
207 "argument" ""
208 mkdir -p $DIR
209 check_call "./pipeglade -O" 1 \
210 "argument" ""
211 check_call "./pipeglade -O $DIR" 1 \
212 "" "redirecting stderr to"
213 check_call "./pipeglade -l $DIR" 1 \
214 "opening log file" ""
215 check_call "./pipeglade -l" 1 \
216 "argument" ""
217 # assuming we can't adjust permissions of /dev/null:
218 check_call "./pipeglade -O /dev/null" 1 \
219 "" "setting permissions of /dev/null:"
220 check_call "./pipeglade -l /dev/null" 1 \
221 "setting permissions of /dev/null:" ""
222 check_call "./pipeglade yyy" 1 \
223 "illegal parameter 'yyy'" ""
224 check_call "./pipeglade --display nnn" 1 \
225 "nnn"
226 check_rm $FIN
227 check_rm $FOUT
232 #exit
234 echo "
235 # BATCH TWO
237 # Error handling tests---bogus actions leading to appropriate error
238 # messages. Most of these tests should run automatically.
239 ######################################################################
242 mkfifo $FERR
244 # check_error command expected_stderr
245 check_error() {
246 echo "$SEND ${1:0:300}"
247 echo -e "$1" >$FIN
248 while read r <$FERR; do
249 # ignore irrelevant GTK warnings
250 if test "$r" != "" && ! grep -qie "warning"<<< "$r"; then
251 break;
253 done
254 if grep -qFe "${2:0:300}" <<< "${r:0:300}"; then
255 count_ok
256 echo " $OK ${r:0:300}"
257 else
258 count_fail
259 echo " $FAIL ${r:0:300}"
260 echo " $EXPECTED ${2:0:300}"
264 read r 2< $FERR &
265 ./pipeglade -i $FIN 2> $FERR &
266 # wait for $FIN to appear
267 while test ! \( -e $FIN \); do :; done
269 if test $AUTOMATIC; then
270 # Non-existent id
271 check_error "nnn" \
272 "ignoring command \"nnn\""
273 check_error "BIG_STRING" \
274 "ignoring command \"BIG_STRING\""
275 check_error "nnn:set_text FFFF" \
276 "ignoring command \"nnn:set_text FFFF\""
277 check_error "nnn:set_text $BIG_STRING" \
278 "ignoring command \"nnn:set_text $BIG_STRING\""
279 check_error "nnn:set_tooltip_text FFFF" \
280 "ignoring command \"nnn:set_tooltip_text FFFF\""
281 check_error "nnn:set_tooltip_text $BIG_STRING" \
282 "ignoring command \"nnn:set_tooltip_text $BIG_STRING\""
283 check_error "nnn:set_sensitive 0" \
284 "ignoring command \"nnn:set_sensitive 0\""
285 check_error "nnn:set_sensitive 1" \
286 "ignoring command \"nnn:set_sensitive 1\""
287 check_error "nnn:set_visible 0" \
288 "ignoring command \"nnn:set_visible 0\""
289 check_error "nnn:set_visible 1" \
290 "ignoring command \"nnn:set_visible 1\""
291 check_error "nnn:grab_focus" \
292 "ignoring command \"nnn:grab_focus\""
293 check_error "nnn:set_size_request 100 100" \
294 "ignoring command \"nnn:set_size_request 100 100\""
295 check_error "nnn:set_size_request $BIG_NUM $BIG_NUM" \
296 "ignoring command \"nnn:set_size_request $BIG_NUM $BIG_NUM\""
297 check_error "nnn:style font:Bold 11" \
298 "ignoring command \"nnn:style font:Bold 11\""
299 check_error "nnn:force" \
300 "ignoring command \"nnn:force\""
301 check_error "nnn:block 1" \
302 "ignoring command \"nnn:block 1\""
303 # Illegal id
304 check_error "+:main_quit" \
305 "ignoring command \"+:main_quit"
306 check_error "=:main_quit" \
307 "ignoring command \"=:main_quit"
308 check_error "|:main_quit" \
309 "ignoring command \"|:main_quit"
310 # Wrong number or kind of arguments for generic actions
311 check_error "button1:set_sensitive" \
312 "ignoring GtkButton command \"button1:set_sensitive\""
313 check_error "button1:set_sensitive 2" \
314 "ignoring GtkButton command \"button1:set_sensitive 2\""
315 check_error "button1:set_sensitive $BIG_NUM" \
316 "ignoring GtkButton command \"button1:set_sensitive $BIG_NUM\""
317 check_error "button1:set_sensitive nnn" \
318 "ignoring GtkButton command \"button1:set_sensitive nnn\""
319 check_error "button1:set_sensitive 0 1" \
320 "ignoring GtkButton command \"button1:set_sensitive 0 1\""
321 check_error "button1:set_visible" \
322 "ignoring GtkButton command \"button1:set_visible\""
323 check_error "button1:set_visible 2" \
324 "ignoring GtkButton command \"button1:set_visible 2\""
325 check_error "button1:set_visible $BIG_NUM" \
326 "ignoring GtkButton command \"button1:set_visible $BIG_NUM\""
327 check_error "button1:set_visible nnn" \
328 "ignoring GtkButton command \"button1:set_visible nnn\""
329 check_error "button1:set_visible 0 1" \
330 "ignoring GtkButton command \"button1:set_visible 0 1\""
331 check_error "button1:grab_focus 2" \
332 "ignoring GtkButton command \"button1:grab_focus 2\""
333 check_error "button1:set_size_request 100" \
334 "ignoring GtkButton command \"button1:set_size_request 100\""
335 check_error "button1:set_size_request 100 100 100" \
336 "ignoring GtkButton command \"button1:set_size_request 100 100 100\""
337 check_error "button1:force 2" \
338 "ignoring GtkButton command \"button1:force 2\""
339 check_error "_:main_quit 2" \
340 "ignoring command \"_:main_quit 2\""
341 check_error "button1:block 2" \
342 "ignoring GtkButton command \"button1:block 2\""
343 check_error "button1:block 0 0" \
344 "ignoring GtkButton command \"button1:block 0 0\""
345 check_error "button1:snapshot" \
346 "ignoring GtkButton command \"button1:snapshot\""
347 check_error "button1:snapshot " \
348 "ignoring GtkButton command \"button1:snapshot \""
349 # Widget that shouldn't fire callbacks
350 check_error "label1:force" \
351 "ignoring GtkLabel command \"label1:force\""
352 # Widget that can't grab focus
353 check_error "label1:grab_focus" \
354 "ignoring GtkLabel command \"label1:grab_focus\""
355 # load file
356 check_error "_:load" \
357 "ignoring command \"_:load\""
358 check_error "_:load " \
359 "ignoring command \"_:load \""
360 check_error "_:load nonexistent.txt" \
361 "ignoring command \"_:load nonexistent.txt\""
362 for i in $WEIRD_PATHS; do
363 check_error "_:load nonexistent/${i}QqQ" \
364 "ignoring command \"_:load nonexistent/${i}QqQ\""
365 done
366 # _:load junk
367 mkdir -p $DIR
368 cat >$DIR/$FILE1 <<< "blah"
369 check_error "_:load $DIR/$FILE1" \
370 "ignoring command \"blah\""
371 for i in $WEIRD_PATHS; do
372 cat >$i <<< "blah"
373 check_error "_:load $i" \
374 "ignoring command \"blah\""
375 done
376 # recursive :load
377 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE1"
378 check_error "_:load $DIR/$FILE1" \
379 "ignoring command \"_:load $DIR/$FILE1\""
380 for i in $WEIRD_PATHS; do
381 cat >$i <<< "_:load $i"
382 check_error "_:load $i" \
383 "ignoring command \"_:load $i\""
384 done
385 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE2"
386 cat >$DIR/$FILE2 <<< "_:load $DIR/$FILE1"
387 check_error "_:load $DIR/$FILE1" \
388 "ignoring command \"_:load $DIR/$FILE1\""
389 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE2"
390 cat >$DIR/$FILE2 <<< "_:blah"
391 check_error "_:load $DIR/$FILE1" \
392 "ignoring command \"_:blah\""
393 rm -rf $DIR
394 # GtkWindow
395 check_error "main:nnn" \
396 "ignoring GtkWindow command \"main:nnn\""
397 check_error "main:move" \
398 "ignoring GtkWindow command \"main:move\""
399 check_error "main:move " \
400 "ignoring GtkWindow command \"main:move \""
401 check_error "main:move 700" \
402 "ignoring GtkWindow command \"main:move 700\""
403 check_error "main:move 700 nnn" \
404 "ignoring GtkWindow command \"main:move 700 nnn\""
405 check_error "main:move $BIG_NUM $BIG_STRING" \
406 "ignoring GtkWindow command \"main:move $BIG_NUM $BIG_STRING\""
407 check_error "main:move 700 700 700" \
408 "ignoring GtkWindow command \"main:move 700 700 700\""
409 check_error "main:resize 700" \
410 "ignoring GtkWindow command \"main:resize 700\""
411 check_error "main:resize 700 nnn" \
412 "ignoring GtkWindow command \"main:resize 700 nnn\""
413 check_error "main:resize 700 700 700" \
414 "ignoring GtkWindow command \"main:resize 700 700 700\""
415 check_error "main:fullscreen 1" \
416 "ignoring GtkWindow command \"main:fullscreen 1\""
417 check_error "main:unfullscreen 1" \
418 "ignoring GtkWindow command \"main:unfullscreen 1\""
419 # GtkLabel
420 check_error "label1:nnn" \
421 "ignoring GtkLabel command \"label1:nnn\""
422 # GtkFrame
423 check_error "frame1:nnn" \
424 "ignoring GtkFrame command \"frame1:nnn\""
425 # GtkAspectFrame
426 check_error "aspectframe1:nnn" \
427 "ignoring GtkAspectFrame command \"aspectframe1:nnn\""
428 # GtkImage
429 check_error "image1:nnn" \
430 "ignoring GtkImage command \"image1:nnn\""
431 # GtkMenu
432 check_error "menu1:nnn" \
433 "ignoring GtkMenu command \"menu1:nnn\""
434 check_error "menu1:popup 1" \
435 "ignoring GtkMenu command \"menu1:popup 1\""
436 check_error "menu1:popdown 1" \
437 "ignoring GtkMenu command \"menu1:popdown 1\""
438 # GtkMenuBar
439 check_error "menubar1:nnn" \
440 "ignoring GtkMenuBar command \"menubar1:nnn\""
441 # GtkMenuButton
442 check_error "menubutton1:nnn" \
443 "ignoring GtkMenuButton command \"menubutton1:nnn\""
444 # GtkPaned
445 check_error "paned1:nnn" \
446 "ignoring GtkPaned command \"paned1:nnn\""
447 # GtkSizeGroup
448 check_error "sizegroup1:nnn" \
449 "ignoring GtkSizeGroup command \"sizegroup1:nnn\""
450 # GtkNotebook
451 check_error "notebook1:nnn" \
452 "ignoring GtkNotebook command \"notebook1:nnn\""
453 check_error "notebook1:set_current_page" \
454 "ignoring GtkNotebook command \"notebook1:set_current_page\""
455 check_error "notebook1:set_current_page " \
456 "ignoring GtkNotebook command \"notebook1:set_current_page \""
457 check_error "notebook1:set_current_page nnn" \
458 "ignoring GtkNotebook command \"notebook1:set_current_page nnn\""
459 check_error "notebook1:set_current_page -1" \
460 "ignoring GtkNotebook command \"notebook1:set_current_page -1\""
461 check_error "notebook1:set_current_page $BIG_NUM" \
462 "ignoring GtkNotebook command \"notebook1:set_current_page $BIG_NUM\""
463 check_error "notebook1:set_current_page 1 1" \
464 "ignoring GtkNotebook command \"notebook1:set_current_page 1 1\""
465 # GtkExpander
466 check_error "expander1:nnn" \
467 "ignoring GtkExpander command \"expander1:nnn\""
468 check_error "expander1:set_expanded" \
469 "ignoring GtkExpander command \"expander1:set_expanded\""
470 check_error "expander1:set_expanded 3" \
471 "ignoring GtkExpander command \"expander1:set_expanded 3\""
472 check_error "expander1:set_expanded $BIG_NUM" \
473 "ignoring GtkExpander command \"expander1:set_expanded $BIG_NUM\""
474 check_error "expander1:set_expanded 0 1" \
475 "ignoring GtkExpander command \"expander1:set_expanded 0 1\""
476 # GtkTextView
477 check_error "textview1:nnn" \
478 "ignoring GtkTextView command \"textview1:nnn\""
479 check_error "textview1:save" \
480 "ignoring GtkTextView command \"textview1:save\""
481 check_error "textview1:delete nnn" \
482 "ignoring GtkTextView command \"textview1:delete nnn\""
483 check_error "textview1:place_cursor" \
484 "ignoring GtkTextView command \"textview1:place_cursor\""
485 check_error "textview1:place_cursor " \
486 "ignoring GtkTextView command \"textview1:place_cursor \""
487 check_error "textview1:place_cursor nnn" \
488 "ignoring GtkTextView command \"textview1:place_cursor nnn\""
489 check_error "textview1:place_cursor 1 1" \
490 "ignoring GtkTextView command \"textview1:place_cursor 1 1\""
491 check_error "textview1:place_cursor end 1" \
492 "ignoring GtkTextView command \"textview1:place_cursor end 1\""
493 check_error "textview1:place_cursor_at_line" \
494 "ignoring GtkTextView command \"textview1:place_cursor_at_line\""
495 check_error "textview1:place_cursor_at_line " \
496 "ignoring GtkTextView command \"textview1:place_cursor_at_line \""
497 check_error "textview1:place_cursor_at_line nnn" \
498 "ignoring GtkTextView command \"textview1:place_cursor_at_line nnn\""
499 check_error "textview1:place_cursor_at_line 1 1" \
500 "ignoring GtkTextView command \"textview1:place_cursor_at_line 1 1\""
501 check_error "textview1:scroll_to_cursor nnn" \
502 "ignoring GtkTextView command \"textview1:scroll_to_cursor nnn\""
503 mkdir $DIR; chmod a-w $DIR
504 check_error "textview1:save $DIR/$FILE1" \
505 "ignoring GtkTextView command \"textview1:save $DIR/$FILE1\""
506 check_error "textview1:save nonexistent/$FILE1" \
507 "ignoring GtkTextView command \"textview1:save nonexistent/$FILE1\""
508 for i in $WEIRD_PATHS; do
509 check_error "textview1:save nonexistent/$i" \
510 "ignoring GtkTextView command \"textview1:save nonexistent/$i\""
511 done
513 rm -rf $DIR
514 # GtkButton
515 check_error "button1:nnn" \
516 "ignoring GtkButton command \"button1:nnn\""
517 # GtkLinkButton
518 check_error "linkbutton1:nnn" \
519 "ignoring GtkLinkButton command \"linkbutton1:nnn\""
520 check_error "linkbutton1:set_visited" \
521 "ignoring GtkLinkButton command \"linkbutton1:set_visited\""
522 check_error "linkbutton1:set_visited 0 1" \
523 "ignoring GtkLinkButton command \"linkbutton1:set_visited 0 1\""
524 check_error "linkbutton1:set_visited 2" \
525 "ignoring GtkLinkButton command \"linkbutton1:set_visited 2\""
526 # GtkSwitch
527 check_error "switch1:nnn" \
528 "ignoring GtkSwitch command \"switch1:nnn\""
529 check_error "switch1:set_active" \
530 "ignoring GtkSwitch command \"switch1:set_active\""
531 check_error "switch1:set_active " \
532 "ignoring GtkSwitch command \"switch1:set_active \""
533 check_error "switch1:set_active 2" \
534 "ignoring GtkSwitch command \"switch1:set_active 2\""
535 check_error "switch1:set_active $BIG_NUM" \
536 "ignoring GtkSwitch command \"switch1:set_active $BIG_NUM\""
537 check_error "switch1:set_active 0 1" \
538 "ignoring GtkSwitch command \"switch1:set_active 0 1\""
539 # GtkToggleButton
540 check_error "togglebutton1:nnn" \
541 "ignoring GtkToggleButton command \"togglebutton1:nnn\""
542 check_error "togglebutton1:set_active" \
543 "ignoring GtkToggleButton command \"togglebutton1:set_active\""
544 check_error "togglebutton1:set_active " \
545 "ignoring GtkToggleButton command \"togglebutton1:set_active \""
546 check_error "togglebutton1:set_active 2" \
547 "ignoring GtkToggleButton command \"togglebutton1:set_active 2\""
548 check_error "togglebutton1:set_active $BIG_NUM" \
549 "ignoring GtkToggleButton command \"togglebutton1:set_active $BIG_NUM\""
550 check_error "togglebutton1:set_active 1 0" \
551 "ignoring GtkToggleButton command \"togglebutton1:set_active 1 0\""
552 # GtkCheckButton
553 check_error "checkbutton1:nnn" \
554 "ignoring GtkCheckButton command \"checkbutton1:nnn\""
555 check_error "checkbutton1:set_active" \
556 "ignoring GtkCheckButton command \"checkbutton1:set_active\""
557 check_error "checkbutton1:set_active " \
558 "ignoring GtkCheckButton command \"checkbutton1:set_active \""
559 check_error "checkbutton1:set_active 2" \
560 "ignoring GtkCheckButton command \"checkbutton1:set_active 2\""
561 check_error "checkbutton1:set_active $BIG_NUM" \
562 "ignoring GtkCheckButton command \"checkbutton1:set_active $BIG_NUM\""
563 check_error "checkbutton1:set_active 1 1" \
564 "ignoring GtkCheckButton command \"checkbutton1:set_active 1 1\""
565 # GtkRadioButton
566 check_error "radiobutton1:nnn" \
567 "ignoring GtkRadioButton command \"radiobutton1:nnn\""
568 check_error "radiobutton1:set_active" \
569 "ignoring GtkRadioButton command \"radiobutton1:set_active\""
570 check_error "radiobutton1:set_active " \
571 "ignoring GtkRadioButton command \"radiobutton1:set_active \""
572 check_error "radiobutton1:set_active 2" \
573 "ignoring GtkRadioButton command \"radiobutton1:set_active 2\""
574 check_error "radiobutton1:set_active $BIG_NUM" \
575 "ignoring GtkRadioButton command \"radiobutton1:set_active $BIG_NUM\""
576 check_error "radiobutton1:set_active nnn" \
577 "ignoring GtkRadioButton command \"radiobutton1:set_active nnn\""
578 check_error "radiobutton1:set_active 0 1" \
579 "ignoring GtkRadioButton command \"radiobutton1:set_active 0 1\""
580 # GtkSpinButton
581 check_error "spinbutton1:nnn" \
582 "ignoring GtkSpinButton command \"spinbutton1:nnn\""
583 check_error "spinbutton1:set_text" \
584 "ignoring GtkSpinButton command \"spinbutton1:set_text\""
585 check_error "spinbutton1:set_text " \
586 "ignoring GtkSpinButton command \"spinbutton1:set_text \""
587 check_error "spinbutton1:set_text nnn" \
588 "ignoring GtkSpinButton command \"spinbutton1:set_text nnn\""
589 check_error "spinbutton1:set_text $BIG_STRING" \
590 "ignoring GtkSpinButton command \"spinbutton1:set_text $BIG_STRING\""
591 check_error "spinbutton1:set_text 10 10" \
592 "ignoring GtkSpinButton command \"spinbutton1:set_text 10 10\""
593 check_error "spinbutton1:set_range" \
594 "ignoring GtkSpinButton command \"spinbutton1:set_range\""
595 check_error "spinbutton1:set_range " \
596 "ignoring GtkSpinButton command \"spinbutton1:set_range \""
597 check_error "spinbutton1:set_range 10 nnn" \
598 "ignoring GtkSpinButton command \"spinbutton1:set_range 10 nnn\""
599 check_error "spinbutton1:set_range 10 20 10" \
600 "ignoring GtkSpinButton command \"spinbutton1:set_range 10 20 10\""
601 check_error "spinbutton1:set_increments" \
602 "ignoring GtkSpinButton command \"spinbutton1:set_increments\""
603 check_error "spinbutton1:set_increments " \
604 "ignoring GtkSpinButton command \"spinbutton1:set_increments \""
605 check_error "spinbutton1:set_increments 10 nnn" \
606 "ignoring GtkSpinButton command \"spinbutton1:set_increments 10 nnn\""
607 check_error "spinbutton1:set_increments 10 20 10" \
608 "ignoring GtkSpinButton command \"spinbutton1:set_increments 10 20 10\""
609 # GtkDialog
610 check_error "dialog1:resize 100" \
611 "ignoring GtkDialog command \"dialog1:resize 100\""
612 check_error "dialog1:resize 100 100 100" \
613 "ignoring GtkDialog command \"dialog1:resize 100 100 100\""
614 check_error "dialog1:move" \
615 "ignoring GtkDialog command \"dialog1:move\""
616 check_error "dialog1:move " \
617 "ignoring GtkDialog command \"dialog1:move \""
618 check_error "dialog1:move 100" \
619 "ignoring GtkDialog command \"dialog1:move 100\""
620 check_error "dialog1:move 100 100 100" \
621 "ignoring GtkDialog command \"dialog1:move 100 100 100\""
622 check_error "dialog1:fullscreen 1" \
623 "ignoring GtkDialog command \"dialog1:fullscreen 1\""
624 check_error "dialog1:unfullscreen 1" \
625 "ignoring GtkDialog command \"dialog1:unfullscreen 1\""
626 # GtkFileChooserButton
627 check_error "filechooserbutton1:nnn" \
628 "ignoring GtkFileChooserButton command \"filechooserbutton1:nnn\""
629 # GtkFilechooserDialog
630 check_error "open_dialog:nnn" \
631 "ignoring GtkFileChooserDialog command \"open_dialog:nnn\""
632 check_error "open_dialog:resize 100" \
633 "ignoring GtkFileChooserDialog command \"open_dialog:resize 100\""
634 check_error "open_dialog:resize 100 100 100" \
635 "ignoring GtkFileChooserDialog command \"open_dialog:resize 100 100 100\""
636 check_error "open_dialog:move" \
637 "ignoring GtkFileChooserDialog command \"open_dialog:move\""
638 check_error "open_dialog:move " \
639 "ignoring GtkFileChooserDialog command \"open_dialog:move \""
640 check_error "open_dialog:move 100" \
641 "ignoring GtkFileChooserDialog command \"open_dialog:move 100\""
642 check_error "open_dialog:move 100 100 100" \
643 "ignoring GtkFileChooserDialog command \"open_dialog:move 100 100 100\""
644 check_error "open_dialog:fullscreen 1" \
645 "ignoring GtkFileChooserDialog command \"open_dialog:fullscreen 1\""
646 check_error "open_dialog:unfullscreen 1" \
647 "ignoring GtkFileChooserDialog command \"open_dialog:unfullscreen 1\""
648 # GtkFontButton
649 check_error "fontbutton1:nnn" \
650 "ignoring GtkFontButton command \"fontbutton1:nnn\""
651 # GtkColorButton
652 check_error "colorbutton1:nnn" \
653 "ignoring GtkColorButton command \"colorbutton1:nnn\""
654 # GtkPrintUnixDialog
655 check_error "printdialog:nnn" \
656 "ignoring GtkPrintUnixDialog command \"printdialog:nnn\""
658 if test $INTERACTIVE; then
659 check_error "statusbar1:push Click \"Print\"\n printdialog:print nonexistent.ps" \
660 "ignoring GtkPrintUnixDialog command \" printdialog:print nonexistent.ps\""
662 if test $AUTOMATIC; then
663 # GtkScale
664 check_error "scale1:nnn" \
665 "ignoring GtkScale command \"scale1:nnn\""
666 check_error "scale1:set_value" \
667 "ignoring GtkScale command \"scale1:set_value\""
668 check_error "scale1:set_value " \
669 "ignoring GtkScale command \"scale1:set_value \""
670 check_error "scale1:set_value nnn" \
671 "ignoring GtkScale command \"scale1:set_value nnn\""
672 check_error "scale1:set_value $BIG_STRING" \
673 "ignoring GtkScale command \"scale1:set_value $BIG_STRING\""
674 check_error "scale1:set_value 10 10" \
675 "ignoring GtkScale command \"scale1:set_value 10 10\""
676 check_error "scale1:set_fill_level nnn" \
677 "ignoring GtkScale command \"scale1:set_fill_level nnn\""
678 check_error "scale1:set_fill_level $BIG_STRING" \
679 "ignoring GtkScale command \"scale1:set_fill_level $BIG_STRING\""
680 check_error "scale1:set_fill_level 10 10" \
681 "ignoring GtkScale command \"scale1:set_fill_level 10 10\""
682 check_error "scale1:set_range" \
683 "ignoring GtkScale command \"scale1:set_range\""
684 check_error "scale1:set_range " \
685 "ignoring GtkScale command \"scale1:set_range \""
686 check_error "scale1:set_range 10" \
687 "ignoring GtkScale command \"scale1:set_range 10\""
688 check_error "scale1:set_range $BIG_NUM" \
689 "ignoring GtkScale command \"scale1:set_range $BIG_NUM\""
690 check_error "scale1:set_range x 10" \
691 "ignoring GtkScale command \"scale1:set_range x 10\""
692 check_error "scale1:set_range 10 10 10" \
693 "ignoring GtkScale command \"scale1:set_range 10 10 10\""
694 check_error "scale1:set_increments" \
695 "ignoring GtkScale command \"scale1:set_increments\""
696 check_error "scale1:set_increments " \
697 "ignoring GtkScale command \"scale1:set_increments \""
698 check_error "scale1:set_increments 10" \
699 "ignoring GtkScale command \"scale1:set_increments 10\""
700 check_error "scale1:set_increments $BIG_NUM" \
701 "ignoring GtkScale command \"scale1:set_increments $BIG_NUM\""
702 check_error "scale1:set_increments x 10" \
703 "ignoring GtkScale command \"scale1:set_increments x 10\""
704 check_error "scale1:set_increments 10 10 10" \
705 "ignoring GtkScale command \"scale1:set_increments 10 10 10\""
706 # GtkProgressBar
707 check_error "progressbar1:nnn" \
708 "ignoring GtkProgressBar command \"progressbar1:nnn\""
709 check_error "progressbar1:set_fraction" \
710 "ignoring GtkProgressBar command \"progressbar1:set_fraction\""
711 check_error "progressbar1:set_fraction " \
712 "ignoring GtkProgressBar command \"progressbar1:set_fraction \""
713 check_error "progressbar1:set_fraction nnn" \
714 "ignoring GtkProgressBar command \"progressbar1:set_fraction nnn\""
715 check_error "progressbar1:set_fraction $BIG_STRING" \
716 "ignoring GtkProgressBar command \"progressbar1:set_fraction $BIG_STRING\""
717 check_error "progressbar1:set_fraction .5 1" \
718 "ignoring GtkProgressBar command \"progressbar1:set_fraction .5 1\""
719 # GtkSpinner
720 check_error "spinner1:nnn" \
721 "ignoring GtkSpinner command \"spinner1:nnn\""
722 check_error "spinner1:start 1" \
723 "ignoring GtkSpinner command \"spinner1:start 1\""
724 check_error "spinner1:start $BIG_STRING" \
725 "ignoring GtkSpinner command \"spinner1:start $BIG_STRING\""
726 check_error "spinner1:stop 1" \
727 "ignoring GtkSpinner command \"spinner1:stop 1\""
728 check_error "spinner1:stop $BIG_STRING" \
729 "ignoring GtkSpinner command \"spinner1:stop $BIG_STRING\""
730 # GtkStatusbar
731 check_error "statusbar1:nnn" \
732 "ignoring GtkStatusbar command \"statusbar1:nnn\""
733 check_error "statusbar1:push_id" \
734 "ignoring GtkStatusbar command \"statusbar1:push_id\""
735 check_error "statusbar1:pop_id" \
736 "ignoring GtkStatusbar command \"statusbar1:pop_id\""
737 check_error "statusbar1:remove_all_id" \
738 "ignoring GtkStatusbar command \"statusbar1:remove_all_id\""
739 check_error "statusbar1:remove_all_id " \
740 "ignoring GtkStatusbar command \"statusbar1:remove_all_id \""
741 check_error "statusbar1:remove_all_id a b" \
742 "ignoring GtkStatusbar command \"statusbar1:remove_all_id a b\""
743 check_error "statusbar1:remove_all a" \
744 "ignoring GtkStatusbar command \"statusbar1:remove_all a\""
745 check_error "statusbar1:remove_all $BIG_STRING" \
746 "ignoring GtkStatusbar command \"statusbar1:remove_all $BIG_STRING\""
747 # GtkComboBoxText
748 check_error "comboboxtext1:nnn" \
749 "ignoring GtkComboBoxText command \"comboboxtext1:nnn\""
750 check_error "comboboxtext1:force" \
751 "ignoring GtkComboBoxText command \"comboboxtext1:force\""
752 check_error "comboboxtext1:insert_text" \
753 "ignoring GtkComboBoxText command \"comboboxtext1:insert_text\""
754 check_error "comboboxtext1:insert_text x y" \
755 "ignoring GtkComboBoxText command \"comboboxtext1:insert_text x y\""
756 check_error "comboboxtext1:remove" \
757 "ignoring GtkComboBoxText command \"comboboxtext1:remove\""
758 check_error "comboboxtext1:remove x y" \
759 "ignoring GtkComboBoxText command \"comboboxtext1:remove x y\""
761 # GtkTreeView #
762 check_error "treeview1:nnn" \
763 "ignoring GtkTreeView command \"treeview1:nnn\""
764 check_error "treeview2:nnn" \
765 "ignoring GtkTreeView command \"treeview2:nnn\""
766 check_error "treeview1:force" \
767 "ignoring GtkTreeView command \"treeview1:force\""
768 # GtkTreeView save
769 check_error "treeview1:save" \
770 "ignoring GtkTreeView command \"treeview1:save\""
771 mkdir $DIR; chmod a-w $DIR
772 check_error "treeview1:save $DIR/$FILE1" \
773 "ignoring GtkTreeView command \"treeview1:save $DIR/$FILE1\""
774 check_error "treeview1:save nonexistent/$FILE1" \
775 "ignoring GtkTreeView command \"treeview1:save nonexistent/$FILE1\""
776 rm -rf $DIR
777 for i in $WEIRD_PATHS; do
778 check_error "treeview1:save nonexistent/$i" \
779 "ignoring GtkTreeView command \"treeview1:save nonexistent/$i\""
780 done
781 # GtkTreeView insert_row
782 check_error "treeview1:insert_row 10000" \
783 "ignoring GtkTreeView command \"treeview1:insert_row 10000\""
784 check_error "treeview1:insert_row $BIG_STRING" \
785 "ignoring GtkTreeView command \"treeview1:insert_row $BIG_STRING\""
786 check_error "treeview1:insert_row -1" \
787 "ignoring GtkTreeView command \"treeview1:insert_row -1\""
788 check_error "treeview1:insert_row nnn" \
789 "ignoring GtkTreeView command \"treeview1:insert_row nnn\""
790 check_error "treeview1:insert_row" \
791 "ignoring GtkTreeView command \"treeview1:insert_row\""
792 check_error "treeview1:insert_row " \
793 "ignoring GtkTreeView command \"treeview1:insert_row \""
794 check_error "treeview1:insert_row -1" \
795 "ignoring GtkTreeView command \"treeview1:insert_row -1\""
796 check_error "treeview1:insert_row 1000" \
797 "ignoring GtkTreeView command \"treeview1:insert_row 1000\""
798 check_error "treeview2:insert_row 0" \
799 "ignoring GtkTreeView command \"treeview2:insert_row 0\""
800 check_error "treeview3:insert_row end" \
801 "missing model/ignoring GtkTreeView command \"treeview3:insert_row end\""
802 check_error "treeview2:insert_row end\n treeview2:insert_row 0 as_child\n treeview2:insert_row 0:0 as_child\n treeview2:expand abc" \
803 "ignoring GtkTreeView command \" treeview2:expand abc\""
804 check_error "treeview2:expand" \
805 "ignoring GtkTreeView command \"treeview2:expand\""
806 check_error "treeview2:expand 0:abc" \
807 "ignoring GtkTreeView command \"treeview2:expand 0:abc\""
808 check_error "treeview2:expand 0 0" \
809 "ignoring GtkTreeView command \"treeview2:expand 0 0\""
810 check_error "treeview2:expand_all abc" \
811 "ignoring GtkTreeView command \"treeview2:expand_all abc\""
812 check_error "treeview2:expand_all $BIG_STRING" \
813 "ignoring GtkTreeView command \"treeview2:expand_all $BIG_STRING\""
814 check_error "treeview2:expand_all 0:abc" \
815 "ignoring GtkTreeView command \"treeview2:expand_all 0:abc\""
816 check_error "treeview2:expand_all 0 0" \
817 "ignoring GtkTreeView command \"treeview2:expand_all 0 0\""
818 check_error "treeview2:collapse abc" \
819 "ignoring GtkTreeView command \"treeview2:collapse abc\""
820 check_error "treeview2:collapse $BIG_STRING" \
821 "ignoring GtkTreeView command \"treeview2:collapse $BIG_STRING\""
822 check_error "treeview2:collapse 0:abc" \
823 "ignoring GtkTreeView command \"treeview2:collapse 0:abc\""
824 check_error "treeview2:collapse 0 0" \
825 "ignoring GtkTreeView command \"treeview2:collapse 0 0\""
826 check_error "treeview2:insert_row" \
827 "ignoring GtkTreeView command \"treeview2:insert_row\""
828 check_error "treeview2:insert_row abc" \
829 "ignoring GtkTreeView command \"treeview2:insert_row abc\""
830 check_error "treeview2:insert_row 0:abc" \
831 "ignoring GtkTreeView command \"treeview2:insert_row 0:abc\""
832 check_error "treeview2:insert_row end 0" \
833 "ignoring GtkTreeView command \"treeview2:insert_row end 0\""
834 # GtkTreeView move_row
835 check_error "treeview1:move_row" \
836 "ignoring GtkTreeView command \"treeview1:move_row\""
837 check_error "treeview1:move_row " \
838 "ignoring GtkTreeView command \"treeview1:move_row \""
839 check_error "treeview1:move_row nnn" \
840 "ignoring GtkTreeView command \"treeview1:move_row nnn\""
841 check_error "treeview1:move_row $BIG_STRING" \
842 "ignoring GtkTreeView command \"treeview1:move_row $BIG_STRING\""
843 check_error "treeview1:move_row 10000 end" \
844 "ignoring GtkTreeView command \"treeview1:move_row 10000 end\""
845 check_error "treeview1:move_row $BIG_STRING end" \
846 "ignoring GtkTreeView command \"treeview1:move_row $BIG_STRING end\""
847 check_error "treeview1:move_row -1 end" \
848 "ignoring GtkTreeView command \"treeview1:move_row -1 end\""
849 check_error "treeview1:move_row nnn end" \
850 "ignoring GtkTreeView command \"treeview1:move_row nnn end\""
851 check_error "treeview1:move_row 0 10000" \
852 "ignoring GtkTreeView command \"treeview1:move_row 0 10000\""
853 check_error "treeview1:move_row 0 -1" \
854 "ignoring GtkTreeView command \"treeview1:move_row 0 -1\""
855 check_error "treeview1:move_row 0 nnn" \
856 "ignoring GtkTreeView command \"treeview1:move_row 0 nnn\""
857 check_error "treeview2:move_row" \
858 "ignoring GtkTreeView command \"treeview2:move_row\""
859 check_error "treeview2:move_row 0:0 abc" \
860 "ignoring GtkTreeView command \"treeview2:move_row 0:0 abc\""
861 check_error "treeview2:move_row 0:0 0:abc" \
862 "ignoring GtkTreeView command \"treeview2:move_row 0:0 0:abc\""
863 check_error "treeview2:move_row abc end" \
864 "ignoring GtkTreeView command \"treeview2:move_row abc end\""
865 check_error "treeview2:move_row 0:abc end" \
866 "ignoring GtkTreeView command \"treeview2:move_row 0:abc end\""
867 check_error "treeview2:move_row 0 end 0" \
868 "ignoring GtkTreeView command \"treeview2:move_row 0 end 0\""
869 # GtkTreeView remove_row
870 check_error "treeview1:remove_row 10000" \
871 "ignoring GtkTreeView command \"treeview1:remove_row 10000\""
872 check_error "treeview1:remove_row -1" \
873 "ignoring GtkTreeView command \"treeview1:remove_row -1\""
874 check_error "treeview1:remove_row nnn" \
875 "ignoring GtkTreeView command \"treeview1:remove_row nnn\""
876 check_error "treeview1:remove_row $BIG_STRING" \
877 "ignoring GtkTreeView command \"treeview1:remove_row $BIG_STRING\""
878 check_error "treeview1:remove_row" \
879 "ignoring GtkTreeView command \"treeview1:remove_row\""
880 check_error "treeview1:remove_row " \
881 "ignoring GtkTreeView command \"treeview1:remove_row \""
882 check_error "treeview2:remove_row" \
883 "ignoring GtkTreeView command \"treeview2:remove_row\""
884 check_error "treeview2:remove_row abc" \
885 "ignoring GtkTreeView command \"treeview2:remove_row abc\""
886 check_error "treeview2:remove_row 0:abc" \
887 "ignoring GtkTreeView command \"treeview2:remove_row 0:abc\""
888 check_error "treeview2:remove_row 0 0" \
889 "ignoring GtkTreeView command \"treeview2:remove_row 0 0\""
890 # GtkTreeView scroll
891 check_error "treeview1:scroll" \
892 "ignoring GtkTreeView command \"treeview1:scroll\""
893 check_error "treeview1:scroll " \
894 "ignoring GtkTreeView command \"treeview1:scroll \""
895 check_error "treeview1:scroll nnn" \
896 "ignoring GtkTreeView command \"treeview1:scroll nnn\""
897 check_error "treeview1:scroll $BIG_STRING" \
898 "ignoring GtkTreeView command \"treeview1:scroll $BIG_STRING\""
899 check_error "treeview1:scroll -1 1" \
900 "ignoring GtkTreeView command \"treeview1:scroll -1 1\""
901 check_error "treeview1:scroll 1 -1" \
902 "ignoring GtkTreeView command \"treeview1:scroll 1 -1\""
903 check_error "treeview1:scroll nnn 1" \
904 "ignoring GtkTreeView command \"treeview1:scroll nnn 1\""
905 check_error "treeview1:scroll 1 nnn" \
906 "ignoring GtkTreeView command \"treeview1:scroll 1 nnn\""
907 check_error "treeview1:scroll 0 0 0" \
908 "ignoring GtkTreeView command \"treeview1:scroll 0 0 0\""
909 check_error "treeview2:scroll" \
910 "ignoring GtkTreeView command \"treeview2:scroll\""
911 check_error "treeview2:scroll abc" \
912 "ignoring GtkTreeView command \"treeview2:scroll abc\""
913 check_error "treeview2:scroll 0:abc" \
914 "ignoring GtkTreeView command \"treeview2:scroll 0:abc\""
915 check_error "treeview2:scroll abc 0" \
916 "ignoring GtkTreeView command \"treeview2:scroll abc 0\""
917 check_error "treeview2:scroll 0:abc 0" \
918 "ignoring GtkTreeView command \"treeview2:scroll 0:abc 0\""
919 check_error "treeview2:scroll 0:0" \
920 "ignoring GtkTreeView command \"treeview2:scroll 0:0\""
921 check_error "treeview2:scroll 0:0 abc" \
922 "ignoring GtkTreeView command \"treeview2:scroll 0:0 abc\""
923 check_error "treeview2:set_cursor abc" \
924 "ignoring GtkTreeView command \"treeview2:set_cursor abc\""
925 check_error "treeview2:set_cursor 0:abc" \
926 "ignoring GtkTreeView command \"treeview2:set_cursor 0:abc\""
927 check_error "treeview2:set_cursor 0 0" \
928 "ignoring GtkTreeView command \"treeview2:set_cursor 0 0\""
929 check_error "treeview2:set_cursor 0 $BIG_STRING" \
930 "ignoring GtkTreeView command \"treeview2:set_cursor 0 $BIG_STRING\""
931 check_error "treeview2:clear 0" \
932 "ignoring GtkTreeView command \"treeview2:clear 0\""
933 check_error "treeview2:clear\n treeview2:insert_row 0" \
934 "ignoring GtkTreeView command \" treeview2:insert_row 0\""
935 # GtkTreeView set
936 check_error "treeview1:set" \
937 "ignoring GtkTreeView command \"treeview1:set\""
938 check_error "treeview1:set " \
939 "ignoring GtkTreeView command \"treeview1:set \""
940 check_error "treeview1:set nnn" \
941 "ignoring GtkTreeView command \"treeview1:set nnn\""
942 check_error "treeview1:set $BIG_STRING" \
943 "ignoring GtkTreeView command \"treeview1:set $BIG_STRING\""
944 check_error "treeview1:set 0 nnn" \
945 "ignoring GtkTreeView command \"treeview1:set 0 nnn\""
946 check_error "treeview1:set nnn 0" \
947 "ignoring GtkTreeView command \"treeview1:set nnn 0\""
948 check_error "treeview1:set 1 10000 77" \
949 "ignoring GtkTreeView command \"treeview1:set 1 10000 77\""
950 check_error "treeview1:set 1 11 77" \
951 "ignoring GtkTreeView command \"treeview1:set 1 11 77\""
952 check_error "treeview1:set nnn 1 77" \
953 "ignoring GtkTreeView command \"treeview1:set nnn 1 77\""
954 check_error "treeview1:set 1 nnn 77" \
955 "ignoring GtkTreeView command \"treeview1:set 1 nnn 77\""
956 check_error "treeview1:set -1 1 77" \
957 "ignoring GtkTreeView command \"treeview1:set -1 1 77\""
958 check_error "treeview1:set 1 -1 77" \
959 "ignoring GtkTreeView command \"treeview1:set 1 -1 77\""
960 # GtkTreeView set junk into numeric columns
961 check_error "treeview1:set 1 1 abc" \
962 "ignoring GtkTreeView command \"treeview1:set 1 1 abc\""
963 check_error "treeview1:set 1 1 $BIG_STRING" \
964 "ignoring GtkTreeView command \"treeview1:set 1 1 $BIG_STRING\""
965 check_error "treeview1:set 1 1" \
966 "ignoring GtkTreeView command \"treeview1:set 1 1\""
967 check_error "treeview1:set 1 1 555.5" \
968 "ignoring GtkTreeView command \"treeview1:set 1 1 555.5\""
969 check_error "treeview1:set 1 1 555 5" \
970 "ignoring GtkTreeView command \"treeview1:set 1 1 555 5\""
971 check_error "treeview1:set 1 7 abc" \
972 "ignoring GtkTreeView command \"treeview1:set 1 7 abc\""
973 check_error "treeview1:set 1 7 $BIG_STRING" \
974 "ignoring GtkTreeView command \"treeview1:set 1 7 $BIG_STRING\""
975 check_error "treeview1:set 1 7" \
976 "ignoring GtkTreeView command \"treeview1:set 1 7\""
977 check_error "treeview1:set 1 7 555 5" \
978 "ignoring GtkTreeView command \"treeview1:set 1 7 555 5\""
980 # GtkTreeViewColumn (which is not a GtkWidget)
981 check_error "treeviewcolumn3:nnn" \
982 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:nnn\""
983 check_error "treeviewcolumn3:force" \
984 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:force\""
985 check_error "treeviewcolumn3:grab_focus" \
986 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:grab_focus\""
987 check_error "treeviewcolumn3:snapshot x.svg" \
988 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:snapshot x.svg\""
989 check_error "treeviewcolumn3:set_sensitive 0" \
990 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:set_sensitive 0\""
991 check_error "treeviewcolumn3:set_size_request 50 60" \
992 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:set_size_request 50 60\""
993 check_error "treeviewcolumn3:set_visible 0" \
994 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:set_visible 0\""
995 check_error "treeviewcolumn3:style" \
996 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:style\""
997 check_error "treeviewcolumn3:set_tooltip_text" \
998 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:set_tooltip_text\""
1000 # GtkEntry
1001 check_error "entry1:nnn" \
1002 "ignoring GtkEntry command \"entry1:nnn\""
1003 # GtkCalendar
1004 check_error "calendar1:nnn" \
1005 "ignoring GtkCalendar command \"calendar1:nnn\""
1006 check_error "calendar1:select_date" \
1007 "ignoring GtkCalendar command \"calendar1:select_date\""
1008 check_error "calendar1:select_date " \
1009 "ignoring GtkCalendar command \"calendar1:select_date \""
1010 check_error "calendar1:select_date nnn" \
1011 "ignoring GtkCalendar command \"calendar1:select_date nnn\""
1012 check_error "calendar1:select_date $BIG_STRING" \
1013 "ignoring GtkCalendar command \"calendar1:select_date $BIG_STRING\""
1014 check_error "calendar1:select_date 2000-12-33" \
1015 "ignoring GtkCalendar command \"calendar1:select_date 2000-12-33\""
1016 check_error "calendar1:select_date 2000-13-20" \
1017 "ignoring GtkCalendar command \"calendar1:select_date 2000-13-20\""
1018 check_error "calendar1:select_date 2000-10-10 1" \
1019 "ignoring GtkCalendar command \"calendar1:select_date 2000-10-10 1\""
1020 check_error "calendar1:mark_day" \
1021 "ignoring GtkCalendar command \"calendar1:mark_day\""
1022 check_error "calendar1:mark_day " \
1023 "ignoring GtkCalendar command \"calendar1:mark_day \""
1024 check_error "calendar1:mark_day nnn" \
1025 "ignoring GtkCalendar command \"calendar1:mark_day nnn\""
1026 check_error "calendar1:mark_day $BIG_STRING" \
1027 "ignoring GtkCalendar command \"calendar1:mark_day $BIG_STRING\""
1028 check_error "calendar1:mark_day 10 1" \
1029 "ignoring GtkCalendar command \"calendar1:mark_day 10 1\""
1030 check_error "calendar1:clear_marks 1" \
1031 "ignoring GtkCalendar command \"calendar1:clear_marks 1\""
1032 # GtkSocket
1033 check_error "socket1:nnn" \
1034 "ignoring GtkSocket command \"socket1:nnn\""
1035 check_error "socket1:id 1" \
1036 "ignoring GtkSocket command \"socket1:id 1\""
1037 # GtkScrolledWindow
1038 check_error "scrolledwindow3:nnn" \
1039 "ignoring GtkScrolledWindow command \"scrolledwindow3:nnn\""
1040 check_error "scrolledwindow3:hscroll" \
1041 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll\""
1042 check_error "scrolledwindow3:hscroll " \
1043 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll \""
1044 check_error "scrolledwindow3:hscroll nnn" \
1045 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll nnn\""
1046 check_error "scrolledwindow3:hscroll $BIG_STRING" \
1047 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll $BIG_STRING\""
1048 check_error "scrolledwindow3:hscroll 100 100" \
1049 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll 100 100\""
1050 check_error "scrolledwindow3:vscroll" \
1051 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll\""
1052 check_error "scrolledwindow3:vscroll " \
1053 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll \""
1054 check_error "scrolledwindow3:vscroll nnn" \
1055 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll nnn\""
1056 check_error "scrolledwindow3:vscroll $BIG_STRING" \
1057 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll $BIG_STRING\""
1058 check_error "scrolledwindow3:vscroll 100 100" \
1059 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll 100 100\""
1060 check_error "scrolledwindow3:hscroll_to_range" \
1061 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range\""
1062 check_error "scrolledwindow3:hscroll_to_range " \
1063 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range \""
1064 check_error "scrolledwindow3:hscroll_to_range nnn" \
1065 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range nnn\""
1066 check_error "scrolledwindow3:hscroll_to_range $BIG_STRING" \
1067 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range $BIG_STRING\""
1068 check_error "scrolledwindow3:hscroll_to_range 10" \
1069 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range 10\""
1070 check_error "scrolledwindow3:hscroll_to_range 10 nnn" \
1071 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range 10 nnn\""
1072 check_error "scrolledwindow3:hscroll_to_range nnn 10" \
1073 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range nnn 10\""
1074 check_error "scrolledwindow3:hscroll_to_range 5 10 10" \
1075 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range 5 10 10\""
1076 check_error "scrolledwindow3:vscroll_to_range" \
1077 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range\""
1078 check_error "scrolledwindow3:vscroll_to_range " \
1079 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range \""
1080 check_error "scrolledwindow3:vscroll_to_range nnn" \
1081 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range nnn\""
1082 check_error "scrolledwindow3:vscroll_to_range $BIG_STRING" \
1083 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range $BIG_STRING\""
1084 check_error "scrolledwindow3:vscroll_to_range 10" \
1085 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range 10\""
1086 check_error "scrolledwindow3:vscroll_to_range 10 nnn" \
1087 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range 10 nnn\""
1088 check_error "scrolledwindow3:vscroll_to_range nnn 10" \
1089 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range nnn 10\""
1090 check_error "scrolledwindow3:vscroll_to_range 5 10 10" \
1091 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range 5 10 10\""
1092 # GtkEventBox
1093 check_error "eventbox1:nnn" \
1094 "ignoring GtkEventBox command \"eventbox1:nnn\""
1095 # GtkDrawingArea
1096 check_error "drawingarea1:nnn" \
1097 "ignoring GtkDrawingArea command \"drawingarea1:nnn\""
1098 check_error "drawingarea1:rectangle" \
1099 "ignoring GtkDrawingArea command \"drawingarea1:rectangle\""
1100 check_error "drawingarea1:rectangle " \
1101 "ignoring GtkDrawingArea command \"drawingarea1:rectangle \""
1102 check_error "drawingarea1:rectangle nnn" \
1103 "ignoring GtkDrawingArea command \"drawingarea1:rectangle nnn\""
1104 check_error "drawingarea1:rectangle $BIG_STRING" \
1105 "ignoring GtkDrawingArea command \"drawingarea1:rectangle $BIG_STRING\""
1106 check_error "drawingarea1:rectangle 1" \
1107 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1\""
1108 check_error "drawingarea1:rectangle 1 10" \
1109 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10\""
1110 check_error "drawingarea1:rectangle 1 10 10" \
1111 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10\""
1112 check_error "drawingarea1:rectangle 1 10 10 20" \
1113 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10 20\""
1114 check_error "drawingarea1:rectangle 1 10 10 20 nnn" \
1115 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10 20 nnn\""
1116 check_error "drawingarea1:rectangle 1 10 10 20 20 20" \
1117 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10 20 20 20\""
1118 check_error "drawingarea1:arc" \
1119 "ignoring GtkDrawingArea command \"drawingarea1:arc\""
1120 check_error "drawingarea1:arc " \
1121 "ignoring GtkDrawingArea command \"drawingarea1:arc \""
1122 check_error "drawingarea1:arc nnn" \
1123 "ignoring GtkDrawingArea command \"drawingarea1:arc nnn\""
1124 check_error "drawingarea1:arc $BIG_STRING" \
1125 "ignoring GtkDrawingArea command \"drawingarea1:arc $BIG_STRING\""
1126 check_error "drawingarea1:arc 1" \
1127 "ignoring GtkDrawingArea command \"drawingarea1:arc 1\""
1128 check_error "drawingarea1:arc 1 10" \
1129 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10\""
1130 check_error "drawingarea1:arc 1 10 10" \
1131 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10\""
1132 check_error "drawingarea1:arc 1 10 10 20" \
1133 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20\""
1134 check_error "drawingarea1:arc 1 10 10 20 45" \
1135 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20 45\""
1136 check_error "drawingarea1:arc 1 10 10 20 45 nnn" \
1137 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20 45 nnn\""
1138 check_error "drawingarea1:arc 1 10 10 20 45 90 7" \
1139 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20 45 90 7\""
1140 check_error "drawingarea1:arc_negative" \
1141 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative\""
1142 check_error "drawingarea1:arc_negative " \
1143 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative \""
1144 check_error "drawingarea1:arc_negative nnn" \
1145 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative nnn\""
1146 check_error "drawingarea1:arc_negative $BIG_STRING" \
1147 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative $BIG_STRING\""
1148 check_error "drawingarea1:arc_negative 1" \
1149 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1\""
1150 check_error "drawingarea1:arc_negative 1 10" \
1151 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10\""
1152 check_error "drawingarea1:arc_negative 1 10 10" \
1153 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10\""
1154 check_error "drawingarea1:arc_negative 1 10 10 20" \
1155 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20\""
1156 check_error "drawingarea1:arc_negative 1 10 10 20 45" \
1157 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20 45\""
1158 check_error "drawingarea1:arc_negative 1 10 10 20 45 nnn" \
1159 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20 45 nnn\""
1160 check_error "drawingarea1:arc_negative 1 10 10 20 45 90 7" \
1161 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20 45 90 7\""
1162 check_error "drawingarea1:curve_to" \
1163 "ignoring GtkDrawingArea command \"drawingarea1:curve_to\""
1164 check_error "drawingarea1:curve_to " \
1165 "ignoring GtkDrawingArea command \"drawingarea1:curve_to \""
1166 check_error "drawingarea1:curve_to nnn" \
1167 "ignoring GtkDrawingArea command \"drawingarea1:curve_to nnn\""
1168 check_error "drawingarea1:curve_to $BIG_STRING" \
1169 "ignoring GtkDrawingArea command \"drawingarea1:curve_to $BIG_STRING\""
1170 check_error "drawingarea1:curve_to 1" \
1171 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1\""
1172 check_error "drawingarea1:curve_to 1 10" \
1173 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10\""
1174 check_error "drawingarea1:curve_to 1 10 10" \
1175 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10\""
1176 check_error "drawingarea1:curve_to 1 10 10 20" \
1177 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20\""
1178 check_error "drawingarea1:curve_to 1 10 10 20 20" \
1179 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20\""
1180 check_error "drawingarea1:curve_to 1 10 10 20 20 25" \
1181 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20 25\""
1182 check_error "drawingarea1:curve_to 1 10 10 20 20 25 nnn" \
1183 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20 25 nnn\""
1184 check_error "drawingarea1:curve_to 1 10 10 20 20 25 25 77" \
1185 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20 25 25 77\""
1186 check_error "drawingarea1:rel_curve_to" \
1187 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to\""
1188 check_error "drawingarea1:rel_curve_to " \
1189 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to \""
1190 check_error "drawingarea1:rel_curve_to nnn" \
1191 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to nnn\""
1192 check_error "drawingarea1:rel_curve_to $BIG_STRING" \
1193 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to $BIG_STRING\""
1194 check_error "drawingarea1:rel_curve_to 1" \
1195 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1\""
1196 check_error "drawingarea1:rel_curve_to 1 10" \
1197 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10\""
1198 check_error "drawingarea1:rel_curve_to 1 10 10" \
1199 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10\""
1200 check_error "drawingarea1:rel_curve_to 1 10 10 20" \
1201 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20\""
1202 check_error "drawingarea1:rel_curve_to 1 10 10 20 20" \
1203 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20\""
1204 check_error "drawingarea1:rel_curve_to 1 10 10 20 20 25" \
1205 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20 25\""
1206 check_error "drawingarea1:rel_curve_to 1 10 10 20 20 25 nnn" \
1207 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20 25 nnn\""
1208 check_error "drawingarea1:rel_curve_to 1 10 10 20 20 25 25 77" \
1209 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20 25 25 77\""
1210 check_error "drawingarea1:line_to" \
1211 "ignoring GtkDrawingArea command \"drawingarea1:line_to\""
1212 check_error "drawingarea1:line_to " \
1213 "ignoring GtkDrawingArea command \"drawingarea1:line_to \""
1214 check_error "drawingarea1:line_to nnn" \
1215 "ignoring GtkDrawingArea command \"drawingarea1:line_to nnn\""
1216 check_error "drawingarea1:line_to $BIG_STRING" \
1217 "ignoring GtkDrawingArea command \"drawingarea1:line_to $BIG_STRING\""
1218 check_error "drawingarea1:line_to 1" \
1219 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1\""
1220 check_error "drawingarea1:line_to 1 20" \
1221 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1 20\""
1222 check_error "drawingarea1:line_to 1 20 nnn" \
1223 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1 20 nnn\""
1224 check_error "drawingarea1:line_to 1 20 20 20" \
1225 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1 20 20 20\""
1226 check_error "drawingarea1:rel_line_to" \
1227 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to\""
1228 check_error "drawingarea1:rel_line_to " \
1229 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to \""
1230 check_error "drawingarea1:rel_line_to nnn" \
1231 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to nnn\""
1232 check_error "drawingarea1:rel_line_to $BIG_STRING" \
1233 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to $BIG_STRING\""
1234 check_error "drawingarea1:rel_line_to 1" \
1235 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1\""
1236 check_error "drawingarea1:rel_line_to 1 20" \
1237 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20\""
1238 check_error "drawingarea1:rel_line_to 1 20 nnn" \
1239 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20 nnn\""
1240 check_error "drawingarea1:rel_line_to 1 20 nnn" \
1241 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20 nnn\""
1242 check_error "drawingarea1:rel_line_to 1 20 20 20" \
1243 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20 20 20\""
1244 check_error "drawingarea1:move_to" \
1245 "ignoring GtkDrawingArea command \"drawingarea1:move_to\""
1246 check_error "drawingarea1:move_to " \
1247 "ignoring GtkDrawingArea command \"drawingarea1:move_to \""
1248 check_error "drawingarea1:move_to nnn" \
1249 "ignoring GtkDrawingArea command \"drawingarea1:move_to nnn\""
1250 check_error "drawingarea1:move_to $BIG_STRING" \
1251 "ignoring GtkDrawingArea command \"drawingarea1:move_to $BIG_STRING\""
1252 check_error "drawingarea1:move_to 1" \
1253 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1\""
1254 check_error "drawingarea1:move_to 1 20" \
1255 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1 20\""
1256 check_error "drawingarea1:move_to 1 20 nnn" \
1257 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1 20 nnn\""
1258 check_error "drawingarea1:move_to 1 20 20 20" \
1259 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1 20 20 20\""
1260 check_error "drawingarea1:rel_move_to" \
1261 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to\""
1262 check_error "drawingarea1:rel_move_to " \
1263 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to \""
1264 check_error "drawingarea1:rel_move_to nnn" \
1265 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to nnn\""
1266 check_error "drawingarea1:rel_move_to $BIG_STRING" \
1267 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to $BIG_STRING\""
1268 check_error "drawingarea1:rel_move_to 1" \
1269 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1\""
1270 check_error "drawingarea1:rel_move_to 1 20" \
1271 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1 20\""
1272 check_error "drawingarea1:rel_move_to 1 20 nnn" \
1273 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1 20 nnn\""
1274 check_error "drawingarea1:rel_move_to 1 20 20 20" \
1275 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1 20 20 20\""
1276 check_error "drawingarea1:close_path" \
1277 "ignoring GtkDrawingArea command \"drawingarea1:close_path\""
1278 check_error "drawingarea1:close_path " \
1279 "ignoring GtkDrawingArea command \"drawingarea1:close_path \""
1280 check_error "drawingarea1:close_path nnn" \
1281 "ignoring GtkDrawingArea command \"drawingarea1:close_path nnn\""
1282 check_error "drawingarea1:close_path $BIG_STRING" \
1283 "ignoring GtkDrawingArea command \"drawingarea1:close_path $BIG_STRING\""
1284 check_error "drawingarea1:close_path 1 1" \
1285 "ignoring GtkDrawingArea command \"drawingarea1:close_path 1 1\""
1286 check_error "drawingarea1:set_source_rgba" \
1287 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba\""
1288 check_error "drawingarea1:set_source_rgba " \
1289 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba \""
1290 check_error "drawingarea1:set_source_rgba nnn" \
1291 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba nnn\""
1292 check_error "drawingarea1:set_source_rgba $BIG_STRING" \
1293 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba $BIG_STRING\""
1294 check_error "drawingarea1:set_dash" \
1295 "ignoring GtkDrawingArea command \"drawingarea1:set_dash\""
1296 check_error "drawingarea1:set_dash " \
1297 "ignoring GtkDrawingArea command \"drawingarea1:set_dash \""
1298 check_error "drawingarea1:set_dash nnn" \
1299 "ignoring GtkDrawingArea command \"drawingarea1:set_dash nnn\""
1300 check_error "drawingarea1:set_dash $BIG_STRING" \
1301 "ignoring GtkDrawingArea command \"drawingarea1:set_dash $BIG_STRING\""
1302 check_error "drawingarea1:set_line_cap" \
1303 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap\""
1304 check_error "drawingarea1:set_line_cap " \
1305 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap \""
1306 check_error "drawingarea1:set_line_cap nnn" \
1307 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap nnn\""
1308 check_error "drawingarea1:set_line_cap $BIG_STRING" \
1309 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap $BIG_STRING\""
1310 check_error "drawingarea1:set_line_cap 1" \
1311 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap 1\""
1312 check_error "drawingarea1:set_line_cap 1 nnn" \
1313 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap 1 nnn\""
1314 check_error "drawingarea1:set_line_cap 1 butt butt" \
1315 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap 1 butt butt\""
1316 check_error "drawingarea1:set_line_join" \
1317 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join\""
1318 check_error "drawingarea1:set_line_join " \
1319 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join \""
1320 check_error "drawingarea1:set_line_join nnn" \
1321 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join nnn\""
1322 check_error "drawingarea1:set_line_join $BIG_STRING" \
1323 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join $BIG_STRING\""
1324 check_error "drawingarea1:set_line_join 1" \
1325 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join 1\""
1326 check_error "drawingarea1:set_line_join 1 nnn" \
1327 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join 1 nnn\""
1328 check_error "drawingarea1:set_line_join 1 miter miter" \
1329 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join 1 miter miter\""
1330 check_error "drawingarea1:set_line_width" \
1331 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width\""
1332 check_error "drawingarea1:set_line_width " \
1333 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width \""
1334 check_error "drawingarea1:set_line_width nnn" \
1335 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width nnn\""
1336 check_error "drawingarea1:set_line_width $BIG_STRING" \
1337 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width $BIG_STRING\""
1338 check_error "drawingarea1:set_line_width 1" \
1339 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width 1\""
1340 check_error "drawingarea1:set_line_width 1 nnn" \
1341 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width 1 nnn\""
1342 check_error "drawingarea1:set_line_width 1 3 3" \
1343 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width 1 3 3\""
1344 check_error "drawingarea1:fill" \
1345 "ignoring GtkDrawingArea command \"drawingarea1:fill\""
1346 check_error "drawingarea1:fill " \
1347 "ignoring GtkDrawingArea command \"drawingarea1:fill \""
1348 check_error "drawingarea1:fill nnn" \
1349 "ignoring GtkDrawingArea command \"drawingarea1:fill nnn\""
1350 check_error "drawingarea1:fill $BIG_STRING" \
1351 "ignoring GtkDrawingArea command \"drawingarea1:fill $BIG_STRING\""
1352 check_error "drawingarea1:fill 1 1" \
1353 "ignoring GtkDrawingArea command \"drawingarea1:fill 1 1\""
1354 check_error "drawingarea1:fill_preserve" \
1355 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve\""
1356 check_error "drawingarea1:fill_preserve " \
1357 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve \""
1358 check_error "drawingarea1:fill_preserve nnn" \
1359 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve nnn\""
1360 check_error "drawingarea1:fill_preserve $BIG_STRING" \
1361 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve $BIG_STRING\""
1362 check_error "drawingarea1:fill_preserve 1 1" \
1363 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve 1 1\""
1364 check_error "drawingarea1:stroke" \
1365 "ignoring GtkDrawingArea command \"drawingarea1:stroke\""
1366 check_error "drawingarea1:stroke " \
1367 "ignoring GtkDrawingArea command \"drawingarea1:stroke \""
1368 check_error "drawingarea1:stroke nnn" \
1369 "ignoring GtkDrawingArea command \"drawingarea1:stroke nnn\""
1370 check_error "drawingarea1:stroke $BIG_STRING" \
1371 "ignoring GtkDrawingArea command \"drawingarea1:stroke $BIG_STRING\""
1372 check_error "drawingarea1:stroke 3 3" \
1373 "ignoring GtkDrawingArea command \"drawingarea1:stroke 3 3\""
1374 check_error "drawingarea1:stroke_preserve" \
1375 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve\""
1376 check_error "drawingarea1:stroke_preserve " \
1377 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve \""
1378 check_error "drawingarea1:stroke_preserve nnn" \
1379 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve nnn\""
1380 check_error "drawingarea1:stroke_preserve $BIG_STRING" \
1381 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve $BIG_STRING\""
1382 check_error "drawingarea1:stroke_preserve 3 3" \
1383 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve 3 3\""
1384 check_error "drawingarea1:remove" \
1385 "ignoring GtkDrawingArea command \"drawingarea1:remove\""
1386 check_error "drawingarea1:remove " \
1387 "ignoring GtkDrawingArea command \"drawingarea1:remove \""
1388 check_error "drawingarea1:remove nnn" \
1389 "ignoring GtkDrawingArea command \"drawingarea1:remove nnn\""
1390 check_error "drawingarea1:remove $BIG_STRING" \
1391 "ignoring GtkDrawingArea command \"drawingarea1:remove $BIG_STRING\""
1392 check_error "drawingarea1:remove 1 1" \
1393 "ignoring GtkDrawingArea command \"drawingarea1:remove 1 1\""
1394 check_error "drawingarea1:set_show_text" \
1395 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text\""
1396 check_error "drawingarea1:set_show_text " \
1397 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text \""
1398 check_error "drawingarea1:set_show_text nnn" \
1399 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text nnn\""
1400 check_error "drawingarea1:set_show_text $BIG_STRING" \
1401 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text $BIG_STRING\""
1402 check_error "drawingarea1:set_font_face" \
1403 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face\""
1404 check_error "drawingarea1:set_font_face " \
1405 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face \""
1406 check_error "drawingarea1:set_font_face nnn" \
1407 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face nnn\""
1408 check_error "drawingarea1:set_font_face $BIG_STRING" \
1409 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face $BIG_STRING\""
1410 check_error "drawingarea1:set_font_face 1" \
1411 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1\""
1412 check_error "drawingarea1:set_font_face 1 normal" \
1413 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal\""
1414 check_error "drawingarea1:set_font_size" \
1415 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size\""
1416 check_error "drawingarea1:set_font_size " \
1417 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size \""
1418 check_error "drawingarea1:set_font_size nnn" \
1419 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size nnn\""
1420 check_error "drawingarea1:set_font_size $BIG_STRING" \
1421 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size $BIG_STRING\""
1422 check_error "drawingarea1:set_font_size 1" \
1423 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size 1\""
1424 check_error "drawingarea1:set_font_size 1 nnn" \
1425 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size 1 nnn\""
1426 check_error "drawingarea1:set_font_size 1 10 10" \
1427 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size 1 10 10\""
1428 check_error "drawingarea1:set_font_face" \
1429 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face\""
1430 check_error "drawingarea1:set_font_face 1" \
1431 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1\""
1432 check_error "drawingarea1:set_font_face 1 normal" \
1433 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal\""
1434 check_error "drawingarea1:set_font_face 1 normal nnn" \
1435 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal nnn\""
1436 check_error "drawingarea1:set_font_face 1 nnn normal" \
1437 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 nnn normal\""
1438 check_error "drawingarea1:set_font_face 1 normal $BIG_STRING" \
1439 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal $BIG_STRING\""
1440 check_error "drawingarea1:set_font_face 1 $BIG_STRING normal" \
1441 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 $BIG_STRING normal\""
1442 check_error "drawingarea1:set_font_face x normal normal" \
1443 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face x normal normal\""
1444 check_error "drawingarea1:rel_move_for" \
1445 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for\""
1446 check_error "drawingarea1:rel_move_for " \
1447 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for \""
1448 check_error "drawingarea1:rel_move_for 1" \
1449 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for 1\""
1450 check_error "drawingarea1:rel_move_for 1 nnn Text" \
1451 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for 1 nnn Text\""
1452 check_error "drawingarea1:rel_move_for 1 $BIG_STRING Text" \
1453 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for 1 $BIG_STRING Text\""
1454 check_error "drawingarea1:rel_move_for nnn c Text" \
1455 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for nnn c Text\""
1456 check_error "drawingarea1:transform" \
1457 "ignoring GtkDrawingArea command \"drawingarea1:transform\""
1458 check_error "drawingarea1:transform " \
1459 "ignoring GtkDrawingArea command \"drawingarea1:transform \""
1460 check_error "drawingarea1:transform nnn" \
1461 "ignoring GtkDrawingArea command \"drawingarea1:transform nnn\""
1462 check_error "drawingarea1:transform $BIG_STRING" \
1463 "ignoring GtkDrawingArea command \"drawingarea1:transform $BIG_STRING\""
1464 check_error "drawingarea1:transform 1 2" \
1465 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2\""
1466 check_error "drawingarea1:transform 1 2 3" \
1467 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3\""
1468 check_error "drawingarea1:transform 1 2 3 4" \
1469 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3 4\""
1470 check_error "drawingarea1:transform 1 2 3 4 5" \
1471 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3 4 5\""
1472 check_error "drawingarea1:transform 1 2 3 4 5 6" \
1473 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3 4 5 6\""
1474 check_error "drawingarea1:transform 1 2 3 x 5 6 7" \
1475 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3 x 5 6 7\""
1476 check_error "drawingarea1:transform 1 2 3 4 5 6 7 8" \
1477 "ignoring GtkDrawingArea command \"drawingarea1:transform 1 2 3 4 5 6 7 8\""
1478 check_error "drawingarea1:translate" \
1479 "ignoring GtkDrawingArea command \"drawingarea1:translate\""
1480 check_error "drawingarea1:translate " \
1481 "ignoring GtkDrawingArea command \"drawingarea1:translate \""
1482 check_error "drawingarea1:translate nnn" \
1483 "ignoring GtkDrawingArea command \"drawingarea1:translate nnn\""
1484 check_error "drawingarea1:translate $BIG_STRING" \
1485 "ignoring GtkDrawingArea command \"drawingarea1:translate $BIG_STRING\""
1486 check_error "drawingarea1:translate 1" \
1487 "ignoring GtkDrawingArea command \"drawingarea1:translate 1\""
1488 check_error "drawingarea1:translate 1 2" \
1489 "ignoring GtkDrawingArea command \"drawingarea1:translate 1 2\""
1490 check_error "drawingarea1:translate nnn 2 3" \
1491 "ignoring GtkDrawingArea command \"drawingarea1:translate nnn 2 3\""
1492 check_error "drawingarea1:translate 1 x 3" \
1493 "ignoring GtkDrawingArea command \"drawingarea1:translate 1 x 3\""
1494 check_error "drawingarea1:translate 1 2 3 4" \
1495 "ignoring GtkDrawingArea command \"drawingarea1:translate 1 2 3 4\""
1496 check_error "drawingarea1:scale" \
1497 "ignoring GtkDrawingArea command \"drawingarea1:scale\""
1498 check_error "drawingarea1:scale " \
1499 "ignoring GtkDrawingArea command \"drawingarea1:scale \""
1500 check_error "drawingarea1:scale nnn" \
1501 "ignoring GtkDrawingArea command \"drawingarea1:scale nnn\""
1502 check_error "drawingarea1:scale $BIG_STRING" \
1503 "ignoring GtkDrawingArea command \"drawingarea1:scale $BIG_STRING\""
1504 check_error "drawingarea1:scale 1" \
1505 "ignoring GtkDrawingArea command \"drawingarea1:scale 1\""
1506 check_error "drawingarea1:scale 1 2" \
1507 "ignoring GtkDrawingArea command \"drawingarea1:scale 1 2\""
1508 check_error "drawingarea1:scale nnn 2 3" \
1509 "ignoring GtkDrawingArea command \"drawingarea1:scale nnn 2 3\""
1510 check_error "drawingarea1:scale 1 x 3" \
1511 "ignoring GtkDrawingArea command \"drawingarea1:scale 1 x 3\""
1512 check_error "drawingarea1:scale 1 2 3 4" \
1513 "ignoring GtkDrawingArea command \"drawingarea1:scale 1 2 3 4\""
1514 check_error "drawingarea1:rotate" \
1515 "ignoring GtkDrawingArea command \"drawingarea1:rotate\""
1516 check_error "drawingarea1:rotate " \
1517 "ignoring GtkDrawingArea command \"drawingarea1:rotate \""
1518 check_error "drawingarea1:rotate 1" \
1519 "ignoring GtkDrawingArea command \"drawingarea1:rotate 1\""
1520 check_error "drawingarea1:rotate nnn 2" \
1521 "ignoring GtkDrawingArea command \"drawingarea1:rotate nnn 2\""
1522 check_error "drawingarea1:rotate $BIG_STRING 2" \
1523 "ignoring GtkDrawingArea command \"drawingarea1:rotate $BIG_STRING 2\""
1524 check_error "drawingarea1:rotate 1 x" \
1525 "ignoring GtkDrawingArea command \"drawingarea1:rotate 1 x\""
1526 check_error "drawingarea1:rotate 1 10 10" \
1527 "ignoring GtkDrawingArea command \"drawingarea1:rotate 1 10 10\""
1528 check_error "drawingarea1:snapshot" \
1529 "ignoring GtkDrawingArea command \"drawingarea1:snapshot\""
1530 check_error "drawingarea1:snapshot " \
1531 "ignoring GtkDrawingArea command \"drawingarea1:snapshot \""
1532 check_error "drawingarea1:snapshot x" \
1533 "ignoring GtkDrawingArea command \"drawingarea1:snapshot x\""
1534 check_error "drawingarea1:snapshot $BIG_STRING" \
1535 "ignoring GtkDrawingArea command \"drawingarea1:snapshot $BIG_STRING\""
1536 check_error "drawingarea1:snapshot x.yz" \
1537 "ignoring GtkDrawingArea command \"drawingarea1:snapshot x.yz\""
1538 check_error "drawingarea1:snapshot x.pdf 2" \
1539 "ignoring GtkDrawingArea command \"drawingarea1:snapshot x.pdf 2\""
1540 check_error "drawingarea1:snapshot xsvg" \
1541 "ignoring GtkDrawingArea command \"drawingarea1:snapshot xsvg\""
1544 echo "-:main_quit" >$FIN
1545 check_rm $FIN
1548 if test $AUTOMATIC; then
1550 ## Logging to stderr
1551 read r 2< $FERR &
1552 ./pipeglade -i $FIN 2> $FERR -l - &
1553 # wait for $FIN to appear
1554 while test ! \( -e $FIN -a -e $FERR \); do :; done
1556 check_error "# Comment" \
1557 "########## ##### (New Pipeglade session) #####"
1558 check_error "" \
1559 "### (Idle) ###"
1560 check_error "-:main_quit" \
1561 " # Comment"
1562 check_rm $FIN
1563 rm $FERR
1567 #exit
1569 echo "
1570 # BATCH THREE
1572 # Tests for the principal functionality---valid actions leading to
1573 # correct results. Manual intervention is required. Instructions
1574 # will be given on the statusbar of the test GUI.
1575 ######################################################################
1578 mkfifo $FOUT
1580 # check nr_of_feedback_msgs user_instruction command expected_feedback1 expected_feedback2 ...
1581 check() {
1582 while test ! \( -e $FOUT \); do :; done
1583 # Flush stale pipeglade output
1584 while read -t .1 <$FOUT; do : ; done
1585 N=$1
1586 INSTRUCTION="$2"
1587 echo "$SEND ${3:0:300}"
1588 if test "$INSTRUCTION"; then
1589 echo -e "statusbar1:push_id =check= $INSTRUCTION" >$FIN
1591 while test ! \( -e $FIN \); do :; done
1592 echo -e "$3" >$FIN
1594 while (( i<$N )); do
1595 read r <$FOUT
1596 if test "$r" != ""; then
1597 if grep -qFe "${4:0:300}" <<< ${r:0:300}; then
1598 count_ok
1599 echo " $OK ($i) ${r:0:300}"
1600 else
1601 count_fail
1602 echo " $FAIL($i) ${r:0:300}"
1603 echo " $EXPECTED ${4:0:300}"
1605 shift
1606 (( i+=1 ))
1608 done
1609 if test "$INSTRUCTION"; then
1610 echo -e "statusbar1:pop_id =check=" >$FIN
1615 if test $AUTOMATIC; then
1617 # Being impervious to locale
1618 LC_ALL=de_DE.UTF-8 ./pipeglade -i $FIN -o $FOUT -O $ERR_FILE -b >/dev/null
1619 check 0 "" \
1620 "drawingarea1:transform 1 1.5 1 1 1 1 1"
1621 check 0 "" \
1622 "progressbar1:set_fraction .5"
1623 check 1 "" \
1624 "scale1:set_value .5" \
1625 "scale1:value 0.50"
1626 sleep .5
1627 check 0 "" \
1628 "_:main_quit"
1629 sleep .5
1630 check_cmd "(! grep -qe \"ignoring GtkDrawingArea command\" $ERR_FILE)"
1631 check_cmd "(! grep -qe \"ignoring GtkProgressBar command\" $ERR_FILE)"
1632 check_cmd "(! grep -qe \"ignoring GtkScale command\" $ERR_FILE)"
1633 check_rm $FIN
1634 check_rm $FOUT
1635 rm $ERR_FILE
1637 # Logging to stderr while redirecting stderr
1638 ./pipeglade -i $FIN -o $FOUT -O $ERR_FILE -l - -b >/dev/null
1639 check 0 "" \
1640 "# Comment"
1641 check 0 "" \
1642 "BlahBlah"
1643 check 0 "" \
1644 "_:main_quit"
1646 check_cmd "grep -qe \"# Comment\" $ERR_FILE"
1647 check_cmd "grep -qe \"ignoring command\" $ERR_FILE"
1648 check_rm $FIN
1651 # check if stdout remains line buffered even if directed to file
1652 ./pipeglade -i $FIN >$OUT_FILE &
1653 # wait for $FIN and $OUT_FILE to appear
1654 while test ! \( -e $FIN -a -e $OUT_FILE \); do :; done
1655 echo "button1:force" >$FIN
1656 check_cmd "grep -qe 'button1:clicked' $OUT_FILE"
1657 echo "_:main_quit" >$FIN
1658 check_rm $FIN
1659 rm -f $OUT_FILE
1662 ./pipeglade -i $FIN -o $FOUT -b >$PID_FILE
1663 check_cmd "kill `cat $PID_FILE` 2&>/dev/null"
1664 rm $FIN $FOUT
1667 ./pipeglade --display ${DISPLAY-:0} -i $FIN -o $FOUT -b >/dev/null
1668 check 0 "" \
1669 "# checking --display $DISPLAY"
1670 check 0 "" \
1671 "_:main_quit"
1672 check_rm $FIN
1673 check_rm $FOUT
1676 ./pipeglade -u simple_dialog.ui -i $FIN -o $FOUT -b >$PID_FILE
1677 check_cmd "ps -p `cat $PID_FILE` >/dev/null"
1678 check 1 "" \
1679 "main_apply:force" \
1680 "main_apply:clicked"
1681 check 0 "" \
1682 "main_cancel:force"
1683 check_rm $FIN
1684 check_rm $FOUT
1685 check_cmd "! ps -p `cat $PID_FILE` >/dev/null"
1686 rm $PID_FILE
1689 ./pipeglade -u simple_dialog.ui -i $FIN -o $FOUT -b >/dev/null
1690 check 1 "" \
1691 "button1:force" \
1692 "button1:clicked"
1693 check 1 "" \
1694 "main_ok:force" \
1695 "main_ok:clicked"
1696 check_rm $FIN
1697 check_rm $FOUT
1700 ./pipeglade -u simple_open.ui -i $FIN -o $FOUT >/dev/null &
1701 # wait for $FIN and $OUT_FILE to appear
1702 while test ! \( -e $FIN -a -e $FOUT \); do :; done
1703 check 3 "" \
1704 "main_apply:force" \
1705 "main_apply:clicked" \
1706 "main:file" \
1707 "main:folder"
1708 check 0 "" \
1709 "main_cancel:force"
1710 check_rm $FIN
1711 check_rm $FOUT
1714 ./pipeglade -u simple_open.ui -i $FIN -o $FOUT >/dev/null &
1715 # wait for $FIN and $OUT_FILE to appear
1716 while test ! \( -e $FIN -a -e $FOUT \); do :; done
1717 check 2 "" \
1718 "main_ok:force" \
1719 "main_ok:clicked" \
1720 "main:file"
1721 check_rm $FIN
1722 check_rm $FOUT
1725 mkfifo -m 777 $FIN
1726 mkfifo -m 777 $FOUT
1727 touch $ERR_FILE $LOG
1728 chmod 777 $ERR_FILE $LOG
1729 ./pipeglade -i $FIN -o $FOUT -O $ERR_FILE -l $LOG -b >/dev/null
1730 check_cmd "$STAT_CMD $FIN | grep -q '600$' 2>/dev/null"
1731 check_cmd "$STAT_CMD $FOUT | grep -q '600$' 2>/dev/null"
1732 check_cmd "$STAT_CMD $ERR_FILE | grep -q '600$' 2>/dev/null"
1733 check_cmd "$STAT_CMD $LOG | grep -q '600$' 2>/dev/null"
1734 echo -e "_:main_quit" > $FIN
1735 check_rm $FIN
1736 check_rm $FOUT
1737 rm -f $ERR_FILE $LOG
1740 ./pipeglade -i $FIN -o $FOUT -O $ERR_FILE -l $LOG -b >/dev/null
1741 check_cmd "$STAT_CMD $FIN | grep -q '600$' 2>/dev/null"
1742 check_cmd "$STAT_CMD $FOUT | grep -q '600$' 2>/dev/null"
1743 check_cmd "$STAT_CMD $ERR_FILE | grep -q '600$' 2>/dev/null"
1744 check_cmd "$STAT_CMD $LOG | grep -q '600$' 2>/dev/null"
1745 echo -e "_:main_quit" > $FIN
1746 check_rm $FIN
1747 check_rm $FOUT
1748 rm -f $ERR_FILE $LOG
1750 ./pipeglade -u clock.ui -i $FIN -o $FOUT -b
1751 check 0 "" \
1752 "main:resize 500 600\n main:move 100 100"
1753 check_cmd 'test $(xdotool search --name pipeglade-clock getwindowgeometry --shell | grep -c -e "X=...$" -e "Y=...$" -e "WIDTH=500" -e "HEIGHT=600") -eq 4'
1754 check 0 "" \
1755 "main:resize\n main:move 0 0"
1756 check_cmd 'test $(xdotool search --name pipeglade-clock getwindowgeometry --shell | grep -c -e "X=.$" -e "Y=.$" -e "WIDTH=440" -e "HEIGHT=440") -eq 4'
1757 check 0 "" \
1758 "main:fullscreen"
1759 check_cmd 'test $(xdotool search --name pipeglade-clock getwindowgeometry --shell | grep -c -e "WIDTH=..." -e "HEIGHT=...") -eq 2'
1760 check 0 "" \
1761 "main:unfullscreen"
1762 check_cmd 'test $(xdotool search --name pipeglade-clock getwindowgeometry --shell | grep -c -e "WIDTH=440" -e "HEIGHT=440") -eq 2'
1763 check 0 "" \
1764 "main:set_title Another Title!"
1765 check_cmd 'xdotool search --name "Another Title!" getwindowname | grep -qe "Another Title!"'
1766 check 0 "" \
1767 "_:main_quit"
1771 echo "#### # Initial line to check if -l option appends" >$LOG
1772 LC_NUMERIC=de_DE.UTF-8 ./pipeglade -i $FIN -o $FOUT -l $LOG -b >/dev/null
1775 if test $AUTOMATIC; then
1777 check 0 "" \
1778 "socket1:id"
1779 read XID <$FOUT
1780 XID=${XID/socket1:id }
1781 (sleep 1; ./pipeglade -u simple_dialog.ui -e $XID <<< "main_cancel:force") >/dev/null &
1782 check 2 "" \
1783 "" \
1784 "socket1:plug-added" \
1785 "socket1:plug-removed"
1786 (sleep 1; ./pipeglade -u simple_dialog.ui -e $XID <<< "main_cancel:force") >/dev/null &
1787 check 2 "" \
1788 "" \
1789 "socket1:plug-added" \
1790 "socket1:plug-removed"
1791 check 2 "" \
1792 "socket1:ping\n socket1:ping foo bar" \
1793 "socket1:ping" \
1794 "socket1:ping foo bar"
1796 check 1 "" \
1797 "entry1:set_text FFFF" \
1798 "entry1:text FFFF"
1799 check 1 "" \
1800 "entry1:block 1\n entry1:set_text XXXXX\n entry1:block 0\n entry1:set_text EEEE" \
1801 "entry1:text EEEE"
1802 check 1 "" \
1803 "entry1:set_text $BIG_STRING" \
1804 "entry1:text $BIG_STRING"
1805 check 1 "" \
1806 "entry1:set_text" \
1807 "entry1:text"
1808 check 1 "" \
1809 "entry1:set_text FFFF" \
1810 "entry1:text FFFF"
1811 check 1 "" \
1812 "entry1:set_text " \
1813 "entry1:text"
1814 check 0 "" \
1815 "entry1:set_placeholder_text hint hint" # not much of a test
1816 check 1 "" \
1817 "entry1:set_text FFFF" \
1818 "entry1:text FFFF"
1819 check 1 "" \
1820 "entry1:set_text GGGG" \
1821 "entry1:text GGGG"
1822 check 1 "" \
1823 "entry1:force" \
1824 "entry1:text GGGG"
1825 check 2 "" \
1826 "entry1:ping\n entry1:ping foo bar" \
1827 "entry1:ping" \
1828 "entry1:ping foo bar"
1829 check 1 "" \
1830 "spinbutton1:block 1\n spinbutton1:set_text 29.0\n spinbutton1:block 0\n spinbutton1:set_text 28.0\n" \
1831 "spinbutton1:text 28.0"
1832 check 2 "" \
1833 "spinbutton1:set_text 33.0\n spinbutton1:set_range 50 60\n" \
1834 "spinbutton1:text 33.0" \
1835 "spinbutton1:text 50.0"
1836 check 2 "" \
1837 "spinbutton1:ping\n spinbutton1:ping foo bar" \
1838 "spinbutton1:ping" \
1839 "spinbutton1:ping foo bar"
1840 check 1 "" \
1841 "radiobutton2:block 1\n radiobutton2:set_active 1\n radiobutton2:block 0" \
1842 "radiobutton1:0"
1843 check 2 "" \
1844 "radiobutton1:set_active 1" \
1845 "radiobutton2:0" \
1846 "radiobutton1:1"
1847 check 2 "" \
1848 "radiobutton1:ping\n radiobutton1:ping foo bar" \
1849 "radiobutton1:ping" \
1850 "radiobutton1:ping foo bar"
1851 check 1 "" \
1852 "switch1:set_active 1\n switch1:block 1\n switch1:set_active 0" \
1853 "switch1:1"
1854 check 1 "" \
1855 "switch1:set_active 1\n switch1:block 0\n switch1:set_active 0" \
1856 "switch1:0"
1857 check 2 "" \
1858 "switch1:ping\n switch1:ping foo bar" \
1859 "switch1:ping" \
1860 "switch1:ping foo bar"
1861 # Although this should be handled gracefully, it mangles the UI too much
1862 # check 0 "" \
1863 # "progressbar1:set_text $BIG_STRING"
1864 check 0 "" \
1865 "progressbar1:set_text This Is A Progressbar."
1866 check 2 "" \
1867 "progressbar1:ping\n progressbar1:ping foo bar" \
1868 "progressbar1:ping" \
1869 "progressbar1:ping foo bar"
1870 check 2 "" \
1871 "main:ping\n main:ping foo bar" \
1872 "main:ping" \
1873 "main:ping foo bar"
1874 check 2 "" \
1875 "label1:ping\n label1:ping foo bar" \
1876 "label1:ping" \
1877 "label1:ping foo bar"
1878 check 2 "" \
1879 "button1:ping\n button1:ping foo bar" \
1880 "button1:ping" \
1881 "button1:ping foo bar"
1882 check 0 "" \
1883 "window1:set_visible 1"
1884 check 2 "" \
1885 "linkbutton1:force\n linkbutton1:block 1\n linkbutton1:force\n button1:force\n linkbutton1:block 0" \
1886 "linkbutton1:clicked" \
1887 "button1:clicked" \
1888 "linkbutton1:clicked"
1889 check 2 "" \
1890 "linkbutton1:ping\n linkbutton1:ping foo bar" \
1891 "linkbutton1:ping" \
1892 "linkbutton1:ping foo bar"
1893 check 0 "" \
1894 "window1:set_visible 0"
1898 check 1 "" \
1899 "togglebutton1:set_active 1" \
1900 "togglebutton1:1"
1901 check 1 "" \
1902 "togglebutton1:block 1\n togglebutton1:set_active 0\n togglebutton1:block 0\n togglebutton1:set_active 1" \
1903 "togglebutton1:1"
1904 check 2 "" \
1905 "togglebutton1:ping\n togglebutton1:ping foo bar" \
1906 "togglebutton1:ping" \
1907 "togglebutton1:ping foo bar"
1908 check 1 "" \
1909 "calendar1:block 1\n calendar1:select_date 1752-05-17\n calendar1:block 0\n calendar1:select_date 1752-05-18" \
1910 "calendar1:clicked 1752-05-18"
1911 check 1 "" \
1912 "calendar1:select_date 1752-03-29" \
1913 "calendar1:clicked 1752-03-29"
1914 check 2 "" \
1915 "calendar1:ping\n calendar1:ping foo bar" \
1916 "calendar1:ping" \
1917 "calendar1:ping foo bar"
1919 if test $INTERACTIVE; then
1920 check 1 "Open what should now be named \"EXPANDER\" and click the \"button inside expander\"" \
1921 "expander1:set_expanded 0\n expander1:set_label EXPANDER" \
1922 "button6:clicked"
1923 check 0 "" \
1924 "expander1:set_expanded 0"
1926 check 2 "" \
1927 "expander1:ping\n expander1:ping foo bar" \
1928 "expander1:ping" \
1929 "expander1:ping foo bar"
1931 check 24 "" \
1932 "treeview1:set_cursor 1\n treeview1:block 1\n treeview1:set_cursor 1\n treeview1:block 0\n treeview1:set_cursor 1" \
1933 "treeview1:clicked" \
1934 "treeview1:gboolean 1 0 1" \
1935 "treeview1:gint 1 1 1" \
1936 "treeview1:guint 1 2 0" \
1937 "treeview1:glong 1 3 0" \
1938 "treeview1:glong 1 4 0" \
1939 "treeview1:glong 1 5 0" \
1940 "treeview1:gulong 1 6 0" \
1941 "treeview1:gfloat 1 7 0.000000" \
1942 "treeview1:gdouble 1 8 0.000000" \
1943 "treeview1:gchararray 1 9 def" \
1944 "treeview1:gchararray 1 10 blue" \
1945 "treeview1:clicked" \
1946 "treeview1:gboolean 1 0 1" \
1947 "treeview1:gint 1 1 1" \
1948 "treeview1:guint 1 2 0" \
1949 "treeview1:glong 1 3 0" \
1950 "treeview1:glong 1 4 0" \
1951 "treeview1:glong 1 5 0" \
1952 "treeview1:gulong 1 6 0" \
1953 "treeview1:gfloat 1 7 0.000000" \
1954 "treeview1:gdouble 1 8 0.000000" \
1955 "treeview1:gchararray 1 9 def" \
1956 "treeview1:gchararray 1 10 blue"
1958 check 12 "" \
1959 "treeview2:set_visible 0\n treeview1:set 2 0 1\n treeview1:set 2 1 -30000\n treeview1:set 2 2 66\n treeview1:set 2 3 -2000000000\n treeview1:set 2 4 4000000000\n treeview1:set 2 5 -2000000000\n treeview1:set 2 6 4000000000\n treeview1:set 2 7 3.141\n treeview1:set 2 8 3.141\n treeview1:set 2 9 TEXT\n treeview1:set_cursor 2" \
1960 "treeview1:clicked" \
1961 "treeview1:gboolean 2 0 1" \
1962 "treeview1:gint 2 1 -30000" \
1963 "treeview1:guint 2 2 66" \
1964 "treeview1:glong 2 3 -2000000000" \
1965 "treeview1:glong 2 4 4000000000" \
1966 "treeview1:glong 2 5 -2000000000" \
1967 "treeview1:gulong 2 6 4000000000" \
1968 "treeview1:gfloat 2 7 3.141000" \
1969 "treeview1:gdouble 2 8 3.141000" \
1970 "treeview1:gchararray 2 9 TEXT" \
1971 "treeview1:gchararray 2 10 cyan"
1972 mkdir -p $DIR
1973 check 0 "" \
1974 "treeview1:save $DIR/$FILE1"
1975 check 0 "" \
1976 "treeview1:save $DIR/$FILE1.bak"
1977 check 1 "" \
1978 "treeview1:set_cursor" \
1979 "treeview1:clicked"
1980 check 12 "" \
1981 "treeview1:insert_row 0\n treeview1:insert_row 2\n treeview1:set_cursor 4" \
1982 "treeview1:clicked" \
1983 "treeview1:gboolean 4 0 1" \
1984 "treeview1:gint 4 1 -30000" \
1985 "treeview1:guint 4 2 66" \
1986 "treeview1:glong 4 3 -2000000000" \
1987 "treeview1:glong 4 4 4000000000" \
1988 "treeview1:glong 4 5 -2000000000" \
1989 "treeview1:gulong 4 6 4000000000" \
1990 "treeview1:gfloat 4 7 3.141000" \
1991 "treeview1:gdouble 4 8 3.141000" \
1992 "treeview1:gchararray 4 9 TEXT" \
1993 "treeview1:gchararray 4 10 cyan"
1994 check 1 "" \
1995 "treeview1:set_cursor" \
1996 "treeview1:clicked"
1997 check 12 "" \
1998 "treeview1:move_row 4 0\n treeview1:set_cursor 0" \
1999 "treeview1:clicked" \
2000 "treeview1:gboolean 0 0 1" \
2001 "treeview1:gint 0 1 -30000" \
2002 "treeview1:guint 0 2 66" \
2003 "treeview1:glong 0 3 -2000000000" \
2004 "treeview1:glong 0 4 4000000000" \
2005 "treeview1:glong 0 5 -2000000000" \
2006 "treeview1:gulong 0 6 4000000000" \
2007 "treeview1:gfloat 0 7 3.141000" \
2008 "treeview1:gdouble 0 8 3.141000" \
2009 "treeview1:gchararray 0 9 TEXT" \
2010 "treeview1:gchararray 0 10 cyan"
2011 check 1 "" \
2012 "treeview1:set_cursor" \
2013 "treeview1:clicked"
2014 check 12 "" \
2015 "treeview1:move_row 0 2\n treeview1:set_cursor 1" \
2016 "treeview1:clicked" \
2017 "treeview1:gboolean 1 0 1" \
2018 "treeview1:gint 1 1 -30000" \
2019 "treeview1:guint 1 2 66" \
2020 "treeview1:glong 1 3 -2000000000" \
2021 "treeview1:glong 1 4 4000000000" \
2022 "treeview1:glong 1 5 -2000000000" \
2023 "treeview1:gulong 1 6 4000000000" \
2024 "treeview1:gfloat 1 7 3.141000" \
2025 "treeview1:gdouble 1 8 3.141000" \
2026 "treeview1:gchararray 1 9 TEXT" \
2027 "treeview1:gchararray 1 10 cyan"
2028 check 1 "" \
2029 "treeview1:set_cursor" \
2030 "treeview1:clicked"
2031 check 12 "" \
2032 "treeview1:insert_row end\n treeview1:move_row 1 end\n treeview1:set_cursor 6" \
2033 "treeview1:clicked" \
2034 "treeview1:gboolean 6 0 1" \
2035 "treeview1:gint 6 1 -30000" \
2036 "treeview1:guint 6 2 66" \
2037 "treeview1:glong 6 3 -2000000000" \
2038 "treeview1:glong 6 4 4000000000" \
2039 "treeview1:glong 6 5 -2000000000" \
2040 "treeview1:gulong 6 6 4000000000" \
2041 "treeview1:gfloat 6 7 3.141000" \
2042 "treeview1:gdouble 6 8 3.141000" \
2043 "treeview1:gchararray 6 9 TEXT" \
2044 "treeview1:gchararray 6 10 cyan"
2045 check 1 "" \
2046 "treeview1:set_cursor" \
2047 "treeview1:clicked"
2048 check 12 "" \
2049 "treeview1:remove_row 0\n treeview1:remove_row 2\n treeview1:set_cursor 4" \
2050 "treeview1:clicked" \
2051 "treeview1:gboolean 4 0 1" \
2052 "treeview1:gint 4 1 -30000" \
2053 "treeview1:guint 4 2 66" \
2054 "treeview1:glong 4 3 -2000000000" \
2055 "treeview1:glong 4 4 4000000000" \
2056 "treeview1:glong 4 5 -2000000000" \
2057 "treeview1:gulong 4 6 4000000000" \
2058 "treeview1:gfloat 4 7 3.141000" \
2059 "treeview1:gdouble 4 8 3.141000" \
2060 "treeview1:gchararray 4 9 TEXT" \
2061 "treeview1:gchararray 4 10 cyan"
2062 check 1 "" \
2063 "treeview1:set_cursor" \
2064 "treeview1:clicked"
2065 check 12 "" \
2066 "treeview1:move_row 0 end\n treeview1:set_cursor 3" \
2067 "treeview1:clicked" \
2068 "treeview1:gboolean 3 0 1" \
2069 "treeview1:gint 3 1 -30000" \
2070 "treeview1:guint 3 2 66" \
2071 "treeview1:glong 3 3 -2000000000" \
2072 "treeview1:glong 3 4 4000000000" \
2073 "treeview1:glong 3 5 -2000000000" \
2074 "treeview1:gulong 3 6 4000000000" \
2075 "treeview1:gfloat 3 7 3.141000" \
2076 "treeview1:gdouble 3 8 3.141000" \
2077 "treeview1:gchararray 3 9 TEXT" \
2078 "treeview1:gchararray 3 10 cyan"
2079 check 24 "" \
2080 "treeview1:remove_row 3" \
2081 "treeview1:clicked" \
2082 "treeview1:gboolean 3 0 0" \
2083 "treeview1:gint 3 1 0" \
2084 "treeview1:guint 3 2 0" \
2085 "treeview1:glong 3 3 0" \
2086 "treeview1:glong 3 4 0" \
2087 "treeview1:glong 3 5 0" \
2088 "treeview1:gulong 3 6 0" \
2089 "treeview1:gfloat 3 7 0.000000" \
2090 "treeview1:gdouble 3 8 0.000000" \
2091 "treeview1:gchararray 3 9 abc" \
2092 "treeview1:gchararray 3 10 magenta" \
2093 "treeview1:clicked" \
2094 "treeview1:gboolean 3 0 0" \
2095 "treeview1:gint 3 1 0" \
2096 "treeview1:guint 3 2 0" \
2097 "treeview1:glong 3 3 0" \
2098 "treeview1:glong 3 4 0" \
2099 "treeview1:glong 3 5 0" \
2100 "treeview1:gulong 3 6 0" \
2101 "treeview1:gfloat 3 7 0.000000" \
2102 "treeview1:gdouble 3 8 0.000000" \
2103 "treeview1:gchararray 3 9 abc" \
2104 "treeview1:gchararray 3 10 magenta"
2106 if test $INTERACTIVE; then
2107 check 1 "Click column col4 in the lowest line visible in the scrolled area and type 444 <Enter> (scroll)" \
2108 "treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:scroll 24 0" \
2109 "treeview1:gint 24 1 444"
2110 check 12 "Click column col3 in the highest line visible in the scrolled area (scroll)" \
2111 "treeview1:scroll 1 0" \
2112 "treeview1:clicked" \
2113 "treeview1:gboolean 1 0 1" \
2114 "treeview1:gint 1 1 3" \
2115 "treeview1:guint 1 2 0" \
2116 "treeview1:glong 1 3 0" \
2117 "treeview1:glong 1 4 0" \
2118 "treeview1:glong 1 5 0" \
2119 "treeview1:gulong 1 6 0" \
2120 "treeview1:gfloat 1 7 0.000000" \
2121 "treeview1:gdouble 1 8 0.000000" \
2122 "treeview1:gchararray 1 9 jkl" \
2123 "treeview1:gchararray 1 10 green"
2125 check 1 "Click the header of column \"col3\"" \
2126 "" \
2127 "treeviewcolumn3:clicked"
2130 check 2 "" \
2131 "treeview1:clear\n button1:force" \
2132 "treeview1:clicked" \
2133 "button1:clicked"
2134 check 2 "" \
2135 "treeview1:ping\n treeview1:ping foo bar" \
2136 "treeview1:ping" \
2137 "treeview1:ping foo bar"
2139 check 12 "" \
2140 "treeview2:set_visible 1\n treeview2:insert_row end\n treeview2:insert_row 0 as_child\n treeview2:insert_row 0:0 as_child\n treeview2:insert_row 0:0\n treeview2:set 100:1:0 0 1\n treeview2:set 100:1:0 1 -30000\n treeview2:set 100:1:0 2 33\n treeview2:set 100:1:0 3 -2000000000\n treeview2:set 100:1:0 4 4000000000\n treeview2:set 100:1:0 5 -2000000000\n treeview2:set 100:1:0 6 4000000000\n treeview2:set 100:1:0 7 3.141\n treeview2:set 100:1:0 8 3.141\n treeview2:set 100:1:0 9 TEXT\n treeview2:expand_all\n treeview2:set_cursor 100:1:0" \
2141 "treeview2:clicked" \
2142 "treeview2:gboolean 100:1:0 0 1" \
2143 "treeview2:gint 100:1:0 1 -30000" \
2144 "treeview2:guint 100:1:0 2 33" \
2145 "treeview2:glong 100:1:0 3 -2000000000" \
2146 "treeview2:glong 100:1:0 4 4000000000" \
2147 "treeview2:glong 100:1:0 5 -2000000000" \
2148 "treeview2:gulong 100:1:0 6 4000000000" \
2149 "treeview2:gfloat 100:1:0 7 3.141000" \
2150 "treeview2:gdouble 100:1:0 8 3.141000" \
2151 "treeview2:gchararray 100:1:0 9 TEXT" \
2152 "treeview2:gchararray 100:1:0 10"
2153 check 1 "" \
2154 "treeview2:set_cursor" \
2155 "treeview2:clicked"
2156 check 12 "" \
2157 "treeview2:insert_row 0\n treeview2:insert_row 0\n treeview2:set 102:1 3 876543210\n treeview2:set 102 3 448822\n treeview2:collapse\n treeview2:set_cursor 102" \
2158 "treeview2:clicked" \
2159 "treeview2:gboolean 102 0 0" \
2160 "treeview2:gint 102 1 0" \
2161 "treeview2:guint 102 2 0" \
2162 "treeview2:glong 102 3 448822" \
2163 "treeview2:glong 102 4 0" \
2164 "treeview2:glong 102 5 0" \
2165 "treeview2:gulong 102 6 0" \
2166 "treeview2:gfloat 102 7 0.000000" \
2167 "treeview2:gdouble 102 8 0.000000" \
2168 "treeview2:gchararray 102 9" \
2169 "treeview2:gchararray 102 10"
2170 check 1 "" \
2171 "treeview2:set_cursor" \
2172 "treeview2:clicked"
2173 check 0 "" \
2174 "treeview2:save $DIR/$FILE2"
2175 check 0 "" \
2176 "treeview2:save $DIR/$FILE2.bak"
2177 check 12 "" \
2178 "treeview2:insert_row 0\n treeview2:collapse\n treeview2:set_cursor 103" \
2179 "treeview2:clicked" \
2180 "treeview2:gboolean 103 0 0" \
2181 "treeview2:gint 103 1 0" \
2182 "treeview2:guint 103 2 0" \
2183 "treeview2:glong 103 3 448822" \
2184 "treeview2:glong 103 4 0" \
2185 "treeview2:glong 103 5 0" \
2186 "treeview2:gulong 103 6 0" \
2187 "treeview2:gfloat 103 7 0.000000" \
2188 "treeview2:gdouble 103 8 0.000000" \
2189 "treeview2:gchararray 103 9" \
2190 "treeview2:gchararray 103 10"
2191 check 1 "" \
2192 "treeview2:set_cursor" \
2193 "treeview2:clicked"
2195 if test $INTERACTIVE; then
2196 check 12 "Click the lowest line visible in the scrolled area (1)" \
2197 "treeview2:expand_all 103\n treeview2:scroll 103:1:0 0" \
2198 "treeview2:clicked" \
2199 "treeview2:gboolean 103:1:0 0 1" \
2200 "treeview2:gint 103:1:0 1 -30000" \
2201 "treeview2:guint 103:1:0 2 33" \
2202 "treeview2:glong 103:1:0 3 -2000000000" \
2203 "treeview2:glong 103:1:0 4 4000000000" \
2204 "treeview2:glong 103:1:0 5 -2000000000" \
2205 "treeview2:gulong 103:1:0 6 4000000000" \
2206 "treeview2:gfloat 103:1:0 7 3.141000" \
2207 "treeview2:gdouble 103:1:0 8 3.141000" \
2208 "treeview2:gchararray 103:1:0 9 TEXT" \
2209 "treeview2:gchararray 103:1:0 10"
2210 check 1 "" \
2211 "treeview2:set_cursor" \
2212 "treeview2:clicked"
2213 check 12 "Click the lowest visible line (2)" \
2214 "treeview2:collapse\n treeview2:expand 103\n treeview2:scroll 103:1 0" \
2215 "treeview2:clicked" \
2216 "treeview2:gboolean 103:1 0 0" \
2217 "treeview2:gint 103:1 1 0" \
2218 "treeview2:guint 103:1 2 0" \
2219 "treeview2:glong 103:1 3 876543210" \
2220 "treeview2:glong 103:1 4 0" \
2221 "treeview2:glong 103:1 5 0" \
2222 "treeview2:gulong 103:1 6 0" \
2223 "treeview2:gfloat 103:1 7 0.000000" \
2224 "treeview2:gdouble 103:1 8 0.000000" \
2225 "treeview2:gchararray 103:1 9" \
2226 "treeview2:gchararray 103:1 10"
2227 check 1 "" \
2228 "treeview2:set_cursor" \
2229 "treeview2:clicked"
2230 check 12 "Click the lowest visible line (3)" \
2231 "treeview2:collapse\n treeview2:expand_all\n treeview2:scroll 103:1:0 0" \
2232 "treeview2:clicked" \
2233 "treeview2:gboolean 103:1:0 0 1" \
2234 "treeview2:gint 103:1:0 1 -30000" \
2235 "treeview2:guint 103:1:0 2 33" \
2236 "treeview2:glong 103:1:0 3 -2000000000" \
2237 "treeview2:glong 103:1:0 4 4000000000" \
2238 "treeview2:glong 103:1:0 5 -2000000000" \
2239 "treeview2:gulong 103:1:0 6 4000000000" \
2240 "treeview2:gfloat 103:1:0 7 3.141000" \
2241 "treeview2:gdouble 103:1:0 8 3.141000" \
2242 "treeview2:gchararray 103:1:0 9 TEXT" \
2243 "treeview2:gchararray 103:1:0 10"
2244 check 1 "" \
2245 "treeview2:set_cursor" \
2246 "treeview2:clicked"
2247 check 12 "Click the lowest visible line (4)" \
2248 "treeview2:expand_all\n treeview2:collapse 103:1\n treeview2:scroll 103:1 0" \
2249 "treeview2:clicked" \
2250 "treeview2:gboolean 103:1 0 0" \
2251 "treeview2:gint 103:1 1 0" \
2252 "treeview2:guint 103:1 2 0" \
2253 "treeview2:glong 103:1 3 876543210" \
2254 "treeview2:glong 103:1 4 0" \
2255 "treeview2:glong 103:1 5 0" \
2256 "treeview2:gulong 103:1 6 0" \
2257 "treeview2:gfloat 103:1 7 0.000000" \
2258 "treeview2:gdouble 103:1 8 0.000000" \
2259 "treeview2:gchararray 103:1 9" \
2260 "treeview2:gchararray 103:1 10"
2261 check 1 "" \
2262 "treeview2:set_cursor" \
2263 "treeview2:clicked"
2265 check 1 "Click the header of column \"col23\"" \
2266 "" \
2267 "treeviewcolumn23:clicked"
2271 if test $AUTOMATIC; then
2273 check 12 "" \
2274 "treeview1:clear\n treeview1:set 1 9 $BIG_STRING\n treeview1:set_cursor 1" \
2275 "treeview1:clicked" \
2276 "treeview1:gboolean 1 0 0" \
2277 "treeview1:gint 1 1 0" \
2278 "treeview1:guint 1 2 0" \
2279 "treeview1:glong 1 3 0" \
2280 "treeview1:glong 1 4 0" \
2281 "treeview1:glong 1 5 0" \
2282 "treeview1:gulong 1 6 0" \
2283 "treeview1:gfloat 1 7 0.000000" \
2284 "treeview1:gdouble 1 8 0.000000" \
2285 "treeview1:gchararray 1 9 $BIG_STRING" \
2286 "treeview1:gchararray 1 10"
2287 check 12 "" \
2288 "treeview1:clear\n treeview1:set 1 9 ABC\\\\nDEF\\\\nGHI\n treeview1:set_cursor 1" \
2289 "treeview1:clicked" \
2290 "treeview1:clicked" \
2291 "treeview1:gboolean 1 0 0" \
2292 "treeview1:gint 1 1 0" \
2293 "treeview1:guint 1 2 0" \
2294 "treeview1:glong 1 3 0" \
2295 "treeview1:glong 1 4 0" \
2296 "treeview1:glong 1 5 0" \
2297 "treeview1:gulong 1 6 0" \
2298 "treeview1:gfloat 1 7 0.000000" \
2299 "treeview1:gdouble 1 8 0.000000" \
2300 "treeview1:gchararray 1 9 ABCnDEFnGHI" \
2301 "treeview1:gchararray 1 10"
2302 check 0 "" \
2303 "treeview1:clear\n treeview2:clear"
2304 check 0 "" \
2305 "_:load $DIR/$FILE1"
2306 rm -f $DIR/$FILE1
2307 sleep .5
2308 check 1 "" \
2309 "treeview1:save $DIR/$FILE1\n button1:force" \
2310 "button1:clicked"
2311 check_cmd "cmp $DIR/$FILE1 $DIR/$FILE1.bak"
2312 check 0 "" \
2313 "treeview1:clear\n treeview2:clear"
2314 check 0 "" \
2315 "_:load $DIR/$FILE2"
2316 sleep .5
2317 rm -f $DIR/$FILE2
2318 sleep .5
2319 check 1 "" \
2320 "treeview2:save $DIR/$FILE2\n button1:force" \
2321 "button1:clicked"
2322 check_cmd "cmp $DIR/$FILE2 $DIR/$FILE2.bak"
2323 cat >$DIR/$FILE3 <<< "_:load $DIR/$FILE1.bak"
2324 cat >>$DIR/$FILE3 <<< "_:load $DIR/$FILE2.bak"
2325 cat >$DIR/$FILE4 <<< "_:load $DIR/$FILE3"
2326 cat >$DIR/$FILE5 <<< "_:load $DIR/$FILE4"
2327 cat >$DIR/$FILE6 <<< "_:load $DIR/$FILE5"
2328 rm -f $DIR/$FILE1 $DIR/$FILE2
2329 sleep .5
2330 check 0 "" \
2331 "treeview1:clear\n treeview2:clear"
2332 check 0 "" \
2333 "_:load $DIR/$FILE6"
2334 rm -f $DIR/$FILE1 $DIR/$FILE2
2335 sleep .5
2336 check 1 "" \
2337 "treeview1:save $DIR/$FILE1\n treeview2:save $DIR/$FILE2\n button1:force" \
2338 "button1:clicked"
2339 check_cmd "cmp $DIR/$FILE1 $DIR/$FILE1.bak"
2340 check_cmd "cmp $DIR/$FILE2 $DIR/$FILE2.bak"
2341 rm -rf $DIR
2342 check 0 "" \
2343 "treeview1:set 100 9 XXXYYY"
2344 check 0 "" \
2345 "treeview2:clear\n treeview2:set 2 0 1"
2347 check 0 "" \
2348 "notebook1:set_current_page 2"
2349 check 1 "" \
2350 "nonexistent_send_text:force" \
2351 "nonexistent_send_text:clicked"
2352 check 2 "" \
2353 "nonexistent_send_text:ping\n nonexistent_send_text:ping foo bar" \
2354 "nonexistent_send_text:ping" \
2355 "nonexistent_send_text:ping foo bar"
2356 check 1 "" \
2357 "nonexistent_send_selection:force" \
2358 "nonexistent_send_selection:clicked"
2359 check 1 "" \
2360 "nonexistent_ok:force" \
2361 "nonexistent_ok:clicked"
2362 check 2 "" \
2363 "nonexistent_ok:ping\n nonexistent_ok:ping foo bar" \
2364 "nonexistent_ok:ping" \
2365 "nonexistent_ok:ping foo bar"
2366 check 1 "" \
2367 "nonexistent_apply:force" \
2368 "nonexistent_apply:clicked"
2369 check 2 "" \
2370 "nonexistent_apply:ping\n nonexistent_apply:ping foo bar" \
2371 "nonexistent_apply:ping" \
2372 "nonexistent_apply:ping foo bar"
2373 check 1 "" \
2374 "nonexistent_cancel:force" \
2375 "nonexistent_cancel:clicked"
2376 check 2 "" \
2377 "nonexistent_cancel:ping\n nonexistent_cancel:ping foo bar" \
2378 "nonexistent_cancel:ping" \
2379 "nonexistent_cancel:ping foo bar"
2380 check 0 "" \
2381 "notebook1:set_current_page 1"
2382 check 2 "" \
2383 "notebook1:ping\n notebook1:ping foo bar" \
2384 "notebook1:ping" \
2385 "notebook1:ping foo bar"
2386 check 1 "" \
2387 "textview1_send_text:force" \
2388 "textview1_send_text:text some textnetcn"
2389 check 1 "" \
2390 "textview1:place_cursor 5\n textview1:insert_at_cursor MORE \n textview1_send_text:force" \
2391 "textview1_send_text:text some MORE textnetcn"
2392 check 1 "" \
2393 "textview1:place_cursor_at_line 1\n textview1:insert_at_cursor ETC \n textview1_send_text:force" \
2394 "textview1_send_text:text some MORE textnETC etcn"
2395 mkdir -p $DIR
2396 check 1 "" \
2397 "textview1:save $DIR/$FILE1\n button1:force" \
2398 "button1:clicked"
2399 check 2 "" \
2400 "textview1:ping\n textview1:ping foo bar" \
2401 "textview1:ping" \
2402 "textview1:ping foo bar"
2404 while (( i<2000 )); do
2405 (( i+=1 ))
2406 cat $DIR/$FILE1 >> $DIR/$FILE2
2407 done
2409 while (( i<2000 )); do
2410 (( i+=1 ))
2411 echo "textview2:insert_at_cursor ##### THIS IS LINE $i.\\n" >> $DIR/$FILE3
2412 done
2413 check 0 "" \
2414 "_:load $DIR/$FILE2"
2415 check 0 "" \
2416 "textview1:save $DIR/$FILE1"
2417 check 0 "" \
2418 "textview1:save $DIR/$FILE1"
2419 check 0 "" \
2420 "textview1:delete"
2421 check 0 "" \
2422 "textview2:delete"
2423 check 0 "" \
2424 "_:load $DIR/$FILE3"
2425 check 0 "" \
2426 "_:load $DIR/$FILE1"
2427 check 0 "" \
2428 "textview2:save $DIR/$FILE3"
2429 check 1 "" \
2430 "textview1:save $DIR/$FILE2\n button1:force" \
2431 "button1:clicked"
2432 check_cmd "cmp $DIR/$FILE1 $DIR/$FILE2"
2433 echo "textview1:insert_at_cursor I'm a text containing backslashes:\\nONE\\\\\nTWO\\\\\\\\\\nTHREE\\\\\\\\\\\\\\nEnd" > $DIR/$FILE1
2434 check 0 "" \
2435 "textview1:delete\n _:load $DIR/$FILE1"
2436 check 1 "" \
2437 "textview1:save $DIR/$FILE1\n textview1:save $DIR/$FILE2\n textview1:delete\n _:load $DIR/$FILE1\n button1:force" \
2438 "button1:clicked"
2439 rm $DIR/$FILE1
2440 sleep .5
2441 check 1 "" \
2442 "textview1:save $DIR/$FILE1\n button1:force" \
2443 "button1:clicked"
2444 check_cmd "test 96 = `wc -c $DIR/$FILE1 | awk '{print $1}'`"
2445 check_cmd "cmp $DIR/$FILE1 $DIR/$FILE2"
2449 check 1 "" \
2450 "textview1:delete\n textview1_send_text:force" \
2451 "textview1_send_text:text"
2453 if test $INTERACTIVE; then
2455 check 1 "Highlight the lowest visible character and press \"send_selection\"" \
2456 "textview1:place_cursor_at_line 1 \ntextview1:insert_at_cursor A\\\\nB\\\\nC\\\\nD\\\\nE\\\\nF\\\\nG\\\\nH\\\\nI\\\\nJ\\\\nK\\\\nL\\\\nM\\\\nN\\\\nO\\\\nP\\\\nQ\\\\nR\\\\nS\\\\nT\\\\nU\\\\nV\\\\nW\\\\nX\\\\nY\\\\nZ\\\\na\\\\nb\\\\nc\\\\nd\\\\ne\\\\nf\\\\ng\\\\nh\\\\ni\\\\nj\\\\nk\\\\nl\\\\nm\\\\nn\\\\no\\\\np\\\\nq\\\\nr\\\\ns\\\\nt\\\\nu\\\\nv\\\\nw\\\\nx\\\\ny\\\\nz \n textview1:place_cursor_at_line 46 \n textview1:scroll_to_cursor\n notebook1:set_current_page 1" \
2457 "textview1_send_selection:text u"
2458 check 1 "Again, highlight the lowest visible character and press \"send_selection\"" \
2459 "textview1:place_cursor end\n textview1:scroll_to_cursor" \
2460 "textview1_send_selection:text z"
2461 check 1 "Highlight the highest visible character and press \"send_selection\"" \
2462 "textview1:place_cursor 0 \n textview1:scroll_to_cursor" \
2463 "textview1_send_selection:text A"
2467 if test $AUTOMATIC; then
2468 check 1 "" \
2469 "treeview2:set 100:10:5 2 8888888\n treeview2:save $DIR/$FILE1\n textview2:save $DIR/$FILE2\n button1:force" \
2470 "button1:clicked"
2471 cp $DIR/$FILE1 $DIR/$FILE4
2472 check_cmd "cmp $DIR/$FILE2 $DIR/$FILE3"
2473 check 1 "" \
2474 "treeview2:clear\n textview2:delete\n _:load $DIR/$FILE1\n _:load $DIR/$FILE2\n button1:force" \
2475 "button1:clicked"
2476 rm $DIR/$FILE1 $DIR/$FILE2
2477 sleep .5
2478 check 1 "" \
2479 "treeview2:save $DIR/$FILE1\n textview2:save $DIR/$FILE2\n button1:force" \
2480 "button1:clicked"
2481 check_cmd "cmp $DIR/$FILE1 $DIR/$FILE4"
2482 check_cmd "cmp $DIR/$FILE2 $DIR/$FILE3"
2483 # rm -rf $DIR
2484 sleep .5
2485 check 2 "" \
2486 "scale1:set_value 10\n scale1:set_increments 5 20\n scale1:force" \
2487 "scale1:value 10.000000" \
2488 "scale1:value 10.000000"
2489 check 2 "" \
2490 "scale1:block 1\n scale1:set_range 20 22\n scale1:set_value 21\n scale1:block 0\n scale1:set_value 10\n scale1:set_value 100" \
2491 "scale1:value 20.000000" \
2492 "scale1:value 22.000000"
2493 check 1 "" \
2494 "scale1:set_fill_level\n scale1:set_fill_level 20.5\n scale1:set_value 21.3" \
2495 "scale1:value 21.300000"
2496 check 2 "" \
2497 "scale1:ping\n scale1:ping foo bar" \
2498 "scale1:ping" \
2499 "scale1:ping foo bar"
2500 check 6 "" \
2501 "open_dialog:set_filename q.png\n file:force\n open_dialog_invoke:force\n open_dialog_apply:force\n open_dialog_ok:force" \
2502 "file:active _File" \
2503 "open_dialog_apply:clicked" \
2504 "open_dialog:file $PWD/q.png" \
2505 "open_dialog:folder $PWD" \
2506 "open_dialog_ok:clicked" \
2507 "open_dialog:file $PWD/q.png" \
2508 "open_dialog:folder $PWD"
2509 check 2 "" \
2510 "open_dialog:ping\n open_dialog:ping foo bar" \
2511 "open_dialog:ping" \
2512 "open_dialog:ping foo bar"
2513 check 2 "" \
2514 "open_dialog_apply:ping\n open_dialog_apply:ping foo bar" \
2515 "open_dialog_apply:ping" \
2516 "open_dialog_apply:ping foo bar"
2517 check 2 "" \
2518 "open_dialog_ok:ping\n open_dialog_ok:ping foo bar" \
2519 "open_dialog_ok:ping" \
2520 "open_dialog_ok:ping foo bar"
2521 check 2 "" \
2522 "open_dialog_cancel:ping\n open_dialog_cancel:ping foo bar" \
2523 "open_dialog_cancel:ping" \
2524 "open_dialog_cancel:ping foo bar"
2525 check 2 "" \
2526 "file:force\n open_dialog_invoke:force\n open_dialog_cancel:force" \
2527 "file:active _File" \
2528 "open_dialog_cancel:clicked"
2529 check 3 "" \
2530 "save_as_dialog:set_current_name /somewhere/crazy_idea\n file:force\n save_as_dialog_invoke:force\n save_as_dialog_ok:force" \
2531 "file:active _File" \
2532 "save_as_dialog_ok:clicked" \
2533 "save_as_dialog:file /somewhere/crazy_idea" \
2534 "save_as_dialog:folder"
2535 check 1 "" \
2536 "nonexistent_invoke:force" \
2537 "nonexistent_invoke:active nonexistent"
2538 check 2 "" \
2539 "nonexistent_invoke:ping\n nonexistent_invoke:ping foo bar" \
2540 "nonexistent_invoke:ping" \
2541 "nonexistent_invoke:ping foo bar"
2543 # _:load
2544 mkdir -p $DIR
2545 for i in $WEIRD_PATHS; do
2546 cat >$i <<< "entry1:set_text RsT${i}UVwX"
2547 done
2548 for i in $WEIRD_PATHS; do
2549 check 1 "" \
2550 "_:load $i" \
2551 "entry1:text RsT${i}UVwX"
2552 rm -f $i
2553 done
2557 if test $INTERACTIVE; then
2559 check 1 "Click \"New\" on the popped-up menu" \
2560 "menu1:popup" \
2561 "new:active gtk-new"
2562 check 1 "Press the \"button\" which should now be renamed \"OK\"" \
2563 "button1:set_label OK" \
2564 "button1:clicked"
2565 check 1 "Press the \"togglebutton\" which should now be renamed \"on/off\"" \
2566 "togglebutton1:set_label on/off" \
2567 "togglebutton1:0"
2568 check 1 "" \
2569 "togglebutton1:force" \
2570 "togglebutton1:1"
2571 check 1 "Press the \"checkbutton\" which should now be renamed \"REGISTER\"" \
2572 "checkbutton1:set_label REGISTER" \
2573 "checkbutton1:1"
2574 check 1 "" \
2575 "checkbutton1:force" \
2576 "checkbutton1:0"
2577 check 2 "Press the \"radiobutton\" which should now be renamed \"RADIO\"" \
2578 "radiobutton2:set_label RADIO" \
2579 "radiobutton1:0" \
2580 "radiobutton2:1"
2581 check 2 "" \
2582 "radiobutton1:force" \
2583 "radiobutton2:0" \
2584 "radiobutton1:1"
2585 check 1 "Click the widget whose label font is now Bold Italic 20" \
2586 "switch1:style font:Bold Italic 20" \
2587 "switch1:1"
2588 check 1 "Click the widget whose label has turned red" \
2589 "switch1:style color:red" \
2590 "switch1:0"
2591 check 1 "Click the widget whose background has turned yellow" \
2592 "checkbutton1:style background-color:yellow" \
2593 "checkbutton1:1"
2594 check 1 "Press \"OK\" if font and colors changed in previous steps are back to normal\n switch1:style" \
2595 "checkbutton1:style" \
2596 "button1:clicked"
2597 check 1 "" \
2598 "switch1:force" \
2599 "switch1:1"
2600 check 1 "Press \"OK\" if the \"lorem ipsum dolor ...\" text inside \"frame1\" now reads \"LABEL\"" \
2601 "label1:set_text LABEL" \
2602 "button1:clicked"
2603 check 1 "Press \"OK\" if the label of the frame around \"LABEL\" now reads \"LOREM IPSUM\"" \
2604 "frame1:set_label LOREM IPSUM" \
2605 "button1:clicked"
2606 check 1 "Press \"OK\" if the green dot has turned red" \
2607 "image1:set_from_icon_name gtk-no" \
2608 "button1:clicked"
2609 check 1 "Press \"OK\" if the red dot has turned into a green \"Q\"" \
2610 "image1:set_from_file q.png" \
2611 "button1:clicked"
2612 check 1 "Select \"FIRST\" from the combobox" \
2613 "comboboxtext1:prepend_text FIRST" \
2614 "comboboxtext1_entry:text FIRST"
2615 check 1 "Select \"LAST\" from the combobox" \
2616 "comboboxtext1:append_text LAST" \
2617 "comboboxtext1_entry:text LAST"
2618 check 1 "Select \"AVERAGE\" from the combobox" \
2619 "comboboxtext1:insert_text 3 AVERAGE" \
2620 "comboboxtext1_entry:text AVERAGE"
2621 check 1 "Select the second entry from the combobox" \
2622 "comboboxtext1:remove 0" \
2623 "comboboxtext1_entry:text def"
2624 check 2 "Left-click the \"+\" of the spinbutton" \
2625 "spinbutton1:set_range 0 100\n spinbutton1:set_text 33" \
2626 "spinbutton1:text 33.00" \
2627 "spinbutton1:text 34.00"
2628 check 1 "Left-click the \"+\" of the spinbutton again" \
2629 "spinbutton1:set_increments 2 4" \
2630 "spinbutton1:text 36.00"
2631 check 1 "Middle-click the \"+\" of the spinbutton" \
2632 "" \
2633 "spinbutton1:text 40.00"
2634 check 1 "" \
2635 "spinbutton1:force" \
2636 "spinbutton1:text 40.00"
2637 check 1 "Using the file chooser button (now labelled \"etc\"), select \"File System\" (= \"/\")" \
2638 "filechooserbutton1:set_filename /etc/" \
2639 "filechooserbutton1:file /"
2640 check 1 "" \
2641 "filechooserbutton1:force" \
2642 "filechooserbutton1:file /"
2643 check 1 "Click \"Select\"\n fontbutton1:set_font_name Sans Bold 40" \
2644 "fontbutton1:force" \
2645 "fontbutton1:font Sans Bold 40"
2646 check 1 "Click \"Select\" (1)\n colorbutton1:set_color yellow" \
2647 "colorbutton1:force" \
2648 "colorbutton1:color rgb(255,255,0)"
2649 check 1 "Click \"Select\" (2)\n colorbutton1:set_color rgb(0,255,0)" \
2650 "colorbutton1:force" \
2651 "colorbutton1:color rgb(0,255,0)"
2652 check 1 "Click \"Select\" (3)\n colorbutton1:set_color #00f" \
2653 "colorbutton1:force" \
2654 "colorbutton1:color rgb(0,0,255)"
2655 check 1 "Click \"Select\" (4)\n colorbutton1:set_color #ffff00000000" \
2656 "colorbutton1:force" \
2657 "colorbutton1:color rgb(255,0,0)"
2658 check 1 "Click \"Select\" (5)\n colorbutton1:set_color rgba(0,255,0,.5)" \
2659 "colorbutton1:force" \
2660 "colorbutton1:color rgba(0,255,0,0.5)"
2661 check 1 "Close the dialog by hitting Escape" \
2662 "printdialog:print nonexistent.ps" \
2663 "printdialog:closed"
2664 check 1 "Press \"OK\" if both 1752-03-13 and 1752-03-14 are marked on the calendar" \
2665 "calendar1:mark_day 13\n calendar1:mark_day 14" \
2666 "button1:clicked"
2667 check 1 "Press \"OK\" if 1752-03-13 and 1752-03-14 are no longer marked on the calendar" \
2668 "calendar1:clear_marks" \
2669 "button1:clicked"
2670 check 3 "Hover over the calendar and do what the tooltip says" \
2671 "calendar1:set_tooltip_text Double-click on 1752-03-13" \
2672 "calendar1:clicked 1752-03-13" \
2673 "calendar1:clicked 1752-03-13" \
2674 "calendar1:doubleclicked 1752-03-13"
2675 check 0 "" \
2676 "calendar1:set_tooltip_text"
2677 check 1 "" \
2678 "calendar1:force" \
2679 "calendar1:clicked 1752-03-13"
2683 check 0 "" \
2684 "drawingarea1:transform =100 1 0 0 1 0 0"
2685 check 0 "" \
2686 "drawingarea1:set_source_rgba =101 green"
2687 check 0 "" \
2688 "drawingarea1:set_source_rgba =102 red"
2689 check 0 "" \
2690 "drawingarea1:rectangle =1 0 0 150 150\n drawingarea1:fill 1"
2691 check 0 "" \
2692 "drawingarea1:remove 1\n drawingarea1:remove 2\n drawingarea1:remove 3\n drawingarea1:remove 4"
2693 check 0 "" \
2694 "drawingarea1:rectangle 1 0 0 150 150\n drawingarea1:fill 1"
2695 check 0 "" \
2696 "drawingarea1:arc 1 80 80 60 30 60\n drawingarea1:set_source_rgba 1 red\n drawingarea1:stroke_preserve 1\n drawingarea1:line_to 1 80 80\n drawingarea1:fill 1"
2697 check 0 "" \
2698 "drawingarea1:arc_negative 1 80 80 70 30 60\n drawingarea1:set_source_rgba 1 green\n drawingarea1:stroke_preserve 1\n drawingarea1:rel_line_to 1 -50 -50\n drawingarea1:stroke 1"
2699 check 0 "" \
2700 "drawingarea1:curve_to 1 30 30 90 120 120 30\n drawingarea1:set_source_rgba 1 blue\n drawingarea1:stroke 1"
2701 check 0 "" \
2702 "drawingarea1:move_to 1 160 160\n drawingarea1:rel_curve_to 1 30 30 90 120 120 30\n drawingarea1:set_source_rgba 1 orange\n drawingarea1:stroke_preserve 1"
2703 check 0 "" \
2704 "drawingarea1:move_to 1 0 0\n drawingarea1:rel_move_to 1 0 155\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 10\n drawingarea1:stroke 1"
2705 check 0 "" \
2706 "drawingarea1:move_to 1 0 160\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 20 5\n drawingarea1:stroke 1"
2707 check 0 "" \
2708 "drawingarea1:move_to 1 0 165\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 5 20\n drawingarea1:stroke 1"
2709 check 0 "" \
2710 "drawingarea1:move_to 1 0 170\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 3 3 3 3 3 15\n drawingarea1:stroke 1"
2711 check 0 "" \
2712 "drawingarea1:set_dash 1"
2713 check 0 "" \
2714 "drawingarea1:set_source_rgba 103 brown\n drawingarea1:set_line_width 1 15"
2716 if test $INTERACTIVE; then
2717 check 1 "Press \"OK\" if the brown shape is rounded" \
2718 "drawingarea1:set_line_join 2 round\n drawingarea1:set_line_cap 2 round\n drawingarea1:move_to 1 160 20\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1" \
2719 "button1:clicked"
2720 check 1 "Press \"OK\" if the second brown shape is shorter and bevelled and the square is mostly blue" \
2721 "drawingarea1:set_line_join 3 bevel\n drawingarea1:set_line_cap 3 butt\n drawingarea1:move_to 1 160 70\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1\n drawingarea1:set_source_rgba =102 blue" \
2722 "button1:clicked"
2723 check 1 "Press \"OK\" if the third brown shape is square everything is a bit smaller" \
2724 "drawingarea1:set_line_join 3 miter\n drawingarea1:set_line_cap 3 square\n drawingarea1:move_to 1 160 120\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1\n drawingarea1:set_source_rgba =101 magenta\n drawingarea1:scale =100 .7 .7" \
2725 "button1:clicked"
2726 check 1 "Press \"OK\" if the first brown shape is no longer rounded and everything rotated a bit" \
2727 "drawingarea1:remove 2\n drawingarea1:rotate 105<100 10" \
2728 "button1:clicked"
2729 check 1 "Press \"OK\" if all three brown shapes look the same" \
2730 "drawingarea1:remove 3" \
2731 "button1:clicked"
2735 check 0 "" \
2736 "drawingarea1:move_to 5 50 50\n drawingarea1:line_to 5 200 10\n drawingarea1:line_to 5 150 200\n drawingarea1:close_path 1\n drawingarea1:set_source_rgba 5 rgba(0,255,0,.2)\n drawingarea1:fill_preserve 1"
2737 check 0 "" \
2738 "drawingarea1:move_to 5 10 50\n drawingarea1:set_source_rgba 5 cyan\n drawingarea1:set_font_size 5 30\n drawingarea1:show_text 5 Xyz 789\n drawingarea1:set_font_size 5 10\n drawingarea1:show_text 5 Abc 123"
2739 check 0 "" \
2740 "drawingarea1:move_to 5 10 75\n drawingarea1:set_source_rgba 5 red\n drawingarea1:set_font_face 5 italic bold Courier\n drawingarea1:set_font_size 5 30\n drawingarea1:show_text 5 Xyz 789\n drawingarea1:set_font_size 5 10\n drawingarea1:show_text 5 Abc 123"
2741 check 0 "" \
2742 "drawingarea1:remove 1\n drawingarea1:remove 2\n drawingarea1:remove 3\n drawingarea1:remove 4"
2743 check 2 "" \
2744 "drawingarea1:ping\n drawingarea1:ping foo bar" \
2745 "drawingarea1:ping" \
2746 "drawingarea1:ping foo bar"
2748 check 0 "" \
2749 "drawingarea2:rotate 55<500 5\n drawingarea2:scale 33 .7 .7\n drawingarea2:translate 77 30 30\n drawingarea2:transform 44"
2750 check 0 "" \
2751 "drawingarea2:rectangle 1<500 0 0 150 150\n drawingarea2:fill 1"
2752 check 0 "" \
2753 "drawingarea2:arc 1 80 80 60 30 60\n drawingarea2:set_source_rgba 1 red\n drawingarea2:stroke_preserve 1\n drawingarea2:line_to 1 80 80\n drawingarea2:fill 1"
2754 check 0 "" \
2755 "drawingarea2:arc_negative 1 80 80 70 30 60\n drawingarea2:set_source_rgba 1 green\n drawingarea2:stroke_preserve 1\n drawingarea2:rel_line_to 1 -50 -50\n drawingarea2:stroke 1"
2756 check 0 "" \
2757 "drawingarea2:curve_to 1 30 30 90 120 120 30\n drawingarea2:set_source_rgba 1 blue\n drawingarea2:stroke 1"
2758 check 0 "" \
2759 "drawingarea2:move_to 1 160 160\n drawingarea2:rel_curve_to 1 30 30 90 120 120 30\n drawingarea2:set_source_rgba 1 orange\n drawingarea2:stroke_preserve 1"
2760 check 0 "" \
2761 "drawingarea2:move_to 1 0 0\n drawingarea2:rel_move_to 1 0 155\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 10\n drawingarea2:stroke 1"
2762 check 0 "" \
2763 "drawingarea2:move_to 1 0 160\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 20 5\n drawingarea2:stroke 1"
2764 check 0 "" \
2765 "drawingarea2:move_to 1 0 165\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 5 20\n drawingarea2:stroke 1"
2766 check 0 "" \
2767 "drawingarea2:move_to 1 0 170\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 3 3 3 3 3 15\n drawingarea2:stroke 1"
2768 check 0 "" \
2769 "drawingarea2:set_dash 1"
2770 check 0 "" \
2771 "drawingarea2:set_source_rgba 1 brown\n drawingarea2:set_line_width 1 15"
2772 check 0 "" \
2773 "drawingarea2:set_line_cap 2 round\n drawingarea2:move_to 1 160 20\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
2774 check 0 "" \
2775 "drawingarea2:set_line_join 3 bevel\n drawingarea2:set_line_cap 3 butt\n drawingarea2:move_to 1 160 70\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
2776 check 0 "" \
2777 "drawingarea2:set_line_join 3 miter\n drawingarea2:set_line_cap 3 square\n drawingarea2:move_to 1 160 120\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
2778 check 0 "" \
2779 "drawingarea2:remove 2"
2780 check 0 "" \
2781 "drawingarea2:remove 3"
2783 if test $INTERACTIVE; then
2785 check 1 "Press \"OK\" if the drawing looks tilted and displaced" \
2786 "drawingarea2:remove 44" \
2787 "button1:clicked"
2788 check 1 "Press \"OK\" if the drawing doesn't look tilted anymore" \
2789 "drawingarea2:remove 55" \
2790 "button1:clicked"
2791 check 1 "Press \"OK\" if the drawing has grown a bit" \
2792 "drawingarea2:remove 33" \
2793 "button1:clicked"
2794 check 1 "Press \"OK\" if the drawing has moved into the NE corner" \
2795 "drawingarea2:remove 77" \
2796 "button1:clicked"
2800 check 0 "" \
2801 "drawingarea1:set_source_rgba 6 red\n drawingarea1:set_font_size 6 20\n drawingarea1:transform 99 .985 -.174 .174 .985 0 0"
2802 check 0 "" \
2803 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 c CENTER\n drawingarea1:show_text 6 CENTER"
2804 check 0 "" \
2805 "drawingarea1:set_source_rgba 6 blue\n drawingarea1:set_font_size 6 20"
2806 check 0 "" \
2807 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 nw NORTHWEST\n drawingarea1:show_text 6 NORTHWEST"
2808 check 0 "" \
2809 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 ne NORTHEAST\n drawingarea1:show_text 6 NORTHEAST"
2810 check 0 "" \
2811 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 se SOUTHEAST\n drawingarea1:show_text 6 SOUTHEAST"
2812 check 0 "" \
2813 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 sw SOUTHWEST\n drawingarea1:show_text 6 SOUTHWEST"
2814 check 0 "" \
2815 "drawingarea1:set_source_rgba 6 magenta\n drawingarea1:set_font_size 6 20"
2816 check 0 "" \
2817 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 s SOUTH\n drawingarea1:show_text 6 SOUTH"
2818 check 0 "" \
2819 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 n NORTH\n drawingarea1:show_text 6 NORTH"
2820 check 0 "" \
2821 "drawingarea1:set_source_rgba 6 green\n drawingarea1:set_font_size 6 20"
2822 check 0 "" \
2823 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 e EAST\n drawingarea1:show_text 6 EAST"
2824 check 0 "" \
2825 "drawingarea1:move_to 600 100 140\n drawingarea1:rel_move_for 6 w WEST\n drawingarea1:show_text 6 WEST\n drawingarea1:set_font_size 800<600 30"
2826 check 0 "" \
2827 "drawingarea1:snapshot $EPS_FILE\n drawingarea1:snapshot $EPSF_FILE\n drawingarea1:snapshot $PDF_FILE\n drawingarea1:snapshot $PS_FILE\n drawingarea1:snapshot $SVG_FILE"
2829 check_cmd "file -b $EPS_FILE | grep -qe EPS"
2830 check_cmd "file -b $EPSF_FILE | grep -qe EPS"
2831 check_cmd "file -b $PS_FILE | grep -qe PostScript"
2832 check_cmd "file -b $SVG_FILE | grep -qe SVG"
2833 check 0 "" \
2834 "notebook1:set_current_page 0\n image2:set_from_file $SVG_FILE"
2836 if test $INTERACTIVE; then
2838 check 2 "Hit Backspace, Enter" \
2839 "eventbox1:grab_focus\n menu1:popup\n menu1:popdown" \
2840 "eventbox1:key_press BackSpace" \
2841 "eventbox1:key_press Return"
2842 check 6 "Inside the DrawingArea, left-click, middle-click, right-click (Don't move the mouse while clicking)" \
2843 "" \
2844 "eventbox1:button_press 1" \
2845 "eventbox1:button_release 1" \
2846 "eventbox1:button_press 2" \
2847 "eventbox1:button_release 2" \
2848 "eventbox1:button_press 3" \
2849 "eventbox1:button_release 3"
2850 check 3 "Inside the DrawingArea and all within one second, hold the left button down, move around a bit, and release it again" \
2851 "" \
2852 "eventbox1:button_press 1" \
2853 "eventbox1:motion" \
2854 "eventbox1:motion"
2855 sleep 1.5
2856 check 1 "Hit Space" \
2857 "button1:grab_focus" \
2858 "button1:clicked"
2860 check 1 "Press the biggest button if there is a spinning spinner" \
2861 "spinner1:start\n no_button:set_size_request 400 200" \
2862 "no_button:clicked"
2863 check 1 "Press \"OK\" if the spinner has stopped" \
2864 "spinner1:stop" \
2865 "button1:clicked"
2866 check 1 "Press \"OK\" if the \"No\" button is back to normal size" \
2867 "no_button:set_size_request" \
2868 "button1:clicked"
2870 check 0 "" \
2871 "notebook1:set_current_page 3"
2872 check 1 "Click into page 4 (vscroll)" \
2873 "scrolledwindow8:vscroll 4500" \
2874 "button_sw:clicked"
2875 check 1 "Click into page 4 (hscroll)" \
2876 "scrolledwindow8:hscroll 4500" \
2877 "button_se:clicked"
2878 check 1 "Click into page 4 (hscroll_to_range, vscroll_to_range)" \
2879 "scrolledwindow8:hscroll_to_range 1600 2900\n scrolledwindow8:vscroll_to_range 1600 2900" \
2880 "button_c:clicked"
2882 check 1 "Press \"OK\" if there is now a \"Disconnect\" button" \
2883 "button2:set_visible 1\n button2:set_sensitive 0" \
2884 "button1:clicked"
2885 check 1 "Press \"Disconnect\"" \
2886 "button2:set_sensitive 1" \
2887 "button2:clicked"
2889 check 1 "Press \"BIG BUTTON\" inside the window titled \"PRESS ME\"" \
2890 "dialog1:set_title PRESS ME\n dialog1:set_visible 1\n dialog1:resize 800 800\n dialog1:move 50 50" \
2891 "button3:clicked"
2892 check 1 "" \
2893 "button3:set_label PRESS THIS GIANT BUTTON NOW\n dialog1:fullscreen" \
2894 "button3:clicked"
2895 check 1 "" \
2896 "button3:set_label Hit Escape to close this window\n button3:set_sensitive 0" \
2897 "dialog1:closed"
2898 check 0 "" \
2899 "dialog1:set_visible 0"
2901 check 1 "Press \"OK\" if the progress bar shows 90%" \
2902 "progressbar1:set_fraction .9\n progressbar1:set_text" \
2903 "button1:clicked"
2904 check 1 "Press \"OK\" if the progress bar text reads \"The End\"" \
2905 "progressbar1:set_text The End" \
2906 "button1:clicked"
2907 check 1 "" \
2908 "statusbar1:push_id Id100 Press \"No\"\n statusbar1:push_id ABC nonsense #1\n statusbar1:push_id DEF nonsense #2.1\n statusbar1:push_id DEF nonsense 2.2\n statusbar1:pop\n statusbar1:pop\n statusbar1:pop_id 1\n statusbar1:pop_id ABC\n statusbar1:pop_id DEF\n statusbar1:pop_id DEF\n statusbar1:push_id GHI nonsense 3.1\n statusbar1:push_id GHI nonsense 3.2\n statusbar1:remove_all_id GHI" \
2909 "no_button:clicked"
2913 check 2 "" \
2914 "statusbar1:ping\n statusbar1:ping foo bar" \
2915 "statusbar1:ping" \
2916 "statusbar1:ping foo bar"
2917 check 0 "" \
2918 "statusbar1:remove_all_id ZZZ"
2921 echo "_:main_quit" >$FIN
2922 check_rm $FIN
2923 check_rm $FOUT
2926 check_cmd "head -n 2 $LOG | tail -n 1 | grep -q '##### (New Pipeglade session) #####'"
2927 check_cmd "tail -n 4 $LOG | head -n 1 | grep -q '### (Idle) ###'"
2928 check_cmd "tail -n 3 $LOG | head -n 1 | grep -q 'statusbar1:remove_all_id ZZZ'"
2929 check_cmd "tail -n 2 $LOG | head -n 1 | grep -q '### (Idle) ###'"
2930 check_cmd "tail -n 1 $LOG | grep '_:main_quit'"
2932 if test $AUTOMATIC; then
2933 unset -v BIG_STRING
2934 unset -v BIG_NUM
2935 unset -v WEIRD_PATH
2936 for i in {1..10}; do
2937 echo "treeview1:set $i 3 $RANDOM"
2938 echo "treeview1:set $i 8 $RANDOM"
2939 echo "treeview1:set $i 9 row $i"
2940 done > $DIR/$FILE4
2941 for i in {1..10}; do
2942 echo "treeview2:set $i 3 $RANDOM"
2943 echo "treeview2:set $i 8 $RANDOM"
2944 echo "treeview2:set $i 9 row $i"
2945 done > $DIR/$FILE5
2946 cut -f2- $LOG > $DIR/$FILE6
2947 echo -e "g/_:main_quit/d\ng/printdialog:/d\ng|$FILE6|d\ng/:load/s|$FILE1|$FILE4|\ng/:load/s|$FILE2|$FILE5|\nwq" | ed -s $DIR/$FILE6
2948 for i in {1..5}; do
2949 cat $DIR/$FILE6
2950 done >$BIG_INPUT
2951 cp "$BIG_INPUT" "$BIG_INPUT2"
2952 echo "_:load $BIG_INPUT2" >>$BIG_INPUT
2953 echo "_:main_quit" >>$BIG_INPUT
2954 echo -e "g/_:load/d\ng/^#/d\nwq" | ed -s $BIG_INPUT2
2955 ./pipeglade -i $FIN -o $FOUT -O $BIG_INPUT_ERR -b >/dev/null
2956 cat "$FOUT" >/dev/null &
2957 cat "$BIG_INPUT" > "$FIN"
2958 while test \( -e $FOUT -a -e $FIN \); do sleep .5; done
2959 check_cmd "test $(grep -v -e WARNING -e '^$' $BIG_INPUT_ERR | wc -l) -eq 0"
2960 cat $BIG_INPUT_ERR
2961 rm -f $BIG_INPUT_ERR
2962 ./pipeglade -O $BIG_INPUT_ERR <$BIG_INPUT >/dev/null
2963 check_cmd "test $(grep -v -e WARNING -e '^$' $BIG_INPUT_ERR | wc -l) -eq 0"
2967 echo "
2968 # BATCH FOUR
2970 # Tests of project metadata
2971 ######################################################################
2974 # Does the manual page cover all implemented actions and no unimplemented ones?
2975 check_cmd 'test "`make prog-actions`" == "`make man-actions`"'
2977 # Is the manual page table of contents complete and correct?
2978 check_cmd 'test "`make man-widgets`" == "`make man-toc`"'
2980 # Are the correct widgets in buildables.txt marked done?
2981 check_cmd 'test "`make man-widgets`" == "`make done-list`"'
2983 # Is our collection of test widgets complete?
2984 check_cmd 'test "`make man-widgets | sed s/Gtk// | tr \"[:upper:]\" \"[:lower:]\"`" == "`make examples-list | sed s/\\.ui$//`"'
2988 echo "
2989 # BATCH FIVE
2991 # Possible and impossible combinations of widgets and actions. Not
2992 # crashing means test passed, here.
2993 ######################################################################
2996 if test $AUTOMATIC; then
2997 MAINPING=`mktemp`
2998 MAINQUIT=`mktemp`
2999 TEMPFOUT=`mktemp`
3000 echo -e "main:ping" > $MAINPING
3001 echo -e "_:main_quit" > $MAINQUIT
3003 # check_alive command
3004 check_alive() {
3005 echo "$SEND ${1}"
3006 echo -e "$1" >$FIN
3007 while read -t .5 <$FOUT; do : ; done
3008 if test -p $FIN; then
3009 timeout -k0 1 cp $MAINPING $FIN
3011 if test -p $FOUT; then
3012 :>$TEMPFOUT
3013 timeout -k0 1 cp $FOUT $TEMPFOUT
3015 if grep -q "main:ping" $TEMPFOUT; then
3016 count_ok
3017 echo " $OK"
3018 else
3019 count_fail
3020 echo " $FAIL"
3025 for wid in `make examples-list`; do
3026 for act in `make prog-actions`; do
3027 PID=`./pipeglade -i $FIN -o $FOUT -b -u widget-examples/$wid`
3028 cmd=""
3029 if test "$act" != "main_quit"; then
3030 cmd="$cmd\n ${wid/\.ui/}1:$act"
3031 for args in '0' '0 1' '0 1 1' '1 0 1 2' '1 0 1 2 3' '1 0 1 2 3 4 5' '1 s XYZ' 'x.svg' 'x.eps' 'x.ps' 'x.pdf'; do
3032 cmd="$cmd\n ${wid/\.ui/}1:$act $args"
3033 done
3035 check_alive "$cmd"
3036 timeout -k0 1 cp $MAINQUIT $FIN
3037 kill $PID
3038 rm -f $FIN $FOUT
3039 done
3040 done
3042 rm -f $MAINPING $MAINQUIT $TEMPFOUT
3047 echo "PASSED: $OKS/$TESTS; FAILED: $FAILS/$TESTS"