From b1fa49448d3c18e2d44b5e35e59795e0e7aa9078 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 14 Jan 2019 14:39:01 -0800 Subject: [PATCH] Regenerate parsers on CI --- .appveyor.yml | 17 ++++++++++------- .travis.yml | 15 +++++++++++---- script/format | 7 ------- script/lint | 14 -------------- script/regenerate-fixtures | 27 +++++++++++++++++++++++++++ script/regenerate-fixtures.cmd | 22 ++++++++++++++++++++++ 6 files changed, 70 insertions(+), 32 deletions(-) delete mode 100755 script/format delete mode 100755 script/lint create mode 100755 script/regenerate-fixtures create mode 100644 script/regenerate-fixtures.cmd diff --git a/.appveyor.yml b/.appveyor.yml index 147827e9..f46e34e6 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,9 +1,4 @@ -environment: - RUST_BACKTRACE: full - TREE_SITTER_TEST: true - build: false - install: # Install rust - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe @@ -14,10 +9,18 @@ install: # Install dependencies - git submodule update --init - - script\fetch-fixtures.cmd + +environment: + RUST_BACKTRACE: full test_script: - - cargo build + # Fetch and regenerate the fixture parsers + - script\fetch-fixtures.cmd + - cargo build --release + - script\regenerate-fixtures.cmd + + # Run tests + - set TREE_SITTER_TEST=1 - cargo test branches: diff --git a/.travis.yml b/.travis.yml index 0d4f8cd5..c281ef95 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,20 @@ language: rust - rust: - stable env: - - TREE_SITTER_TEST=1 RUST_BACKTRACE=full + - RUST_BACKTRACE=full -before_install: - - ./script/fetch-fixtures +script: + # Fetch and regenerate the fixture parsers + - script/fetch-fixtures + - cargo build --release + - script/regenerate-fixtures + + # Run tests + - export TREE_SITTER_TEST=1 + - export TREE_SITTER_STATIC_ANALYSIS=1 + - cargo test branches: only: diff --git a/script/format b/script/format deleted file mode 100755 index 1aa8fbee..00000000 --- a/script/format +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -DIRS="${*:-src include}" - -find $DIRS \ - -name '*.c' -or -name '*.cc' -or -name '*.h' | \ - xargs clang-format -i -style=file diff --git a/script/lint b/script/lint deleted file mode 100755 index 3d6a03dc..00000000 --- a/script/lint +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -CPPLINT=externals/cpplint.py -CPPLINT_URL=http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py - -if [[ ! -f $CPPLINT ]]; then - curl $CPPLINT_URL > $CPPLINT - chmod +x $CPPLINT -fi - -FILTERS='--filter=-legal/copyright,-readability/todo,-build/c++11' - -$CPPLINT --linelength=90 --root=include $FILTERS include/tree_sitter/compiler.h 2>&1 -$CPPLINT --linelength=90 --root=src $FILTERS $(find src/compiler -type f) 2>&1 diff --git a/script/regenerate-fixtures b/script/regenerate-fixtures new file mode 100755 index 00000000..15e3c09d --- /dev/null +++ b/script/regenerate-fixtures @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -e + +root_dir=$PWD +tree_sitter=${root_dir}/target/release/tree-sitter +grammars_dir=${root_dir}/test/fixtures/grammars + +grammar_names=( + bash + c + cpp + embedded-template + go + html + javascript + json + python + rust +) + +for grammar_name in "${grammar_names[@]}"; do + echo "Regenerating ${grammar_name} parser" + cd ${grammars_dir}/${grammar_name} + $tree_sitter generate src/grammar.json + cd $PWD +done diff --git a/script/regenerate-fixtures.cmd b/script/regenerate-fixtures.cmd new file mode 100644 index 00000000..739bdba1 --- /dev/null +++ b/script/regenerate-fixtures.cmd @@ -0,0 +1,22 @@ +@echo off + +call:regenerate bash +call:regenerate c +call:regenerate cpp +call:regenerate embedded-template +call:regenerate go +call:regenerate html +call:regenerate javascript +call:regenerate json +call:regenerate python +call:regenerate rust +EXIT /B 0 + +:regenerate +SETLOCAL +SET tree_sitter=%cd%\target\release\tree-sitter +SET grammar_dir=test\fixtures\grammars\%~1 +pushd %grammar_dir% +%tree_sitter% generate src\grammar.json +popd +EXIT /B 0