Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial implementation of differential fuzzing #385

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
d058226
basic setup
satyamakgec Apr 26, 2021
055dfb0
rearrangement of tests and use test-utils in tests and fuzz both
satyamakgec May 2, 2021
1e63dc2
rearrangement of tests
satyamakgec May 2, 2021
5547677
update versions
satyamakgec May 2, 2021
33a76d5
fix conflicts
satyamakgec May 3, 2021
b1f86b6
fix tests
satyamakgec May 5, 2021
67b1727
add solidity fuzzing
satyamakgec May 6, 2021
7487543
fix path issue
satyamakgec May 6, 2021
e7382ee
fix tests
satyamakgec May 6, 2021
f99b29d
convert tests into dev-dependencies
satyamakgec May 6, 2021
0d95bc2
Guestbook example: Make messages private
cburgdorf May 12, 2021
4fde74c
Create OS specific buttons that link to binary
cburgdorf May 11, 2021
5e149b4
Add installation guide
cburgdorf May 11, 2021
70f34e5
Add guide on how to write a first contract
cburgdorf May 12, 2021
689f95e
introduce the absolute path
satyamakgec May 16, 2021
417ac5b
resolve merge conflicts
satyamakgec May 16, 2021
87b2c4e
remove compiler tests library from the cargo.toml
satyamakgec May 16, 2021
ba3a3f9
add tests under workspace
satyamakgec May 17, 2021
97f4125
Trigger Build
satyamakgec May 17, 2021
934ffb5
Merge pull request #403 from cburgdorf/christoph/docs/guides
g-r-a-n-t May 17, 2021
83f42f3
Unit type and lowering of unit type returns.
g-r-a-n-t May 12, 2021
10831c8
Fix broken link
Y-Nak May 20, 2021
3d1a9da
Merge pull request #406 from g-r-a-n-t/agroce-293
g-r-a-n-t May 20, 2021
0bfafe9
[parser] Allow hex/octal/binary radix literals
Y-Nak May 19, 2021
25605dc
[common] Add `numeric::Literal`
Y-Nak May 19, 2021
6f6946a
[analyzer] Allow hex/octal/bianry radix literals
Y-Nak May 19, 2021
8513f75
[compiler] Add lowering pass for hex/octal/binary radix literals
Y-Nak May 19, 2021
0686e05
Fix missing --workspace in clippy arguments
Y-Nak May 20, 2021
58ad657
Make clippy happy
Y-Nak May 20, 2021
4df63f4
Merge pull request #410 from Y-Nak/numerics
sbillig May 20, 2021
3b414ec
Merge pull request #412 from Y-Nak/missing-workspace-in-clippy
sbillig May 20, 2021
00eb8f3
basic setup
satyamakgec Apr 26, 2021
42e5c2f
rearrangement of tests and use test-utils in tests and fuzz both
satyamakgec May 2, 2021
3ab8f48
rearrangement of tests
satyamakgec May 2, 2021
37d1169
update versions
satyamakgec May 2, 2021
03fdd47
fix conflicts
satyamakgec May 3, 2021
2b95dbb
fix tests
satyamakgec May 5, 2021
9123a03
add solidity fuzzing
satyamakgec May 6, 2021
67273da
fix path issue
satyamakgec May 6, 2021
336617b
fix tests
satyamakgec May 6, 2021
7f3be87
convert tests into dev-dependencies
satyamakgec May 6, 2021
5e40137
introduce the absolute path
satyamakgec May 16, 2021
0cb4c0d
remove compiler tests library from the cargo.toml
satyamakgec May 16, 2021
95833b2
add tests under workspace
satyamakgec May 17, 2021
780f6c3
Trigger Build
satyamakgec May 17, 2021
9be4a96
minor fixes and switch off the wasm tests
satyamakgec May 23, 2021
d753deb
minor fixes
satyamakgec May 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
249 changes: 123 additions & 126 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,169 +2,166 @@ name: CI

