• Stars
    star
    118
  • Rank 299,923 (Top 6 %)
  • Language
    C
  • License
    MIT License
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

property testing and verification front-end for Rust

bolero

Build Status Latest version Documentation License

fuzz and property testing front-end for Rust

Book

A copy of the Bolero Book can be found here: http://camshaft.github.io/bolero

Quick Start

  1. Install subcommand and add a dependency

    $ cargo add --dev bolero
    $ cargo install -f cargo-bolero
  2. Write a test using bolero::check! macro:

    pub fn buggy_add(x: u32, y: u32) -> u32 {
        if x == 12976 && y == 14867 {
            return x.wrapping_sub(y);
        }
        return x.wrapping_add(y);
    }
    
    #[test]
    fn fuzz_add() {
        bolero::check!()
            .with_type()
            .cloned()
            .for_each(|(a, b)| buggy_add(a, b) == a.wrapping_add(b));
    }
  3. Run the test with cargo bolero

    $ cargo bolero test fuzz_add
    
    # ... some moments later ...
    
    ======================== Test Failure ========================
    
    Input:
    (
        12976,
        14867,
    )
    
    Error:
    test returned `false`
    
    ==============================================================

Linux Installation

cargo-bolero needs a couple of libraries installed to compile. If these libraries aren't available the requirement can be relaxed by executing cargo install cargo-bolero --no-default-features -f

Debian/Ubuntu

$ sudo apt install binutils-dev libunwind-dev

More Repositories

1

superagent-defaults

Create some defaults for superagent requests
JavaScript
63
star
2

jsont

Simple json template language
JavaScript
35
star
3

netrc

Parse netrc files
JavaScript
20
star
4

osc_ex

OSC encoder/decoder for elixir
Elixir
10
star
5

startup

Node.js HTTP app runner
JavaScript
9
star
6

scarab

content-addressable file storage for elixir
Elixir
9
star
7

pkcs7.erl

PKCS7 binary padding for erlang
Erlang
7
star
8

world_json_ex

elixir module for the world in geo.json
Ruby
6
star
9

multix

multimethods for elixir
Elixir
6
star
10

component-link

Local package linking for component
JavaScript
5
star
11

collection-json-browser

Easily browse through collection+json apis
CoffeeScript
5
star
12

require-component

Require component and npm modules
JavaScript
5
star
13

envs

Track environment variable usage
JavaScript
4
star
14

js2ex

just a crazy idea
Elixir
4
star
15

bitfield.erl

Simple bitfields for erlang/elixir
Elixir
4
star
16

simple_secrets_ex

A simple, opinionated library for encrypting small packets of data securely.
Elixir
4
star
17

metric-log

Log metrics in a simple key=value format for easy parsing
JavaScript
4
star
18

scaff

Agnostic scaffolding framework
JavaScript
3
star
19

rl

Live programming environment for Elixir/Erlang
Elixir
3
star
20

ast2template

convert an ast to a template function
JavaScript
3
star
21

nile

Elixir stream extensions
Elixir
3
star
22

rework-modules

Rework plugin for modular css
JavaScript
3
star
23

shenu

set of utilities for parsing, handling, and comparing messages
Elixir
3
star
24

mimetype_parser

parse mimetypes
Erlang
3
star
25

plug_accept_language

parse the accept-language header
Elixir
3
star
26

html_builder

generate html in elixir with simple data structures
Elixir
3
star
27

euphony-rs

Music composition environment for programmers
Rust
3
star
28

w3spring

Play Warcraft 3 in the Spring RTS Engine
Python
3
star
29

world-json

topojson files for countries and states/provinces
JavaScript
3
star
30

pool_ring

create a pool based on a hash ring
Elixir
3
star
31

ex_formula

Parse Excel formulas in Elixir
Elixir
2
star
32

BytheStack

Mac+Nginx+NodeJS+PHP+Python+Ruby+MySQL+MongoDB. 'Nuff said.
Objective-C
2
star
33

cowboy_route_loader

Load and compile cowboy routes from a file
Erlang
2
star
34

cowboy_robots

Robots.txt middleware for cowboy
Erlang
2
star
35

cowboy_compiled_router

compiled router for cowboy
Erlang
2
star
36

canary-store

feature flag store
JavaScript
2
star
37

component-json

Component plugin for requiring JSON files
JavaScript
2
star
38

passport-heroku-sso

Passport strategy for heroku addon sso
JavaScript
2
star
39

riemann-node-response-time

Response Time Middleware for Node.js
JavaScript
2
star
40

cowboy_request_id

Get/generate a request id in cowboy
Erlang
2
star
41

count_buffer

buffer a large set of counters and flush periodically
Elixir
2
star
42

ex_euphony

Erlang
1
star
43

log

Stream client side logs over a websocket (with http post fallback)
JavaScript
1
star
44

pivot-ui

UI Interface for pivot
JavaScript
1
star
45

bootstrap-dropdowns

Bootstrap Dropdowns Component
JavaScript
1
star
46

cowboy_env

Serve multiple environments on the same infrastructure
Erlang
1
star
47

postcss-runtime

compile PostCSS to JS
JavaScript
1
star
48

fast_key

Super-tiny library for getting a value from a proplist or a map
Erlang
1
star
49

bootstrap-tables

Bootstrap Tables Component
1
star
50

ring_buf

ETS backed ring buffer
Erlang
1
star
51

svg2pdf-service

JavaScript
1
star
52

bootstrap-type

Bootstrap Type Component
1
star
53

plug_x_forwarded_for

x-forwarded-for plug middleware
Elixir
1
star
54

bullet.js

jQuery-free version of bullet
JavaScript
1
star
55

bootstrap-forms

Bootstrap Form Components
1
star
56

cowboy_base

get the base url for a cowboy request
Erlang
1
star
57

syslog-header

Syslog header parser
Erlang
1
star
58

resume

My personal resume
1
star
59

dom-transform

Functional and immutable dom transformer for node and the browser
JavaScript
1
star
60

cowboy_fun

Adds ability to use funs in cowboy middleware
Erlang
1
star
61

ibis

JavaScript
1
star
62

ex_supercollider

SuperCollider interface for Elixir
Elixir
1
star
63

riemann-syslog

Syslog forwarder for Riemann
Erlang
1
star
64

canary-ui

feature variant selection ui for canary-store
JavaScript
1
star
65

zfmustache

Mustache Views for Zend Framework
PHP
1
star
66

webmachine.js

Webmachine for Node.js
CoffeeScript
1
star
67

ot_erl

Collection of Operational Transformations in Erlang
Erlang
1
star
68

ng-alias

An angular directive to alias a variable
JavaScript
1
star
69

hyper-emitter-ws

WebSocket plugin for hyper-emitter
JavaScript
1
star
70

json_stringify

simple json stringify for erlang
Makefile
1
star
71

snowplow-nginx-collector

collect snowplow events with nginx
HTML
1
star
72

privdir

Get the priv dir for an erlang application
Erlang
1
star
73

syslog-pipeline-ws

Websocket/HTTP syslog pipeline
Erlang
1
star
74

syn_osc_ex

SynOSC encoder/decoder for elixir
Elixir
1
star
75

pivot.erl

Simple feature variant testing framework for erlang
Erlang
1
star
76

jxa-cowboy

joxa macros for cowboy
1
star
77

heroku-buildpack-component-deref

Dereference the component build dir in heroku
Shell
1
star