Download tests/test_workflows.py from abidlabs/hughub: direct link, hf CLI and curl.
- Browser
- Download file 1.96 kB
-
https://huggingface.co/abidlabs/hughub/resolve/main/tests/test_workflows.py
- Command line
-
hf download hf://abidlabs/hughub/tests/test_workflows.py
-
curl -L -o test_workflows.py https://huggingface.co/abidlabs/hughub/resolve/main/tests/test_workflows.py
1.96 kB
| from __future__ import annotations | |
| from hughub.config import RepoConfig | |
| from hughub.process import Result | |
| from hughub.workflows import doctor, run_workflow | |
| from .conftest import FakeRunner | |
| def write_workflow(tmp_path, content): | |
| directory = tmp_path / ".github" / "workflows" | |
| directory.mkdir(parents=True) | |
| path = directory / "test.yml" | |
| path.write_text(content) | |
| return path | |
| def test_doctor_accepts_shell_workflow(tmp_path, capsys): | |
| write_workflow( | |
| tmp_path, | |
| """ | |
| name: test | |
| on: [push, workflow_dispatch] | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: pytest | |
| """, | |
| ) | |
| result = doctor("test.yml", tmp_path) | |
| assert result == 0 | |
| assert "compatible" in capsys.readouterr().out | |
| def test_doctor_rejects_unsupported_action(tmp_path, capsys): | |
| write_workflow( | |
| tmp_path, | |
| """ | |
| on: push | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: vendor/unknown@v1 | |
| """, | |
| ) | |
| assert doctor(None, tmp_path) == 1 | |
| assert "not supported" in capsys.readouterr().out | |
| def test_workflow_launches_hf_job_with_repo_labels(tmp_path, capsys): | |
| write_workflow( | |
| tmp_path, | |
| """ | |
| on: workflow_dispatch | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: python -m pytest | |
| """, | |
| ) | |
| git_dir = tmp_path / ".git" | |
| git_dir.mkdir() | |
| runner = FakeRunner(git_dir) | |
| runner.scripted[("git", "branch", "--show-current")] = Result(("git",), 0, "feature\n", "") | |
| config = RepoConfig("acme/widget", "hf-acme/widget", mode="overlay") | |
| result = run_workflow(config, runner, name="test.yml", ref=None, cwd=tmp_path) | |
| assert result == 0 | |
| jobs_calls = [call for call in runner.calls if call[:3] == ("hf", "jobs", "run")] | |
| assert len(jobs_calls) == 1 | |
| assert "hughub-repo=hf-acme--widget" in jobs_calls[0] | |
| assert "Launched 1" in capsys.readouterr().out | |