Copilot commented on code in PR #13266:
URL: https://github.com/apache/trafficserver/pull/13266#discussion_r3410759738


##########
.claude/CLAUDE.md:
##########
@@ -0,0 +1,341 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with 
code in this repository.
+
+> **Branch note:** This is the **9.2.x** maintenance branch. It differs from
+> `master`/`10.x` in two important ways: the build system is **autotools**
+> (`configure` + `make`), *not* CMake, and the source tree uses the **old flat
+> layout** (`iocore/`, `proxy/`, `mgmt/`, `lib/` live at the repo root, not 
under
+> `src/`). The root `CMakeLists.txt` exists **only** to support code editors
+> (CLion/VS Code IntelliSense) — it will **not** build Traffic Server.
+
+## Project Overview
+
+Apache Traffic Server (ATS) is a high-performance HTTP/HTTPS caching proxy
+server written in C++17. It uses an event-driven, multi-threaded architecture
+with a sophisticated plugin system.
+
+**Key Technologies:**
+- Language: C++17
+- Build System: GNU autotools (autoconf/automake/libtool) — `configure` + 
`make`
+- Testing: Catch2 (unit tests, via `make check`) + AuTest Python framework 
(end-to-end tests)
+- Protocols: TLS, HTTP/1.1, HTTP/2, HTTP/3 (experimental; requires a 
QUIC-capable TLS library — BoringSSL/quictls)
+
+## Personal Preferences
+
+If `.claude/CLAUDE.local.md` exists, load it for user-specific code style
+preferences and working conventions. This file is gitignored and optional.
+
+## Build Commands
+
+ATS 9.2.x builds with **autotools**. There is no CMake build.
+
+### Basic Build
+```bash
+# 1. Bootstrap the build scripts (only needed once, or after configure.ac /
+#    Makefile.am changes). There is no autogen.sh on this branch.
+autoreconf -if
+
+# 2. Configure (in-source or out-of-source). --prefix sets the install root.
+./configure --prefix=/opt/ats --enable-debug
+
+# 3. Build everything
+make -j$(nproc)
+
+# 4. Install (to --prefix; default /usr/local)
+make install
+```
+
+### Useful Configure Options
+```bash
+# See everything available
+./configure --help
+
+# Common options
+./configure \
+  --prefix=/opt/ats \
+  --enable-debug \                 # debug build (assertions, symbols)
+  --enable-experimental-plugins \  # build plugins/experimental/*
+  --with-openssl=/opt/boringssl \  # QUIC-capable TLS lib enables HTTP/3 
(auto-detected; like CMake's *_ROOT)
+  --with-jemalloc=/opt/jemalloc
+```
+
+
+
+Notes:
+- HTTP/3 is **optional** and is **auto-detected** at configure time: it 
compiles
+  only when the TLS library exposes `SSL_QUIC_METHOD` (BoringSSL/quictls). 
There
+  is no `--enable-quic` flag and no `--with-quiche` on this branch — it uses 
the
+  native in-tree QUIC stack (`iocore/net/quic/`, `proxy/http3/`), not Quiche.
+- Build a single component by `cd`-ing into its directory and running `make`
+  (e.g. `cd proxy && make`), since each directory has its own `Makefile.am`.
+
+## Testing
+
+### Unit Tests (Catch2)
+Unit tests (`test_*.cc` / `*_test.cc`) build into per-directory executables and
+run through the automake test harness:
+```bash
+make check          # build and run all unit tests
+```
+To run one test binary directly, build it and invoke it from its source
+directory, e.g. `proxy/hdrs/test_*` or `src/tscore/test_*`.
+
+### End-to-End Tests (AuTest)
+AuTest lives under `tests/` and is invoked through `tests/autest.sh` (it does
+**not** go through the build system on this branch):
+```bash
+cd tests
+pipenv install                                   # first time only
+./autest.sh --sandbox /tmp/sb --clean=none -f <test_name_without_test_py>
+```
+For example, to run `cache-auth.test.py`:
+```bash
+./autest.sh --sandbox /tmp/sb --clean=none -f cache-auth
+```
+Most end-to-end coverage is in `tests/gold_tests/`. Gold files can mask dynamic
+output with double-backtick (`` `` ``) wildcards.

