1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#!/bin/sh
THIS_DIR=$(pwd)
mkdir $THIS_DIR/gtkperf_env
tar -xvf gtkperf_0.40.tar.gz
cd gtkperf/
patch -p1 <<'EOT'
--- gtkperf/src/callbacks.c 2005-10-30 11:33:42.000000000 +0000
+++ gtkperf-patched/src/callbacks.c 2008-05-23 23:41:17.000000000 +0100
@@ -219,6 +219,13 @@
}
+void
+on_cmdline_test(char *optarg)
+{
+ appdata->test_type = atoi(optarg);
+}
+
+
/* Initialize appdata */
void
setup_appdata(AppData * appdata_in)
@@ -398,7 +405,7 @@
appdata->pixbuf_drawing = gdk_pixbuf_new_from_file (filename, NULL);
gtk_combo_box_set_active (GTK_COMBO_BOX (appdata->combobox_testtype),
- 0);
+ appdata->test_type);
/* create end mark to info textview */
GtkTextIter iter;
--- gtkperf/src/callbacks.h 2005-10-30 10:21:23.000000000 +0000
+++ gtkperf-patched/src/callbacks.h 2008-05-23 23:22:30.000000000 +0100
@@ -13,6 +13,7 @@
void on_cmdline_run_all ();
void on_cmdline_help () ;
void on_cmdline_count (char *optarg) ;
+void on_cmdline_test (char *optarg) ;
void on_window_main_show (AppData * data);
gboolean
--- gtkperf/src/main.c 2005-10-30 11:26:42.000000000 +0000
+++ gtkperf-patched/src/main.c 2008-05-23 23:44:02.000000000 +0100
@@ -65,9 +65,10 @@
{"help", 0, 0, 0},
{"automatic", 0, 0, 0},
{"count", 1, 0, 0},
+ {"test", 1, 0, 0},
{0, 0, 0, 0}
};
- c = getopt_long (argc, argv, "hac:",
+ c = getopt_long (argc, argv, "hac:t:",
long_options, &option_index);
if (c == -1)
break;
@@ -104,6 +105,10 @@
on_cmdline_count(optarg);
break;
+ case 't':
+ on_cmdline_test(optarg);
+ break;
+
default:
case 'h':
on_cmdline_help ();
EOT
./configure --prefix=$THIS_DIR/gtkperf_env
make -j $NUM_CPU_JOBS
make install
cd ..
rm -rf gtkperf/
cat > gtkperf <<'EOT'
#!/bin/sh
case "$1" in
"COMBOBOX")
test=2
;;
"COMBOBOX_ENTRY")
test=3
;;
"TOGGLE_BUTTON")
test=6
;;
"CHECK_BUTTON")
test=7
;;
"RADIO_BUTTON")
test=8
;;
"TEXTVIEW_ADD")
test=9
;;
"TEXTVIEW_SCROLL")
test=10
;;
"DRAWING_CIRCLES")
test=12
;;
"DRAWING_PIXBUFS")
test=14
;;
"TOTAL_TIME")
test=0
;;
esac
./gtkperf_env/bin/gtkperf -a -c 5000 -t $test > $LOG_FILE
EOT
chmod +x gtkperf
|