From 018cecd023b2cc7f620204aaf0c2b0bdd105d9d3 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Fri, 4 Sep 2026 02:59:53 -0600 Subject: [PATCH] test(experimental): mock feature a for post-merge CI verification Throwaway experimental-track PR used to exercise the handler now that #4880 is on main. Adds a mock @flashinfer_experimental_api plus CPU-only tests under tests/experimental/, so a declared scope has something real to target. --- flashinfer/experimental/mock_verify_a.py | 13 +++++++++++++ tests/experimental/test_mock_verify_a.py | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 flashinfer/experimental/mock_verify_a.py create mode 100644 tests/experimental/test_mock_verify_a.py diff --git a/flashinfer/experimental/mock_verify_a.py b/flashinfer/experimental/mock_verify_a.py new file mode 100644 index 00000000000..120d38b2d90 --- /dev/null +++ b/flashinfer/experimental/mock_verify_a.py @@ -0,0 +1,13 @@ +"""Mock experimental feature (a), used only to verify the experimental-track CI path. + +Throwaway. Not part of any release, not registered for AOT, not exported from +the top-level package. +""" + +from ..api_logging import flashinfer_experimental_api + + +@flashinfer_experimental_api +def mock_scale_a(x, factor=2): + """Scale ``x`` by ``factor``. Exists only to be called by a test.""" + return x * factor diff --git a/tests/experimental/test_mock_verify_a.py b/tests/experimental/test_mock_verify_a.py new file mode 100644 index 00000000000..e66d9e306da --- /dev/null +++ b/tests/experimental/test_mock_verify_a.py @@ -0,0 +1,19 @@ +"""Tests for the mock experimental feature (a). CPU-only.""" + +import pytest + +from flashinfer.api_logging import ExperimentalWarning +from flashinfer.experimental.mock_verify_a import mock_scale_a + + +def test_mock_scale_warns_on_first_use(): + with pytest.warns(ExperimentalWarning, match="mock_scale_a"): + assert mock_scale_a(3) == 6 + + +def test_mock_scale_honors_factor(): + assert mock_scale_a(4, factor=3) == 12 + + +def test_mock_scale_is_marked_experimental(): + assert mock_scale_a.is_experimental is True