From 572b902fcd7d3d9e69619ccf223471f1a9088d34 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 18 Sep 2025 17:40:37 +0530 Subject: [PATCH 1/3] up --- tests/test_kernel_upload.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/test_kernel_upload.py b/tests/test_kernel_upload.py index 6649137..8129980 100644 --- a/tests/test_kernel_upload.py +++ b/tests/test_kernel_upload.py @@ -13,6 +13,7 @@ REPO_ID = "kernels-test/kernels-upload-test" + PY_CONTENT = """\ #!/usr/bin/env python3 @@ -68,6 +69,14 @@ def get_filenames_from_a_repo(repo_id: str) -> List[str]: @pytest.mark.token +@pytest.mark.is_staging_test +def test_kernel_upload_works_as_expected(): + # TODO + pass + + +@pytest.mark.token +@pytest.mark.is_staging_test def test_kernel_upload_deletes_as_expected(): repo_filenames = get_filenames_from_a_repo(REPO_ID) filename_to_change = get_filename_to_change(repo_filenames) From 5739f126088292a6f17c6636bc2ae939d1fd8144 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Fri, 19 Sep 2025 18:53:11 +0530 Subject: [PATCH 2/3] up --- pytest.ini | 1 + tests/test_kernel_upload.py | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/pytest.ini b/pytest.ini index 78581f4..577c4f1 100644 --- a/pytest.ini +++ b/pytest.ini @@ -5,3 +5,4 @@ markers = darwin_only: marks tests that should only run on macOS xpu_only: marks tests that should only run on hosts with Intel XPUs token: enable tests that require a write token + is_staging_test: Marks tests that should only run on a staging environment diff --git a/tests/test_kernel_upload.py b/tests/test_kernel_upload.py index 8129980..4010a11 100644 --- a/tests/test_kernel_upload.py +++ b/tests/test_kernel_upload.py @@ -7,11 +7,11 @@ from typing import List import pytest -from huggingface_hub import model_info +from huggingface_hub import delete_repo, model_info from kernels.cli import upload_kernels -REPO_ID = "kernels-test/kernels-upload-test" +REPO_ID = "valid_org/kernels-upload-test" PY_CONTENT = """\ @@ -71,13 +71,30 @@ def get_filenames_from_a_repo(repo_id: str) -> List[str]: @pytest.mark.token @pytest.mark.is_staging_test def test_kernel_upload_works_as_expected(): - # TODO - pass + with tempfile.TemporaryDirectory() as tmpdir: + path = f"{tmpdir}/build/torch-universal/upload_test" + build_dir = Path(path) + build_dir.mkdir(parents=True, exist_ok=True) + script_path = build_dir / "foo.py" + script_path.write_text(PY_CONTENT) + upload_kernels(UploadArgs(tmpdir, REPO_ID, False)) + + repo_filenames = get_filenames_from_a_repo(REPO_ID) + assert any(str(script_path.name) for f in repo_filenames) + delete_repo(repo_id=REPO_ID) @pytest.mark.token @pytest.mark.is_staging_test def test_kernel_upload_deletes_as_expected(): + with tempfile.TemporaryDirectory() as tmpdir: + path = f"{tmpdir}/build/torch-universal/upload_test" + build_dir = Path(path) + build_dir.mkdir(parents=True, exist_ok=True) + script_path = build_dir / "foo_2025.py" + script_path.write_text(PY_CONTENT) + upload_kernels(UploadArgs(tmpdir, REPO_ID, False)) + repo_filenames = get_filenames_from_a_repo(REPO_ID) filename_to_change = get_filename_to_change(repo_filenames) @@ -95,3 +112,4 @@ def test_kernel_upload_deletes_as_expected(): assert not any( str(filename_to_change) in k for k in repo_filenames ), f"{repo_filenames=}" + delete_repo(repo_id=REPO_ID) From de679b1f5210150f6852ddc2082669c4ab1352f0 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Fri, 19 Sep 2025 18:56:14 +0530 Subject: [PATCH 3/3] up --- .github/workflows/test.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d194d85..ca0ffc4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,11 +51,15 @@ jobs: run: uv run mypy src/kernels - name: Run tests - env: - HF_TOKEN: ${{ secrets.HF_TOKEN }} run: | uv run pytest tests + - name: Run staging tests + env: + HF_TOKEN: ${{ secrets.HF_STAGING_TOKEN }} + run: | + HUGGINGFACE_CO_STAGING=true uv run pytest --token -m "is_staging_test" tests/ + - name: Check kernel conversion run: | uv pip install wheel