From 28a0a6aacb9d8812c22d33f548d68dbea6e9dd4c Mon Sep 17 00:00:00 2001 From: Christopher Rowley Date: Sun, 16 Nov 2025 23:15:20 +0000 Subject: [PATCH 1/4] Add top-level testing instructions --- AGENTS.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..ec417394 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,9 @@ +# Repository Instructions + +## Running tests +- **Julia tests**: Run from the project root with `julia -e 'using Pkg; Pkg.test()'`. +- **Python tests**: + - Copy `juliapkg-dev.json` to `juliapkg.json` before running (do **not** commit this copy). + - Execute with `uv run pytest -s --nbval --cov=pysrc ./pytest`. Skip `--cov` unless coverage is required. + +The majority of tests live in the Julia package; Python tests cover functionality that cannot be exercised from Julia (e.g., JuliaCall-specific behavior). Run both suites—typically Julia first—in whichever order makes sense. From cf43ef27425c40bdfcfd8a10ee2f017a5a3801f2 Mon Sep 17 00:00:00 2001 From: Christopher Rowley Date: Mon, 17 Nov 2025 06:38:27 +0000 Subject: [PATCH 2/4] Update AGENTS testing guidance --- AGENTS.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ec417394..d8a25841 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,9 +1,13 @@ # Repository Instructions ## Running tests -- **Julia tests**: Run from the project root with `julia -e 'using Pkg; Pkg.test()'`. +- **Julia tests**: Run from the project root with `julia --project=@. -e 'using Pkg; Pkg.test()'`. Running without `--project=@.` fails because the global environment lacks the package name/UUID. Expect a warning about the General registry being unreachable in locked-down environments; the suite still finishes (PyCall tests are marked broken/Skipped). - **Python tests**: - - Copy `juliapkg-dev.json` to `juliapkg.json` before running (do **not** commit this copy). - - Execute with `uv run pytest -s --nbval --cov=pysrc ./pytest`. Skip `--cov` unless coverage is required. + - Copy `pysrc/juliacall/juliapkg-dev.json` to `pysrc/juliacall/juliapkg.json` before running (do **not** commit this copy). + - Execute with `uv run pytest -s --nbval ./pytest` (add `--cov=pysrc` only when coverage is needed). + - These tests currently require Julia 1.10–1.11. They failed here because `juliapkg` could not download metadata/install Julia through the proxy (tunnel 403) and the installed Julia 1.12.1 is outside the requested range. Without internet/proxy access to julialang.org, expect the suite to fail early while resolving Julia versions. The majority of tests live in the Julia package; Python tests cover functionality that cannot be exercised from Julia (e.g., JuliaCall-specific behavior). Run both suites—typically Julia first—in whichever order makes sense. + +## Meta instructions +- When you discover environment quirks, false assumptions, or process fixes, add/update this AGENTS.md so future coding agents have the information. From 952730972a851fb515003a8d65a73aa1a36da09b Mon Sep 17 00:00:00 2001 From: Christopher Rowley Date: Mon, 17 Nov 2025 06:38:32 +0000 Subject: [PATCH 3/4] Update AGENTS after rerunning Python tests --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index d8a25841..3a9c3214 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,7 +5,7 @@ - **Python tests**: - Copy `pysrc/juliacall/juliapkg-dev.json` to `pysrc/juliacall/juliapkg.json` before running (do **not** commit this copy). - Execute with `uv run pytest -s --nbval ./pytest` (add `--cov=pysrc` only when coverage is needed). - - These tests currently require Julia 1.10–1.11. They failed here because `juliapkg` could not download metadata/install Julia through the proxy (tunnel 403) and the installed Julia 1.12.1 is outside the requested range. Without internet/proxy access to julialang.org, expect the suite to fail early while resolving Julia versions. + - `juliapkg` currently requires Julia 1.10–1.11; `juliaup` already provides 1.11.7 in this environment. First run may download registries and the OpenSSL_jll artifact, so ensure internet access. After copying the config file, the suite passed here. The majority of tests live in the Julia package; Python tests cover functionality that cannot be exercised from Julia (e.g., JuliaCall-specific behavior). Run both suites—typically Julia first—in whichever order makes sense. From f1689d05cb516181a5aaf5d84a3ceaec1a388ee7 Mon Sep 17 00:00:00 2001 From: Christopher Rowley Date: Mon, 17 Nov 2025 10:12:25 +0000 Subject: [PATCH 4/4] Update AGENTS.md --- AGENTS.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3a9c3214..354305bd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,13 +1,13 @@ # Repository Instructions ## Running tests -- **Julia tests**: Run from the project root with `julia --project=@. -e 'using Pkg; Pkg.test()'`. Running without `--project=@.` fails because the global environment lacks the package name/UUID. Expect a warning about the General registry being unreachable in locked-down environments; the suite still finishes (PyCall tests are marked broken/Skipped). +- **Julia tests**: Run from the project root with `julia --project -e 'using Pkg; Pkg.test()'`. Expect a warning about the General registry being unreachable in locked-down environments; the suite still finishes (PyCall tests are marked broken/Skipped). - **Python tests**: - Copy `pysrc/juliacall/juliapkg-dev.json` to `pysrc/juliacall/juliapkg.json` before running (do **not** commit this copy). - - Execute with `uv run pytest -s --nbval ./pytest` (add `--cov=pysrc` only when coverage is needed). - - `juliapkg` currently requires Julia 1.10–1.11; `juliaup` already provides 1.11.7 in this environment. First run may download registries and the OpenSSL_jll artifact, so ensure internet access. After copying the config file, the suite passed here. + - Execute with `uv run pytest -s --nbval ./pytest` (add `--cov=pysrc` when coverage is needed). + - Sometimes `juliapkg` requires Julia 1.10–1.11; `juliaup` already provides 1.11.7 in this environment. The majority of tests live in the Julia package; Python tests cover functionality that cannot be exercised from Julia (e.g., JuliaCall-specific behavior). Run both suites—typically Julia first—in whichever order makes sense. ## Meta instructions -- When you discover environment quirks, false assumptions, or process fixes, add/update this AGENTS.md so future coding agents have the information. +- When you discover environment quirks, false assumptions, process fixes, or any other generally useful info, update this AGENTS.md so future coding agents have the information.