void test_crash()

in native/src/tests.c [97:126]


void test_crash() {
  FILE *f = fopen("/Users/jetzajac/Projects/jsitter/testData/router_go", "r");
  fseek (f, 0, SEEK_END);
  size_t s = ftell(f);
  rewind(f);
  void *b = malloc(s + 1000);
  fread(b, s, 1, f);
  TSParser *parser = ts_parser_new();
  ts_parser_set_language(parser, tree_sitter_go());
  TSTree *tree = ts_parser_parse_string(parser,
                                        NULL,
                                        (const char *)b,
                                        s);
  TSTree *copy = ts_tree_copy(tree);
  //for (int i = 0; i < 100; ++i) {
  int i = 2; {
    printf("i = %d\n", i);
    //str_insert(1000 + i, 'x', b, s + i);
    TSTree *copy = ts_tree_copy(tree);
    TSInputEdit e; // + 8
    e.start_byte = 2000;
    e.old_end_byte = 2000;
    e.new_end_byte = 2000 + i;
    ts_tree_edit(copy, &e);
    TSTree *new_tree = ts_parser_parse_string(parser, copy, b, s);
    ts_tree_delete(copy);
    ts_tree_delete(new_tree);
    ts_parser_reset(parser);
  }
}