diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-11-30 22:19:08 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-11-30 22:19:08 +0000 |
commit | b9fbffbd16d6c65b3210e409d295cb478ca0f6e8 (patch) | |
tree | a2433f1446af2cc1fb67763b069c01acde180159 /test/css21.c | |
parent | 44bcf7b471d096d142c29f7f218d4f8b9c3742f8 (diff) | |
download | libcss-b9fbffbd16d6c65b3210e409d295cb478ca0f6e8.tar.gz libcss-b9fbffbd16d6c65b3210e409d295cb478ca0f6e8.tar.bz2 |
Modify to allow a configurable number of iterations for profiling.
svn path=/trunk/libcss/; revision=5856
Diffstat (limited to 'test/css21.c')
-rw-r--r-- | test/css21.c | 70 |
1 files changed, 43 insertions, 27 deletions
diff --git a/test/css21.c b/test/css21.c index 17e95b4..5961f4b 100644 --- a/test/css21.c +++ b/test/css21.c @@ -6,6 +6,12 @@ #include "testutils.h" +#define ITERATIONS (1) +#define DUMP_HASH (0) +#define DUMP_CSS (1) + +extern void parserutils_hash_dump(parserutils_hash *hash); + static void *myrealloc(void *ptr, size_t len, void *pw) { UNUSED(pw); @@ -30,45 +36,55 @@ int main(int argc, char **argv) /* Initialise library */ assert(css_initialise(argv[1], myrealloc, NULL) == CSS_OK); - assert(css_stylesheet_create(CSS_LEVEL_21, "UTF-8", argv[2], NULL, - CSS_ORIGIN_AUTHOR, CSS_MEDIA_ALL, NULL, NULL, - myrealloc, NULL, &sheet) == CSS_OK); + for (int count = 0; count < ITERATIONS; count++) { - fp = fopen(argv[2], "rb"); - if (fp == NULL) { - printf("Failed opening %s\n", argv[2]); - return 1; - } + assert(css_stylesheet_create(CSS_LEVEL_21, "UTF-8", argv[2], + NULL, CSS_ORIGIN_AUTHOR, CSS_MEDIA_ALL, NULL, + NULL, myrealloc, NULL, &sheet) == CSS_OK); - fseek(fp, 0, SEEK_END); - origlen = len = ftell(fp); - fseek(fp, 0, SEEK_SET); + fp = fopen(argv[2], "rb"); + if (fp == NULL) { + printf("Failed opening %s\n", argv[2]); + return 1; + } - while (len >= CHUNK_SIZE) { - fread(buf, 1, CHUNK_SIZE, fp); + fseek(fp, 0, SEEK_END); + origlen = len = ftell(fp); + fseek(fp, 0, SEEK_SET); - error = css_stylesheet_append_data(sheet, buf, CHUNK_SIZE); - assert(error == CSS_OK || error == CSS_NEEDDATA); + while (len >= CHUNK_SIZE) { + fread(buf, 1, CHUNK_SIZE, fp); - len -= CHUNK_SIZE; - } + error = css_stylesheet_append_data(sheet, buf, + CHUNK_SIZE); + assert(error == CSS_OK || error == CSS_NEEDDATA); - if (len > 0) { - fread(buf, 1, len, fp); + len -= CHUNK_SIZE; + } - error = css_stylesheet_append_data(sheet, buf, len); - assert(error == CSS_OK || error == CSS_NEEDDATA); + if (len > 0) { + fread(buf, 1, len, fp); - len = 0; - } + error = css_stylesheet_append_data(sheet, buf, len); + assert(error == CSS_OK || error == CSS_NEEDDATA); + + len = 0; + } - fclose(fp); + fclose(fp); - assert(css_stylesheet_data_done(sheet) == CSS_OK); + assert(css_stylesheet_data_done(sheet) == CSS_OK); - css_stylesheet_dump(sheet, stdout); +#if DUMP_HASH + parserutils_hash_dump(sheet->dictionary); +#endif - css_stylesheet_destroy(sheet); +#if DUMP_CSS + css_stylesheet_dump(sheet, stdout); +#endif + + css_stylesheet_destroy(sheet); + } assert(css_finalise(myrealloc, NULL) == CSS_OK); |