Review Comment:
   Gold test `.gold` files use the literal double-backtick sequence as a 
wildcard (e.g. `Date: ```). The current text shows an extra/garbled backtick 
sequence, which is confusing for readers trying to use the correct wildcard.



##########
.claude/CLAUDE.md:
##########
@@ -0,0 +1,341 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with 
code in this repository.
+
+> **Branch note:** This is the **9.2.x** maintenance branch. It differs from
+> `master`/`10.x` in two important ways: the build system is **autotools**
+> (`configure` + `make`), *not* CMake, and the source tree uses the **old flat
+> layout** (`iocore/`, `proxy/`, `mgmt/`, `lib/` live at the repo root, not 
under
+> `src/`). The root `CMakeLists.txt` exists **only** to support code editors
+> (CLion/VS Code IntelliSense) — it will **not** build Traffic Server.
+
+## Project Overview
+
+Apache Traffic Server (ATS) is a high-performance HTTP/HTTPS caching proxy
+server written in C++17. It uses an event-driven, multi-threaded architecture
+with a sophisticated plugin system.
+
+**Key Technologies:**
+- Language: C++17
+- Build System: GNU autotools (autoconf/automake/libtool) — `configure` + 
`make`
+- Testing: Catch2 (unit tests, via `make check`) + AuTest Python framework 
(end-to-end tests)
+- Protocols: TLS, HTTP/1.1, HTTP/2, HTTP/3 (experimental; requires a 
QUIC-capable TLS library — BoringSSL/quictls)
+
+## Personal Preferences
+
+If `.claude/CLAUDE.local.md` exists, load it for user-specific code style
+preferences and working conventions. This file is gitignored and optional.
+
+## Build Commands
+
+ATS 9.2.x builds with **autotools**. There is no CMake build.
+
+### Basic Build
+```bash
+# 1. Bootstrap the build scripts (only needed once, or after configure.ac /
+#    Makefile.am changes). There is no autogen.sh on this branch.
+autoreconf -if
+
+# 2. Configure (in-source or out-of-source). --prefix sets the install root.
+./configure --prefix=/opt/ats --enable-debug
+
+# 3. Build everything
+make -j$(nproc)
+
+# 4. Install (to --prefix; default /usr/local)
+make install
+```
+
+### Useful Configure Options
+```bash
+# See everything available
+./configure --help
+
+# Common options
+./configure \
+  --prefix=/opt/ats \
+  --enable-debug \                 # debug build (assertions, symbols)
+  --enable-experimental-plugins \  # build plugins/experimental/*
+  --with-openssl=/opt/boringssl \  # QUIC-capable TLS lib enables HTTP/3 
(auto-detected; like CMake's *_ROOT)
+  --with-jemalloc=/opt/jemalloc
+```
+
+
+
+Notes:
+- HTTP/3 is **optional** and is **auto-detected** at configure time: it 
compiles
+  only when the TLS library exposes `SSL_QUIC_METHOD` (BoringSSL/quictls). 
There
+  is no `--enable-quic` flag and no `--with-quiche` on this branch — it uses 
the
+  native in-tree QUIC stack (`iocore/net/quic/`, `proxy/http3/`), not Quiche.
+- Build a single component by `cd`-ing into its directory and running `make`
+  (e.g. `cd proxy && make`), since each directory has its own `Makefile.am`.
+
+## Testing
+
+### Unit Tests (Catch2)
+Unit tests (`test_*.cc` / `*_test.cc`) build into per-directory executables and
+run through the automake test harness:
+```bash
+make check          # build and run all unit tests
+```
+To run one test binary directly, build it and invoke it from its source
+directory, e.g. `proxy/hdrs/test_*` or `src/tscore/test_*`.
+
+### End-to-End Tests (AuTest)
+AuTest lives under `tests/` and is invoked through `tests/autest.sh` (it does
+**not** go through the build system on this branch):
+```bash
+cd tests
+pipenv install                                   # first time only
+./autest.sh --sandbox /tmp/sb --clean=none -f <test_name_without_test_py>
+```
+For example, to run `cache-auth.test.py`:
+```bash
+./autest.sh --sandbox /tmp/sb --clean=none -f cache-auth

Review Comment:
   This example also needs `--ats-bin <path>` (AuTest CLI requires it via 
`tests/gold_tests/autest-site/init.cli.ext`). Without it, `autest.sh` will 
abort before running the selected test.



##########
.claude/CLAUDE.md:
##########
@@ -0,0 +1,341 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with 
code in this repository.
+
+> **Branch note:** This is the **9.2.x** maintenance branch. It differs from
+> `master`/`10.x` in two important ways: the build system is **autotools**
+> (`configure` + `make`), *not* CMake, and the source tree uses the **old flat
+> layout** (`iocore/`, `proxy/`, `mgmt/`, `lib/` live at the repo root, not 
under
+> `src/`). The root `CMakeLists.txt` exists **only** to support code editors
+> (CLion/VS Code IntelliSense) — it will **not** build Traffic Server.
+
+## Project Overview
+
+Apache Traffic Server (ATS) is a high-performance HTTP/HTTPS caching proxy
+server written in C++17. It uses an event-driven, multi-threaded architecture
+with a sophisticated plugin system.
+
+**Key Technologies:**
+- Language: C++17
+- Build System: GNU autotools (autoconf/automake/libtool) — `configure` + 
`make`
+- Testing: Catch2 (unit tests, via `make check`) + AuTest Python framework 
(end-to-end tests)
+- Protocols: TLS, HTTP/1.1, HTTP/2, HTTP/3 (experimental; requires a 
QUIC-capable TLS library — BoringSSL/quictls)
+
+## Personal Preferences
+
+If `.claude/CLAUDE.local.md` exists, load it for user-specific code style
+preferences and working conventions. This file is gitignored and optional.
+
+## Build Commands
+
+ATS 9.2.x builds with **autotools**. There is no CMake build.
+
+### Basic Build
+```bash
+# 1. Bootstrap the build scripts (only needed once, or after configure.ac /
+#    Makefile.am changes). There is no autogen.sh on this branch.
+autoreconf -if
+
+# 2. Configure (in-source or out-of-source). --prefix sets the install root.
+./configure --prefix=/opt/ats --enable-debug
+
+# 3. Build everything
+make -j$(nproc)
+
+# 4. Install (to --prefix; default /usr/local)
+make install
+```
+
+### Useful Configure Options
+```bash
+# See everything available
+./configure --help
+
+# Common options
+./configure \
+  --prefix=/opt/ats \
+  --enable-debug \                 # debug build (assertions, symbols)
+  --enable-experimental-plugins \  # build plugins/experimental/*
+  --with-openssl=/opt/boringssl \  # QUIC-capable TLS lib enables HTTP/3 
(auto-detected; like CMake's *_ROOT)
+  --with-jemalloc=/opt/jemalloc
+```
+
+
+
+Notes:
+- HTTP/3 is **optional** and is **auto-detected** at configure time: it 
compiles
+  only when the TLS library exposes `SSL_QUIC_METHOD` (BoringSSL/quictls). 
There
+  is no `--enable-quic` flag and no `--with-quiche` on this branch — it uses 
the
+  native in-tree QUIC stack (`iocore/net/quic/`, `proxy/http3/`), not Quiche.
+- Build a single component by `cd`-ing into its directory and running `make`
+  (e.g. `cd proxy && make`), since each directory has its own `Makefile.am`.
+
+## Testing
+
+### Unit Tests (Catch2)
+Unit tests (`test_*.cc` / `*_test.cc`) build into per-directory executables and
+run through the automake test harness:
+```bash
+make check          # build and run all unit tests
+```
+To run one test binary directly, build it and invoke it from its source
+directory, e.g. `proxy/hdrs/test_*` or `src/tscore/test_*`.
+
+### End-to-End Tests (AuTest)
+AuTest lives under `tests/` and is invoked through `tests/autest.sh` (it does
+**not** go through the build system on this branch):
+```bash
+cd tests
+pipenv install                                   # first time only
+./autest.sh --sandbox /tmp/sb --clean=none -f <test_name_without_test_py>

Review Comment:
   `tests/autest.sh` requires `--ats-bin` (it is defined as `required=True` in 
`tests/gold_tests/autest-site/init.cli.ext`). As written, this example will 
fail unless users have an implicit environment mapping set up, so it should 
pass `--ats-bin` explicitly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to