Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ syntest/
.*
*.json
*.md


# Since the javascript files have a lot of eslint errors that will be fixed by refactoring to typescript we ignore them for now.
src/**/*.js
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Default owners (unless a later match takes precedence).
# They will be requested for review when someone opens a pull request.
* @syntest-framework/approvers
4 changes: 2 additions & 2 deletions .github/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#exemptLabels:
# - pinned
# - security

# Label to use when marking an issue as stale
#staleLabel: stale

Expand All @@ -17,6 +17,6 @@
# This issue has been automatically marked as stale because it has not had
# recent activity. The resources of our team are limited. This issue will
# be closed if no further activity occurs.

# Comment to post when closing a stale issue. Set to `false` to disable
#closeComment: false
34 changes: 5 additions & 29 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: build

on:
push:
branches: [main]
branches: [main, develop]
paths-ignore:
- "docs/"
- "**.md"
pull_request:
branches: [main]
branches: [main, develop]
paths-ignore:
- "docs/"
- "**.md"
Expand All @@ -22,24 +22,17 @@ jobs:

matrix:
# Run the pipeline on all the currently supported OS versions
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest]

# Run the pipeline on all the currently supported LTS versions and the upcoming version
node-version: [10, 12, 14, 16]
node-version: [18, 19]

# Run the pipeline on all the currently supported architectures
architecture: [x64]

steps:
# Cloning
- uses: actions/checkout@v2
with:
repository: "syntest-framework/syntest-framework"
token: ${{ secrets.SYNTEST_CI }}
path: syntest-framework
- uses: actions/checkout@v2
with:
path: syntest-solidity

# Setup
- name: Use Node.js ${{ matrix.node-version }}
Expand All @@ -61,31 +54,14 @@ jobs:
${{ runner.os }}-node-
${{ runner.os }}-

# SynTest Framework
- name: Framework - Install Dependencies
run: npm install
working-directory: syntest-framework
- name: Framework - Build framework
run: npm run build
working-directory: syntest-framework
- name: Framework - Link
run: npm link
working-directory: syntest-framework

# Dependencies
- name: Solidity - Install Dependencies
run: npm install
working-directory: syntest-solidity
- name: Solidity - Link Local Framework
run: npm link @syntest/framework
working-directory: syntest-solidity

# Building
- name: Solidity - Build Solidity
- name: Solidity - Build
run: npm run build
working-directory: syntest-solidity

# Testing
- name: Solidity - Run Tests
run: npm test
working-directory: syntest-solidity
67 changes: 67 additions & 0 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: verify

on:
push:
branches: [main, develop]
paths-ignore:
- "docs/"
- "**.md"
pull_request:
branches: [main, develop]
paths-ignore:
- "docs/"
- "**.md"

jobs:
test:
runs-on: ${{ matrix.os }}

strategy:
# Keep running other versions when a job fails
fail-fast: false

matrix:
# Run the pipeline on all the currently supported OS versions
os: [ubuntu-latest]

# Run the pipeline on all the currently supported LTS versions and the upcoming version
node-version: [19]

# Run the pipeline on all the currently supported architectures
architecture: [x64]

steps:
# Cloning
- uses: actions/checkout@v2

# Setup
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
architecture: ${{ matrix.architecture }}

# Caching
- name: Get NPM cache directory
id: npm-cache-dir
run: echo "::set-output name=dir::$(npm config get cache)"
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('package.json') }}
restore-keys: |
${{ runner.os }}-node-
${{ runner.os }}-

# Dependencies
- name: Solidity - Install Dependencies
run: npm install

# Format
- name: Solidity - Run Formatter
run: npm run format:check

# Linting
- name: Solidity - Run Linter
run: npm run lint
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no -- commitlint --edit
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Security

## [0.2.0] - 2023-01-18

### Added

- Solc compiler version picking through configuration
- Language specific parsing interfaces from the core

## [0.1.2] - 2021-11-29

### Fixed
Expand All @@ -42,7 +49,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Solidity instrumentation
- Solidity specific search criteria (i.e., probe coverage)

[unreleased]: https://github.com/syntest-framework/syntest-solidity/compare/v0.1.2...HEAD
[unreleased]: https://github.com/syntest-framework/syntest-solidity/compare/v0.2.0...HEAD
[0.2.0]: https://github.com/syntest-framework/syntest-solidity/releases/tag/v0.1.2...v0.2.0
[0.1.2]: https://github.com/syntest-framework/syntest-solidity/releases/tag/v0.1.1...v0.1.2
[0.1.1]: https://github.com/syntest-framework/syntest-solidity/releases/tag/v0.1.0...v0.1.1
[0.1.0]: https://github.com/syntest-framework/syntest-solidity/releases/tag/v0.1.0
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
SynTest Solidity
Copyright 2020-2021 Delft University of Technology and SynTest contributors
Copyright 2020-2022 Delft University of Technology and SynTest contributors

