A very-simple-subset-of-haskell fuzzer
Project description
A very-simple-subset-of-haskell fuzzer. With the ability to generate lexical tokens as well as plain code.
```
module Generated (function0,function1,function2) where
function0 :: Int -> Bool -> Bool -> Bool -> Bool -> Int -> Int
function0 a b c d e f = (function1 (2 /= 7) False False)
function1 :: Bool -> Bool -> Bool -> Int
function1 a b c = (8 * 0)
function2 :: Bool -> Int
function2 a = 1
```
it's available on pip by `pip install huzzer`
## Setup
Make sure you have python3 on your machine (`which python3` should print a path to it).
Set up a `virtualenv` with `virtualenv -p \`which python3\` env`
Activate the environment with `source env/bin/activate`
Install requirements `pip install -r requirements.txt`
Then you should be good to go. To leave the virtualenv, type `deactivate`
## Testing
To run all of the tests, run `nosetests`.
To run larger acceptance tests (against the ghc compiler), you will need `ghc` and `parallel` installed.
run `./large_acceptance_test.sh <number of tests>`
## TODOs
* multiple definitions for functions
### Distribution
make sure to remove older versions of the package
```
python setup.py sdist bdist_wheel
twine upload dist/*
```
```
module Generated (function0,function1,function2) where
function0 :: Int -> Bool -> Bool -> Bool -> Bool -> Int -> Int
function0 a b c d e f = (function1 (2 /= 7) False False)
function1 :: Bool -> Bool -> Bool -> Int
function1 a b c = (8 * 0)
function2 :: Bool -> Int
function2 a = 1
```
it's available on pip by `pip install huzzer`
## Setup
Make sure you have python3 on your machine (`which python3` should print a path to it).
Set up a `virtualenv` with `virtualenv -p \`which python3\` env`
Activate the environment with `source env/bin/activate`
Install requirements `pip install -r requirements.txt`
Then you should be good to go. To leave the virtualenv, type `deactivate`
## Testing
To run all of the tests, run `nosetests`.
To run larger acceptance tests (against the ghc compiler), you will need `ghc` and `parallel` installed.
run `./large_acceptance_test.sh <number of tests>`
## TODOs
* multiple definitions for functions
### Distribution
make sure to remove older versions of the package
```
python setup.py sdist bdist_wheel
twine upload dist/*
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
huzzer-0.1.0.tar.gz
(16.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
huzzer-0.1.0-py3-none-any.whl
(20.8 kB
view details)
File details
Details for the file huzzer-0.1.0.tar.gz.
File metadata
- Download URL: huzzer-0.1.0.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9da8d9ced3a3c7b80f4bf1c96bcbcd2629aeb99e77ab2800f5c1380dbe8ab97e
|
|
| MD5 |
3f92ae8797a39da3ae1f36326bcbc7b5
|
|
| BLAKE2b-256 |
7efa5b47c6a3a6514768f35fb7ff57c230e43949c0b27cced9fe597f034542d8
|
File details
Details for the file huzzer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: huzzer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1aee83bb5931462714c3db5dc965eba81d21ea7165a05157a2238d76e820fb67
|
|
| MD5 |
b2125e61881e1775e44df71ee1e4f564
|
|
| BLAKE2b-256 |
66d2a2ecbb528f6ecd730ed515469102098eb0a15f85c751c22817e7e473968a
|