int main(void) { jscoverage_init(); Stream * stream = Stream_new(0); FILE * f = xfopen("store.json", "r"); Stream_write_file_contents(stream, f); fclose(f); Coverage * coverage = Coverage_new(); int result = jscoverage_parse_json(coverage, stream->data, stream->length); assert(result == 0); Coverage_delete(coverage); Stream_delete(stream); jscoverage_cleanup(); exit(EXIT_SUCCESS); }
int main(int argc, char ** argv) { int verbose = 0; // program = argv[0]; program = "jscoverage"; char * source = NULL; char * destination = NULL; char ** no_instrument = xnew(char *, argc - 1); int num_no_instrument = 0; char ** exclude = xnew(char *, argc - 1); int num_exclude = 0; jscoverage_highlight = false; for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) { copy_resource_to_stream("jscoverage-help.txt", stdout); exit(EXIT_SUCCESS); } else if (strcmp(argv[i], "-V") == 0 || strcmp(argv[i], "--version") == 0) { version(); } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) { verbose = 1; } else if (strcmp(argv[i], "--mozilla") == 0) { jscoverage_mozilla = true; jscoverage_set_js_version("180"); } else if (strcmp(argv[i], "--no-instrument") == 0) { i++; if (i == argc) { fatal_command_line("--no-instrument: option requires an argument"); } no_instrument[num_no_instrument] = argv[i]; num_no_instrument++; } else if (strncmp(argv[i], "--no-instrument=", 16) == 0) { no_instrument[num_no_instrument] = argv[i] + 16; num_no_instrument++; } else if (strcmp(argv[i], "--exclude") == 0) { i++; if (i == argc) { fatal_command_line("--exclude: option requires an argument"); } exclude[num_exclude] = argv[i]; num_exclude++; } else if (strncmp(argv[i], "--exclude=", 10) == 0) { exclude[num_exclude] = argv[i] + 10; num_exclude++; } else if (strcmp(argv[i], "--encoding") == 0) { i++; if (i == argc) { fatal_command_line("--encoding: option requires an argument"); } jscoverage_encoding = argv[i]; } else if (strncmp(argv[i], "--encoding=", 11) == 0) { jscoverage_encoding = argv[i] + 11; } else if (strcmp(argv[i], "--js-version") == 0) { i++; if (i == argc) { fatal_command_line("--js-version: option requires an argument"); } jscoverage_set_js_version(argv[i]); } else if (strncmp(argv[i], "--js-version=", 13) == 0) { jscoverage_set_js_version(argv[i] + 13); } else if (strncmp(argv[i], "-", 1) == 0) { fatal_command_line("unrecognized option `%s'", argv[i]); } else if (source == NULL) { source = argv[i]; } else if (destination == NULL) { destination = argv[i]; } else { fatal_command_line("too many arguments"); } } if (source == NULL || destination == NULL) { fatal_command_line("missing argument"); } source = make_canonical_path(source); destination = make_canonical_path(destination); jscoverage_init(); jscoverage_instrument(source, destination, verbose, exclude, num_exclude, no_instrument, num_no_instrument); jscoverage_cleanup(); free(source); free(destination); free(exclude); free(no_instrument); exit(EXIT_SUCCESS); }