This product includes software developed at
Delft University of Technology (http://www.tudelft.nl/).
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ To be able to make quick changes to the syntest-framework and then test it in th

```bash
cd <PATH_TO_SYNTEST_FRAMEWORK>; npm link
cd <PATH_TO_SYNTEST_SOLIDITY>; npm link @syntest/framework
cd <PATH_TO_SYNTEST_SOLIDITY>; npm link @syntest/core
```

This creates a symbolic link to the local syntest-framework instance in the node modules folder of syntest-solidity.
Expand Down
4 changes: 0 additions & 4 deletions api.js

This file was deleted.

3 changes: 3 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
extends: ["@commitlint/config-conventional"],
};
96 changes: 52 additions & 44 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@syntest/solidity",
"version": "0.1.2",
"version": "0.2.0",
"description": "SynTest Solidity is a tool for automatically generating test cases for the Solidity platform",
"keywords": [
"syntest",
Expand Down Expand Up @@ -37,60 +37,68 @@
"build:watch": "tsc --build --watch",
"clean": "rm -rf .nyc_output dist node_modules",
"clean:dist": "rm -rf dist",
"format": "prettier --write .",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"prepare": "npm run build",
"format": "prettier --config .prettierrc.json --ignore-path .prettierignore --write .",
"format:check": "prettier --config .prettierrc.json --ignore-path .prettierignore --check .",
"lint": "eslint --config .eslintrc.json --ignore-path .eslintignore .",
"lint:fix": "eslint --config .eslintrc.json --ignore-path .eslintignore . --fix",
"prepare": "husky install",
"run": "truffle run syntest-solidity",
"test": "mocha",
"test:coverage": "nyc mocha",
"test:watch": "mocha --watch"
"test": "mocha --config .mocharc.json",
"test:coverage": "nyc mocha --config .mocharc.json",
"test:watch": "mocha --config .mocharc.json --watch"
},
"dependencies": {
"@solidity-parser/parser": "^0.6.0",
"@syntest/framework": "^0.1.2",
"@truffle/config": "^1.2.44",
"@truffle/provider": "^0.1.17",
"bignumber.js": "^9.0.1",
"chalk": "^2.4.2",
"clear": "^0.1.0",
"detect-port": "^1.3.0",
"figlet": "^1.5.0",
"fs-extra": "^8.1.0",
"ganache-cli": "^6.12.2",
"global-modules": "^2.0.0",
"globby": "^10.0.1",
"lodash": "^4.17.15",
"mocha": "^8.3.1",
"pify": "^4.0.1",
"@solidity-parser/parser": "0.14.5",
"@syntest/core": "0.2.0",
"@truffle/config": "1.3.49",
"@truffle/provider": "0.3.3",
"bignumber.js": "9.0.1",
"chalk": "4.1.1",
"clear": "0.1.0",
"detect-port": "1.3.0",
"figlet": "1.5.2",
"fs-extra": "11.1.0",
"globby": "^11.0.4",
"lodash.clonedeep": "4.5.0",
"mocha": "10.2.0",
"recursive-readdir": "^2.2.2",
"sc-istanbul": "^0.4.5",
"semver": "^7.3.5",
"solidity-coverage": "^0.7.16",
"truffle": "^5.1.65",
"web3": "^1.3.4",
"web3-utils": "^1.5.2"
"truffle": "5.1.65",
"web3": "1.8.1",
"web3-utils": "1.8.1"
},
"devDependencies": {
"@types/chai": "^4.2.15",
"@types/chai-as-promised": "^7.1.4",
"@types/mocha": "^8.2.2",
"@types/node": "^14.17.4",
"@types/sinon": "^9.0.11",
"@typescript-eslint/eslint-plugin": "^4.28.1",
"@typescript-eslint/parser": "^4.28.1",
"chai": "^4.3.3",
"eslint": "^7.30.0",
"eslint-config-prettier": "^8.1.0",
"mocha": "^8.3.1",
"nyc": "^15.1.0",
"prettier": "^2.3.2",
"sinon": "^9.2.4",
"ts-node": "^9.0.0",
"typescript": "^4.3.5"
"@commitlint/cli": "^17.4.2",
"@commitlint/config-conventional": "^17.4.2",
"@types/chai": "4.3.4",
"@types/chai-as-promised": "7.1.1",
"@types/mocha": "10.0.1",
"@types/node": "18.11.17",
"@types/sinon": "10.0.13",
"@typescript-eslint/eslint-plugin": "5.45.1",
"@typescript-eslint/parser": "5.45.1",
"chai": "4.3.7",
"commitlint": "^17.4.2",
"eslint": "8.29.0",
"eslint-config-prettier": "8.5.0",
"husky": "^8.0.3",
"lint-staged": "^13.1.0",
"mocha": "10.2.0",
"nyc": "15.1.0",
"prettier": "2.8.1",
"sinon": "15.0.1",
"ts-node": "10.9.1",
"typescript": "4.9.4"
},
"engines": {
"node": ">=10.24.0"
},
"lint-staged": {
"**/*": [
"npx prettier --config .prettierrc.json --ignore-path .prettierignore --write .",
"npx eslint --config .eslintrc.json --ignore-path .eslintignore --fix ."
]
}
}
Loading