Home | History | Annotate | Download | only in benchmark
      1 /*
      2  * Copyright 2009, The Android Open Source Project
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  *  * Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  *  * Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #define LOG_TAG "webcore_test"
     27 
     28 #include <stdlib.h>
     29 #include <string.h>
     30 #include <getopt.h>
     31 #include <utils/Log.h>
     32 
     33 namespace android {
     34 extern void benchmark(const char*, int, int ,int);
     35 }
     36 
     37 int main(int argc, char** argv) {
     38     int width = 800;
     39     int height = 600;
     40     int reloadCount = 0;
     41     while (true) {
     42         int c = getopt(argc, argv, "d:r:");
     43         if (c == -1)
     44             break;
     45         else if (c == 'd') {
     46             char* x = strchr(optarg, 'x');
     47             if (x) {
     48                 width = atoi(optarg);
     49                 height = atoi(x + 1);
     50                 LOGD("Rendering page at %dx%d", width, height);
     51             }
     52         } else if (c == 'r') {
     53             reloadCount = atoi(optarg);
     54             if (reloadCount < 0)
     55                 reloadCount = 0;
     56             LOGD("Reloading %d times", reloadCount);
     57         }
     58     }
     59     if (optind >= argc) {
     60         LOGE("Please supply a file to read\n");
     61         return 1;
     62     }
     63 
     64     android::benchmark(argv[optind], reloadCount, width, height);
     65 }
     66