diff --git a/.gitignore b/.gitignore index 505fb8b..594333a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ node_modules # added to the .gitignore file. *.log -profile.json.gz \ No newline at end of file +profile.json.gz +resolc-compiler-tests +workdir \ No newline at end of file diff --git a/run_tests.sh b/run_tests.sh new file mode 100644 index 0000000..b3e07da --- /dev/null +++ b/run_tests.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# Revive Differential Tests - Quick Start Script +# This script clones the test repository, sets up the corpus file, and runs the tool + +set -e # Exit on any error + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Configuration +TEST_REPO_URL="https://github.com/paritytech/resolc-compiler-tests" +TEST_REPO_DIR="resolc-compiler-tests" +CORPUS_FILE="./corpus.json" +WORKDIR="workdir" + +echo -e "${GREEN}=== Revive Differential Tests Quick Start ===${NC}" +echo "" + +# Check if test repo already exists +if [ -d "$TEST_REPO_DIR" ]; then + echo -e "${YELLOW}Test repository already exists. Pulling latest changes...${NC}" + cd "$TEST_REPO_DIR" + git pull + cd .. +else + echo -e "${GREEN}Cloning test repository...${NC}" + git clone "$TEST_REPO_URL" +fi + +# Create corpus file with absolute path resolved at runtime +echo -e "${GREEN}Creating corpus file...${NC}" +ABSOLUTE_PATH=$(realpath "$TEST_REPO_DIR/fixtures/solidity/simple/yul_instructions/codesize.sol") + +cat > "$CORPUS_FILE" << EOF +{ + "name": "MatterLabs Solidity Simple, Complex, and Semantic Tests", + "path": "$ABSOLUTE_PATH" +} +EOF + +echo -e "${GREEN}Corpus file created: $CORPUS_FILE${NC}" + +# Create workdir if it doesn't exist +mkdir -p "$WORKDIR" + +echo -e "${GREEN}Starting differential tests...${NC}" +echo "This may take a while..." +echo "" + +# Run the tool +RUST_LOG="error" cargo run --release -- \ + --kitchensink "$(realpath ~/polkadot-sdk/target/debug/substrate-node)" \ + --eth_proxy "$(realpath ~/polkadot-sdk/target/debug/eth-rpc)" \ + --corpus "$CORPUS_FILE" \ + --workdir "$WORKDIR" \ + +echo -e "${GREEN}=== Test run completed! ===${NC}" \ No newline at end of file