diff --git a/.agents/codex-setup b/.agents/codex-setup index 6c11900..81b23ae 100755 --- a/.agents/codex-setup +++ b/.agents/codex-setup @@ -1,7 +1,15 @@ #!/usr/bin/env bash +set -euo pipefail + +# Install the tooling required to build and test the CodeTracer project. +# The list of packages is derived from `Justfile` and `flake.nix`. AGENTS_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -cd $AGENTS_DIR +cd "$AGENTS_DIR" apt-get update -apt-get install -y --no-install-recommends just +DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + python3 python3-pip python3-venv python3-dev \ + cargo rustc just pkg-config capnproto + +pip3 install --no-cache-dir --break-system-packages maturin uv diff --git a/.agents/tasks/2025/08/15-1323-initial-test-suite b/.agents/tasks/2025/08/15-1323-initial-test-suite index 35a5781..18d1273 100644 --- a/.agents/tasks/2025/08/15-1323-initial-test-suite +++ b/.agents/tasks/2025/08/15-1323-initial-test-suite @@ -9,4 +9,17 @@ If the module turns out to be missing functions or types required for the test, If a test can be written both in Python and in Rust prefer writing it in Python. If a code modification needs to be done in the module and it is possible to do it both in Python and in Rust, prefer writing it in Python. -If there is any item in the test suite which doesn't contain enough \ No newline at end of file +If there is any item in the test suite which doesn't contain enough +--- FOLLOW UP TASK --- +Create a script Hit:2 https://mise.jdx.dev/deb stable InRelease +Hit:1 https://apt.llvm.org/noble llvm-toolchain-noble-20 InRelease +Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease +Hit:4 http://security.ubuntu.com/ubuntu noble-security InRelease +Hit:5 http://archive.ubuntu.com/ubuntu noble-updates InRelease +Hit:6 http://archive.ubuntu.com/ubuntu noble-backports InRelease +Reading package lists... +Reading package lists... +Building dependency tree... +Reading state information... +just is already the newest version (1.21.0-1). +0 upgraded, 0 newly installed, 0 to remove and 25 not upgraded. which will be used in future to set-up the Codex environment for development and testing of this project. Base this on what you see in Justfile and flake.nix. Note that not all packages described in flake.nix will be needed in the Codex environment, but we do care about building the project and running the tests. \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md index feee796..c56a4c1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,20 +5,16 @@ This repository contains two related projects: - codetracer-pure-python-recorder — the original pure-Python tracer. - codetracer-python-recorder — a Rust-backed Python module built with PyO3 and maturin. -To run the Python test suite for the pure-Python tracer, execute: +To build the modules in development mode run: -``` -just test -``` +```sh +just venv 3.13 dev #You can use any other Python version >=3.12 +`` -The tester executes a number of sample programs in `tests/programs` and compares their outputs to the fixtures in `tests/fixtures`. +Then to run the tests do -To build and locally develop-install the Rust-backed module: - -``` -just build-rust -# or: -maturin develop -m crates/codetracer-python-recorder/Cargo.toml +```sh +just test ``` # Code quality guidelines