on:
push:
branches: [ master ]
branches: [master]
tags:
- v*

pull_request:
branches: [ master ]
branches: [master]

env:
CARGO_TERM_COLOR: always

jobs:

coverage:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Install system dependencies
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: coverage with tarpaulin
run: |
cargo install cargo-tarpaulin
make coverage
bash <(curl -s https://codecov.io/bash)
- uses: actions/checkout@v2
- name: Install system dependencies
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: coverage with tarpaulin
run: |
cargo install cargo-tarpaulin
make coverage
bash <(curl -s https://codecov.io/bash)

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install system dependencies
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Validate release notes entry
run: ./newsfragments/validate_files.py
- name: Lint with rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Lint with clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --all-features -- -D warnings
- uses: actions/checkout@v2
- name: Install system dependencies
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Validate release notes entry
run: ./newsfragments/validate_files.py
- name: Lint with rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Lint with clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --workspace --all-targets --all-features -- -D warnings

test:
# Build & Test runs on all platforms
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
- os: macOS-latest
- os: ubuntu-latest
- os: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install Mac System dependencies
if: startsWith(matrix.os,'macOS')
run: |
brew install boost
- name: Install Linux dependencies
if: startsWith(matrix.os,'ubuntu')
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Build
run: cargo build --all-features --verbose
- name: Run tests
run: cargo test --workspace --features solc-backend --verbose

wasm-test:
runs-on: ubuntu-latest
container: davesque/rust-wasm
steps:
- uses: actions/checkout@v2
- name: Cache Rust dependencies
uses: actions/cache@v1.1.2
with:
# There's a problem with caching serde, hence we exclude it here
path: |
target
!target/**/*serde*
key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }}
- name: Install Mac System dependencies
if: startsWith(matrix.os,'macOS')
run: |
brew install boost
- name: Install Linux dependencies
if: startsWith(matrix.os,'ubuntu')
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Run WASM tests
run: wasm-pack test --node -- --workspace
- name: Build
run: cargo build --all-features --verbose
- name: Run tests
run: cargo test --workspace --features solc-backend --verbose

# wasm-test:
# runs-on: ubuntu-latest
# container: davesque/rust-wasm
# steps:
# - uses: actions/checkout@v2
# - name: Install rust
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# override: true
# - name: Run WASM tests
# run: wasm-pack test --node -- --workspace

release:
# Only run this when we push a tag
if: startsWith(github.ref, 'refs/tags/')
runs-on: ${{ matrix.os }}
needs: [lint, test, wasm-test]
strategy:
matrix:
include:
# Only run this when we push a tag
if: startsWith(github.ref, 'refs/tags/')
runs-on: ${{ matrix.os }}
needs: [lint, test, wasm-test]
strategy:
matrix:
include:
- os: ubuntu-latest
BIN_FILE: fe_amd64
- os: macOS-latest
BIN_FILE: fe_mac

steps:
- uses: actions/checkout@v2
- name: Install Linux dependencies
if: startsWith(matrix.os,'ubuntu')
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Install Mac System dependencies
if: startsWith(matrix.os,'macOS')
run: |
brew install boost
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Build
run: cargo build --all-features --release && strip target/release/fe && mv target/release/fe target/release/${{ matrix.BIN_FILE }}
- name: Release
uses: softprops/action-gh-release@v1
with:
files: target/release/${{ matrix.BIN_FILE }}
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- name: Install Linux dependencies
if: startsWith(matrix.os,'ubuntu')
run: |
"${GITHUB_WORKSPACE}/.github/install_deps.sh"
- name: Install Mac System dependencies
if: startsWith(matrix.os,'macOS')
run: |
brew install boost
- name: Install rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Build
run: cargo build --all-features --release && strip target/release/fe && mv target/release/fe target/release/${{ matrix.BIN_FILE }}
- name: Release
uses: softprops/action-gh-release@v1
with:
files: target/release/${{ matrix.BIN_FILE }}
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading