Merge pull request #169 from tree-sitter/fuzz-driver
Update fuzzer to new API
This commit is contained in:
commit
5cb4b953e5
1 changed files with 7 additions and 9 deletions
|
|
@ -1,23 +1,21 @@
|
|||
#include <string.h>
|
||||
#include <cassert>
|
||||
#include "tree_sitter/runtime.h"
|
||||
|
||||
void test_log(void *payload, TSLogType type, const char *string) { }
|
||||
|
||||
TSLogger logger = {
|
||||
.log = test_log,
|
||||
};
|
||||
|
||||
extern "C" const TSLanguage *TS_LANG();
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
const char *str = reinterpret_cast<const char *>(data);
|
||||
|
||||
TSParser *parser = ts_parser_new();
|
||||
ts_parser_set_language(parser, TS_LANG());
|
||||
|
||||
// This can fail if the language version doesn't match the runtime version
|
||||
bool language_ok = ts_parser_set_language(parser, TS_LANG());
|
||||
assert(language_ok);
|
||||
|
||||
ts_parser_halt_on_error(parser, TS_HALT_ON_ERROR);
|
||||
|
||||
TSTree *tree = ts_parser_parse_string(parser, NULL, str, size);
|
||||
TSNode root_node = ts_document_root_node(tree);
|
||||
TSNode root_node = ts_tree_root_node(tree);
|
||||
|
||||
ts_tree_delete(tree);
|
||||
ts_parser_delete(parser);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue