Announcement

Collapse
No announcement yet.

Patch for gtkperf

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Patch for gtkperf

    This simplistic patch adds the ability to run a specific test from the console in gtkperf. Tests are selected simply by number based on their entry in the test selection combobox. (0 is all tests, 1 is text entry, 2 is combobox etc. etc.)

    Code:
    diff --git a/pts/test-resources/gtkperf/install.sh b/pts/test-resources/gtkperf/install.sh
    index 9fc0f60..f152c8c 100644
    --- a/pts/test-resources/gtkperf/install.sh
    +++ b/pts/test-resources/gtkperf/install.sh
    @@ -7,51 +7,115 @@ 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/
    
    -echo "#!/bin/sh
    -
    -if [ ! -f \$THIS_RUN_TIME.result ]
    -  then
    -       rm -f *.result
    -       ./gtkperf_env/bin/gtkperf -a -c 2000 > \$THIS_RUN_TIME.result
    -fi
    +cat > gtkperf <<'EOT'
    +#!/bin/sh
    
    -case \"\$1\" in
    -\"COMBOBOX\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkComboBox \"
    +case "$1" in
    +"COMBOBOX")
    +       test=2
            ;;
    -\"COMBOBOX_ENTRY\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkComboBoxEntry \"
    +"COMBOBOX_ENTRY")
    +       test=3
            ;;
    -\"TOGGLE_BUTTON\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkToggleButton \"
    +"TOGGLE_BUTTON")
    +       test=6
            ;;
    -\"CHECK_BUTTON\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkCheckButton \"
    +"CHECK_BUTTON")
    +       test=7
            ;;
    -\"RADIO_BUTTON\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkRadioButton \"
    +"RADIO_BUTTON")
    +       test=8
            ;;
    -\"TEXTVIEW_ADD\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkTextView - Add text\"
    +"TEXTVIEW_ADD")
    +       test=9
            ;;
    -\"TEXTVIEW_SCROLL\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkTextView - Scroll\"
    +"TEXTVIEW_SCROLL")
    +       test=10
            ;;
    -\"DRAWING_CIRCLES\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkDrawingArea - Circles\"
    +"DRAWING_CIRCLES")
    +       test=12
            ;;
    -\"DRAWING_PIXBUFS\")
    -       cat \$THIS_RUN_TIME.result | grep \"GtkDrawingArea - Pixbufs\"
    +"DRAWING_PIXBUFS")
    +       test=14
            ;;
    -\"TOTAL_TIME\")
    -       cat \$THIS_RUN_TIME.result | grep \"Total\"
    +"TOTAL_TIME")
    +       test=0
            ;;
     esac
    -" > gtkperf
    +
    +./gtkperf_env/bin/gtkperf -a -c 2000 -t $test | grep "Total"
    +
    +EOT
    +
     chmod +x gtkperf
Working...
X