You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
Markdown
76 lines
1.9 KiB
Markdown
7 years ago
|
# PEG.js Test Suites
|
||
|
|
||
|
This directory contains various test suites and scripts to ensure PEG.js works correctly.
|
||
|
|
||
|
* [Spec Suite](spec): Runs various test's that ensure PEG.js and it's generated parsers are working as intended. All tests should always pass on all supported platforms.
|
||
|
* [Benchmark Suite](benchmark): It measures speed of the parsers generated by PEG.js on various inputs. Its main goal is to provide data for code generator optimizations.
|
||
|
* [Impact Script](impact): Measures impact of a Git commit (or multiple commits) on generated parsers speed and size.
|
||
|
|
||
|
## Download and Install
|
||
|
|
||
|
To run the PEG.js test suites you most download the and install the module via the git repository:
|
||
|
|
||
|
1. Make sure you have Node.js and Git installed.
|
||
|
|
||
|
2. Download via Git and change the currently working directory:
|
||
|
|
||
|
```console
|
||
|
$ git clone https://github.com/pegjs/pegjs.git
|
||
|
$ cd pegjs
|
||
|
```
|
||
|
|
||
|
3. Install all dependencies, including the development dependencies:
|
||
|
|
||
|
```console
|
||
|
$ npm install
|
||
|
```
|
||
|
|
||
|
4. Install Gulp globally:
|
||
|
|
||
|
```console
|
||
|
$ npm install gulp -g
|
||
|
```
|
||
|
|
||
|
5. Processed...
|
||
|
|
||
|
* [Running in Node.js](#running-in-nodejs)
|
||
|
* [Running in the Browser](#running-in-the-browser)
|
||
|
|
||
|
## Running in Node.js
|
||
|
|
||
|
The commands below need to be executed via the console from the PEG.js root directory (one level up from this one), after which they will output their results (if any).
|
||
|
|
||
|
* Execute source code linting:
|
||
|
|
||
|
```console
|
||
|
$ gulp lint
|
||
|
```
|
||
|
|
||
|
* Execute the spec test suite:
|
||
|
|
||
|
```console
|
||
|
$ gulp test
|
||
|
```
|
||
|
|
||
|
* Execute the benchmark suite:
|
||
|
|
||
|
```console
|
||
|
$ gulp benchmark
|
||
|
```
|
||
|
|
||
|
* Execute the impact suite:
|
||
|
|
||
|
```console
|
||
|
$ node test/impact
|
||
|
```
|
||
|
|
||
|
## Running in the Browser
|
||
|
|
||
|
1. Serve the test suites using a web server:
|
||
|
|
||
|
```console
|
||
|
$ node test/server/run
|
||
|
```
|
||
|
|
||
|
2. Point your browser to the [test suite](http://localhost:8000/)
|