Skip to content

Commit 579baf9

Browse files
jbachorikclaude
andcommitted
Unify test tasks with --tests flag across platforms
Uses Test tasks on glibc/macOS, Test-with-Exec-delegation on musl. Provides unified --tests flag interface on all platforms. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent fe4aa72 commit 579baf9

4 files changed

Lines changed: 279 additions & 112 deletions

File tree

AGENTS.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,17 @@ Release builds automatically extract debug symbols:
242242
## Development Workflow
243243

244244
### Running Single Tests
245-
Use project properties to filter tests (config-specific test tasks use Exec, not Test):
245+
Use Gradle's standard `--tests` flag across all platforms:
246246
```bash
247-
./gradlew :ddprof-test:testdebug -Ptests=ClassName.methodName # Single method
248-
./gradlew :ddprof-test:testdebug -Ptests=ClassName # Entire class
247+
./gradlew :ddprof-test:testdebug --tests=ClassName.methodName # Single method
248+
./gradlew :ddprof-test:testdebug --tests=ClassName # Entire class
249+
./gradlew :ddprof-test:testdebug --tests="*.ClassName" # Pattern matching
249250
```
250251

251-
**Note**: Use `-Ptests` (not `--tests`) because config-specific test tasks (testdebug, testrelease)
252-
use Gradle's Exec task type to bypass toolchain issues on musl systems. The `--tests` flag only
253-
works with Gradle's Test task type.
252+
**Platform Implementation Details:**
253+
- **glibc/macOS**: Test tasks use Gradle's native Test task type with direct `--tests` flag support
254+
- **musl (Alpine)**: Test tasks delegate to Exec tasks internally (workaround for Gradle 9 toolchain probe issues on musl)
255+
- **Result**: Unified `--tests` flag works identically across all platforms, no platform-specific syntax required
254256

255257
### Working with Native Code
256258
Native compilation is automatic during build. C++ code changes require:
@@ -644,11 +646,11 @@ The CI caches JDKs via `.github/workflows/cache_java.yml`. When adding a new JDK
644646
```
645647
- Instead of:
646648
```bash
647-
./gradlew :ddprof-test:testdebug -Ptests=MuslDetectionTest
649+
./gradlew :ddprof-test:testdebug --tests=MuslDetectionTest
648650
```
649651
use:
650652
```bash
651-
./.claude/commands/build-and-summarize :ddprof-test:testdebug -Ptests=MuslDetectionTest
653+
./.claude/commands/build-and-summarize :ddprof-test:testdebug --tests=MuslDetectionTest
652654
```
653655

654656
- This ensures the full build log is captured to a file and only a summary is shown in the main session.

0 commit comments

Comments
 (0)