Skip to content

Use Flynt for missing dependency test #36

Use Flynt for missing dependency test

Use Flynt for missing dependency test #36

---
name: Test working-directory input
on: push # yamllint disable-line rule:truthy
jobs:
test-working-directory:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up test environment
run: |
pip install pip-requirements-parser
mkdir -p $RUNNER_TEMP/test-repo
pushd $RUNNER_TEMP/test-repo
git init
git config user.email "[email protected]"
git config user.name "Test User"
git commit --allow-empty -m "Initial empty commit"
echo 'def hello(): return "Hello, World!"' > test.py
git add test.py
git commit -m "Add test.py file"
echo 'def hello(): return "Hello, World!"' > test.py
popd
- name: "Run Darker without working-directory"
uses: ./
continue-on-error: true
id: no-work-dir
with:
version: "@gh-action-working-directory"
options: --check --diff
src: test.py
revision: HEAD
- name: Fail if no exit code 2 even though test.py was not found
if: always() && steps.no-work-dir.outputs.exitcode != '2'
run: |
echo "::error::Darker should have failed with exit code 2"
echo "::error::It exited with ${{ steps.no-work-dir.outputs.exitcode }}"
exit 1
- name: "Run Darker with correct working-directory"
id: right-workdir
if: always()
uses: ./
continue-on-error: true
with:
version: "@gh-action-working-directory"
options: --check --diff
working-directory: ${{ runner.temp }}/test-repo
src: test.py
revision: HEAD
- name: Fail if no exit code 1 even though reformatting is needed
if: always() && steps.right-workdir.outputs.exitcode != '1'
run: |
echo "::error::Darker should have exited with code 1"
echo "::error::It exited with ${{ steps.right-workdir.outputs.exitcode }}"
exit 1
- name: Verify diff output
if: always() && !contains(steps.right-workdir.outputs.stdout, '@@')
run: |
echo "::error::Darker did not output a diff as expected"
exit 1
- name: "Run Darker with incorrect working-directory"
if: always()
uses: ./
continue-on-error: true
id: wrong-work-dir
with:
version: "@gh-action-working-directory"
options: --check --diff
working-directory: ${{ runner.temp }}/non-existent-dir
src: test.py
revision: HEAD
- name: Check that Darker failed with a non-existing working-directory
if: always() && steps.wrong-work-dir.outputs.exitcode != '21'
run: |
echo "::error::Darker should have exited with code 21"
echo "::error::It exited with ${{ steps.wrong-work-dir.outputs.exitcode }}"
exit 1
- name: "Run Darker on a non-existing file"
id: file-not-found
if: always()
uses: ./
continue-on-error: true
with:
version: "@gh-action-working-directory"
options: --check --diff
working-directory: ${{ runner.temp }}/test-repo
src: non_existent_file.py
- name: Check file not found error code
if: always() && steps.file-not-found.outputs.exitcode != '2'
run: |
echo "::error::Darker should have exited with code 2"
echo "::error::It exited with ${{ steps.file-not-found.outputs.exitcode }}"
exit 1
- name: "Run Darker with an invalid argument"
id: invalid-arguments
if: always()
uses: ./
continue-on-error: true
with:
version: "@gh-action-working-directory"
options: --invalid-option
- name: Check invalid arguments error code
if: always() && steps.invalid-arguments.outputs.exitcode != '3'
run: |
echo "::error::Darker should have exited with code 3"
echo "::error::It exited with ${{ steps.invalid-arguments.outputs.exitcode }}"
exit 1
- name: "Run Darker with a missing dependency"
id: missing-deps
if: always()
uses: ./
continue-on-error: true
with:
version: "@gh-action-working-directory"
working-directory: ${{ runner.temp }}/test-repo
options: --flynt
- name: Check missing dependencies error code
if: always() && steps.missing-deps.outputs.exitcode != '4'
run: |
echo "::error::Darker should have exited with code 4"
echo "::error::It exited with ${{ steps.missing-deps.outputs.exitcode }}"
exit 1