diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 92549ce8..482bb9c1 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -26,18 +26,20 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - # Used by ci_test.sh - - name: Install dependencies - run: | - python setup.py install - pip install pytest - pip install solc-select - - name: Run Tests - run: | - pytest tests/test_metadata.py + - uses: actions/checkout@v4 + - name: Set up Python 3.8 + uses: actions/setup-python@v5 + with: + python-version: 3.8 + cache: "pip" + cache-dependency-path: setup.py + + + - name: Install dependencies + run: | + pip install ".[test]" + solc-select use latest --always-install + + - name: Run Tests + run: | + pytest tests diff --git a/crytic_compile/utils/naming.py b/crytic_compile/utils/naming.py index 7f5d1398..abf983eb 100644 --- a/crytic_compile/utils/naming.py +++ b/crytic_compile/utils/naming.py @@ -188,10 +188,11 @@ def convert_filename( short = relative short = relative_to_short(short) - + # Starting with v0.8.8 (https://github.com/ethereum/solidity/pull/11545), solc normalizes the paths to not include the drive on Windows, + # so it's important we use posix path here to avoid issues with the path comparison. return Filename( - absolute=str(absolute), + absolute=absolute.as_posix(), relative=relative.as_posix(), short=short.as_posix(), - used=str(used_filename), + used=Path(used_filename).as_posix(), ) diff --git a/tests/call_to_variable-all.sol-0.5.8-legacy.zip b/tests/call_to_variable-all.sol-0.5.8-legacy.zip new file mode 100644 index 00000000..fd360787 Binary files /dev/null and b/tests/call_to_variable-all.sol-0.5.8-legacy.zip differ