From c068bd8f690bcc41b20d2944cb514d8007ab75ea Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Tue, 11 Nov 2025 12:36:57 +0000 Subject: [PATCH 1/8] Add 3.13t and 3.14t to CI --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 11ab968..0e8e385 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on Linux steps: @@ -68,7 +68,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on MacOS steps: @@ -113,7 +113,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on Windows steps: From 61e725d7928f0be7ec6ee9fadd033243c7101da8 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Sun, 31 May 2026 22:27:34 -0400 Subject: [PATCH 2/8] Update tests.yml --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index adc2a54..bf27bb7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-version }}-dev + python-version: ${{ matrix.python-version }} - name: Checkout Austin development branch uses: actions/checkout@master @@ -78,7 +78,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-version }}-dev + python-version: ${{ matrix.python-version }} - name: Checkout Austin development branch uses: actions/checkout@master @@ -123,7 +123,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-version }}-dev + python-version: ${{ matrix.python-version }} - name: Checkout Austin development branch uses: actions/checkout@master From 5258b43f6ada770938fe2168cb3cc603a07becd2 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Sun, 31 May 2026 22:31:00 -0400 Subject: [PATCH 3/8] Update tests.yml --- .github/workflows/tests.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bf27bb7..a11f4bd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,11 +20,11 @@ jobs: name: Tests with Python ${{ matrix.python-version }} on Linux steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: path: main - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -72,11 +72,11 @@ jobs: name: Tests with Python ${{ matrix.python-version }} on MacOS steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: path: main - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -117,11 +117,11 @@ jobs: name: Tests with Python ${{ matrix.python-version }} on Windows steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: path: main - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} From e90a92b608409bc57f462b4a618c49c74749a6da Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Sun, 31 May 2026 22:37:14 -0400 Subject: [PATCH 4/8] Update tests.yml --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a11f4bd..c4543b2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on Linux steps: @@ -68,7 +68,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on MacOS steps: @@ -113,7 +113,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.13t", "3.14t"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] name: Tests with Python ${{ matrix.python-version }} on Windows steps: From 49d21dc6e0b016183c4bfe8df6d99ad37dfcf820 Mon Sep 17 00:00:00 2001 From: Charlie Lin Date: Sun, 31 May 2026 22:39:53 -0400 Subject: [PATCH 5/8] Update pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6bd082b..ff28bf8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,7 +78,7 @@ dependencies = [ tests = "pytest --cov=austin --cov-report=term-missing --cov-report=xml {args}" [[tool.hatch.envs.tests.matrix]] -python = ["3.10", "3.11", "3.12", "3.13", "3.14"] +python = ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] [tool.hatch.envs.checks] python = "3.13" From 9b405e871a6103edbbdd97ecd18d3c3d310cc377 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Jun 2026 14:24:37 -0400 Subject: [PATCH 6/8] Don't check if there error, sampling, and saturation data on no-GIL builds --- test/test_aio.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/test_aio.py b/test/test_aio.py index 064ef66..5d1acc2 100644 --- a/test/test_aio.py +++ b/test/test_aio.py @@ -23,6 +23,7 @@ import asyncio import sys +import sysconfig from pathlib import Path from unittest.mock import MagicMock @@ -59,9 +60,10 @@ async def on_metadata(self, metadata: AustinMetadata) -> None: async def on_terminate(self): data = self._meta assert "duration" in data - assert "errors" in data - assert "sampling" in data - assert "saturation" in data + if sysconfig.get_config_var("Py_GIL_DISABLED") is False: + assert "errors" in data + assert "sampling" in data + assert "saturation" in data self._terminate = True def assert_callbacks_called(self): From 77ed89f6aeafee6ba4c786bd0fc7de63f8d983c5 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Jun 2026 14:31:57 -0400 Subject: [PATCH 7/8] Don't assert memory sampler has at least one frame in no-GIL builds --- test/test_aio.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test_aio.py b/test/test_aio.py index 5d1acc2..d47c05b 100644 --- a/test/test_aio.py +++ b/test/test_aio.py @@ -68,7 +68,8 @@ async def on_terminate(self): def assert_callbacks_called(self): assert self._metadata - assert self._sample_received + if sysconfig.get_config_var("Py_GIL_DISABLED") is False: + assert self._sample_received assert self._terminate From ee6829f8fd4d4c59285811829ff72cfdd199f75a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 2 Jun 2026 14:34:25 -0400 Subject: [PATCH 8/8] Bump sample range within test_async_memory() This should give austin enough time to catch at least one sample, just in case the sysconfig.get_config_var("Py_GIL_DISABLED") workaround is rejected. --- test/test_aio.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_aio.py b/test/test_aio.py index d47c05b..193160c 100644 --- a/test/test_aio.py +++ b/test/test_aio.py @@ -112,7 +112,7 @@ async def sample_callback(data): "100", "python", "-c", - "[i for i in range(10000000)]", + "[i for i in range(100000000)]", ] ) await asyncio.wait_for(austin.wait(), 30)