summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Complete conversion to github actions (#1431)Sam Clegg2020-05-187-232/+0
|
* Move flake8 CI from travis to github actions (#1419)Sam Clegg2020-05-112-10/+1
|
* Fix flake8 failures (#1358)Ben Smith2020-03-131-1/+1
|
* Remove support for python2 (#1321)Sam Clegg2020-01-312-2/+1
|
* [travis] Limit use of sudo (#1323)Sam Clegg2020-01-301-3/+1
| | | | | | | We only need sudo for the i668 builder that needs extra packages. Also, name each element of the matrix Also, remove a bunch of unuser settings from the emcripten build.
* Switch python indentation from 2-space to 4-space (#1145)Sam Clegg2019-08-152-74/+74
| | | | | | | | pep8 specifies 4 space indentation. The use of 2 spaces is, I believe, a historical anomaly where certain large organizations such as google chose 2 over 4 and have yet to make the switch. For a project like wabt with little python code I think the cost of switching is small enough to justify the churn.
* Run flake8 on the whole repository (#1144)Guanzhong Chen2019-08-151-1/+1
|
* Fix fuzzing bugs in wat2wasm (#1129)Ben Smith2019-07-241-1/+3
| | | | | * More bugs w/ bad strings (newlines and bad escapes) * Incorrect hex-float exponent * Update fuzz-wat2wasm.sh to enable features
* Fix some fuzz bugs in wasm2wat (#1128)Ben Smith2019-07-231-1/+3
| | | | Also update the fuzz script to enable various features, so they get fuzz testing too.
* Rewrite the lexer manually, instead of re2c (#1058)Ben Smith2019-04-033-13/+2
| | | | | The current lexer uses re2c. It easy to change, but it generates a huge amount of code, and it's easy to forgot to update it. This PR rewrites the lexer manually, and uses gperf instead to match keywords. The generated source is much smaller.
* [travis] Deploy tools webassembly bucket on GCSBen Smith2019-03-061-1/+19
|
* Add wasm-objdump fuzzing script; fix fuzz bugs (#1023)Ben Smith2019-02-201-0/+24
|
* [appveyor] Generate sha256 file for deploymentBen Smith2019-01-161-0/+1
| | | | Not sure this will work.
* [appveyor] Maybe fix deploy issuesBen Smith2018-07-251-3/+5
|
* Some fixes for binary releases (#879)Ben Smith2018-07-253-1/+60
| | | | | * Create the artifacts before they are packaged (`before_deploy` happens afterward) * MacOS doesn't have sha256, so use python
* Binary releases for travis/appveyor (#876)Ben Smith2018-07-241-0/+32
| | | Fixes #875, maybe.
* Verify emscripten build compiles on travis (#740)Alon Zakai2018-01-272-0/+21
|
* Run wabt-unittests in coverage script (#701)Ben Smith2017-12-191-0/+1
|
* Fix coverage build with clang (#697)Sam Clegg2017-12-181-1/+1
|
* Rename wast2wasm -> wat2wasm, wast2json (#617)Ben Smith2017-09-081-1/+1
| | | | * wat2wasm only parses wat files (individual modules) * wast2json parses spec test files and generates json + wasm
* Rename wasm2wast -> wasm2wat (#616)Ben Smith2017-09-081-1/+1
| | | See issue #543.
* Rewrite parser as recursive descent (#591)Ben Smith2017-08-153-5/+5
| | | | | | | | | | | | | | | | | | * Remove Bison dependency * Remove pre-generated parser files * Rename build config from no-re2c-bison to no-re2c * Add a simple make_unique implementation * Move handling of module bindings into ir.cc * Simplify lexer - Remove lookahead, the parser handles this now - Unify Token/LexerToken, it only contains terminal values now - Refactor setting token type and value into one function (e.g. LITERAL, RETURN => RETURN_LITERAL) * New Parser - Uses two tokens of lookahead (use Peek(0) or Peek(1)) - Consume() consumes one token of any kind - Match(t) consumes the current token if it matches - PeekMatch(t) returns true iff the token matches, but doesn't consume - Basic error synchronization; plenty of room for improvement here
* Update testsuite; various lexing/parsing fixes (#482)Ben Smith2017-06-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update testsuite; various lexing/parsing fixes Lexer changes: * Switch re2c parser to UTF-8 parser. This can almost be done "for free" with a flag, but required a bit of work to allow us to catch malformed UTF-8 as well. * Change the re2c fill value to 0xff, since it's never a valid UTF-8 byte. * Allow for more reserved tokens (basically any ascii aside from parentheses, double-quote, and semi-colon) * Remove "infinity" from lexer, only "inf" is allowed now. * Change definition of EOF token, it was implemented incorrectly. The correct way to handle it is to only return it from FILL when there is no more data to fill. * \r is a valid escape. Parser changes: * Changes to match the spec parser: - block signatures use (result <type>) syntax - func/global/table/memory can have multiple inline exports - inline imports are handled in func definition instead of import definition - allow for inline modules (i.e. no "(module ...)" s-expr required) * Remove FuncField. This was previously used for parsing params/results/locals, but it's less code to just parse right-recursive (i.e. backward) and insert everything at the front. This requires reversing the indexes in the BindingHash too. * Remove the nasty macros `APPEND_FIELD_TO_LIST`, `APPEND_ITEM_TO_VECTOR`, `APPEND_INLINE_EXPORT`, and `CHECK_IMPORT_ORDERING`. This behavior is all handled by `append_module_fields` now. * All inline imports/exports are handled by returning additional ModuleFields in a list. This removes the need for `OptionalExport`, `ExportedFunc`, `ExportedGlobal`, `ExportedTable`, and `ExportedMemory`. * Use "_opt" suffix instead of "non_empty_" prefix, e.g.: - text_list => text_list_opt, non_empty_text_list => text_list * The locations changed for some symbols, typically the use the name following the LPAR now, e.g. (import ^^^^^^ * Add PPA for re2c 0.16 * add -y to skip confirmation on travis
* Add fuzzing helper scripts, fix fuzzing bugs (#416)Ben Smith2017-05-122-0/+48
| | | | | | | | | | | | | | | | | | | * Add fuzzing helper scripts, fix fuzzing bugs The fuzzing dictionary was old, so I updated it. Also, I've added some simple fuzzing shell scripts that make it a bit easier to run. Bug fixes: * Validate function index in local name section before calling callback. * Fix invalid assert in parse_{float,double}_infinity, which assumed that "infinity" is required (it could be "inf"). * Bail out of resolve local names if there is no current function (e.g. if attempting to resolve names in an elem offset expression). * Catch bad_alloc in wast2wasm and wasm2wast. Without this, afl-fuzz will see allocation failure as a crash. * disable exceptions by default, add option, wrap tools in try/catch
* Return non-zero on travis if tests fail (#383)Sam Clegg2017-03-311-3/+12
| | | | | | * Return non-zero on travis if tests fail Oops, we were silently ignoring tests failures on traivs.
* Add wabt::string_view, based on C++17 string_view (#359)Ben Smith2017-03-171-2/+3
| | | | | * Add wabt::string_view, based on C++17 string_view Also add wabt-unittests to test it.
* Only run flake8 on Travis Linux (#335)Ben Smith2017-03-051-1/+3
| | | It isn't installed on Mac. This fixes the mac build (issue #325).
* Remove WabtAllocator (#307)Ben Smith2017-02-172-3/+0
| | | | It complicates the code everywhere. It's faster to use a stack allocator, but not worth the trouble for maintainability.
* add gcc-debug-cov code coverage build (#303)Ben Smith2017-02-151-0/+40
|
* Rename all wasm prefixes to wabt (#298)Ben Smith2017-01-311-6/+6
|
* Run flake8 during travis builds (#281)Sam Clegg2017-01-182-0/+3
|
* Pass --bindir to test helpers rather than full path to each tool (#273)Sam Clegg2017-01-121-2/+1
| | | This simplifies the invocations and aids maintainability.
* Move import to top of Python file (#191)Derek Schuff2016-10-261-2/+2
| | | Move import to top of Python file, and remove extra blank lines to satisfy Appveyor's version of flake8
* Add appveyor.yml from Binaryen (#189)Derek Schuff2016-10-261-6/+7
| | | | | | | | * Add appveyor.yml from Binaryen * Update gen-emscripten-exported-json.py to comply (almost) with PEP8 * fix typo
* Add wasmdump binary for inspecting wasm files (#161)Sam Clegg2016-10-121-1/+1
| | | | | | * Add wasmdump binary for inspecting wasm files Run this tool to as part of the 'dump' tests rather than using the -d flag to wast2wasm.
* Add wasmopcodecnt testsBen Smith2016-10-101-20/+1
| | | | | Also rename the last few places using SexprWasm, WasmWast. Make formatting a little nicer too.
* Fix broken 'run-tests' target (#104)Sam Clegg2016-09-221-5/+5
| | | | | | | | This is followup to (#102) which renamed the executable files. It propagated the rename the tools and test runner. It also fixes the 'run-tests' target which was passing the wrong argument name to the run_tests.py script.
* remove JavaScript engine testing (#89)Ben Smith2016-06-1710-369/+0
| | | | | It's not really the appropriate place to handle it. Now that we have wasm-wast and wasm-interp, we can at least verify that the tools are internally consistent.
* add script to generate emscripten-exported.jsonBen Smith2016-05-131-0/+108
| | | | | It would be nicer to have this automatically integrated with the build, but this is OK for now.
* fix build-sm script to use GH archiveBen Smith2016-05-125-46/+55
| | | | | You can't git clone to a specific commit SHA, so we just download the source archive from Github.
* scripts for building/{up,down}loading spidermonkeyBen Smith2016-05-104-0/+149
|
* OSX travis buildBen Smith2016-05-051-0/+27
|
* {download,upload}-d8.sh scripts support MacOSXBen Smith2016-05-057-21/+46
| | | | Also, remove uses of readlink -f because they don't work on OSX.
* create wider but shallower travis build matrixBen Smith2016-04-303-32/+16
|
* update v8, and fix testsBen Smith2016-04-292-2/+2
|
* lex using re2c instead of flexBen Smith2016-04-212-3/+3
|
* add wasm-interp to travis-test.shBen Smith2016-04-021-13/+27
| | | | | Also refactor travis-test.sh a bit so it's easier to add more executables.
* clean up Makefile and CMakeLists.txtBen Smith2016-04-013-6/+6
| | | | | Primarily this is moving the sanitizer builds out of CMakeLists.txt and into the Makefile. It's much cleaner this way.
* a few more fixes for roundtrip testsBen Smith2016-03-211-14/+20
| | | | | | | | * write roundtrip files to a different location so two threads don't fight over writing it (probably should just write it once, but I can optimize that later) * refactor travis-test.sh a bit to cleanup passing args to run_tests * pass args when running gcc/Debug-no-flex-bison
* travis-test.sh now handles wasm-wastBen Smith2016-03-211-13/+13
|