TestsSûr8080/100
Testing Standards (Alibaba)
Testing standards for LoongCollector: unit tests, e2e tests, benchmarks. Reference when writing or reviewing tests.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs testing-standards__alibaba-loongcollector__skills-d9f912b91e76Alibaba
alibaba/loongcollector
Contenu à copier
---
name: testing-standards
description: Testing standards for LoongCollector: unit tests, e2e tests, benchmarks. Reference when writing or reviewing tests.
metadata:
origin: Alibaba
---
# LoongCollector Testing Standards
## Test Categories
### 1. Unit Tests (C++)
- Use Google Test (GTest) / Google Mock
- Place in `core/unittest/`
- Cover success and failure paths
- Core logic must have 100% coverage
- Test boundary conditions explicitly
- Test naming: accurately describe behavior being tested
- Each `core/unittest/*/` directory produces one executable
- Build and run tests from inside `build/` to ensure relative paths and temp files work correctly
- See `skills/compile/SKILL.md` for build & run instructions
### 2. Unit Tests (Go)
- Use standard `testing` package
- Table-driven tests for function coverage
- Integration tests via E2E framework
### 3. E2E Tests
- BDD Godog framework
- Configuration-driven via `.feature` files
- See `skills/e2e/SKILL.md` for complete guide (design → write → run → debug)
### 4. Benchmarks
- Required for performance-sensitive code paths
- Compare against baseline versions
- Measure throughput, latency, CPU/Memory usage
## E2E Test Quick Reference
### Feature File Structure
```
@input
Feature: input file
Test input file
@e2e @host
Scenario: TestInputFileWithRegexSingle
Given {host} environment
Given subcribe data from {sls} with config
"""
enable: true
inputs:
- Type: input_file
"""
When generate {100} regex logs to file {/tmp/loongcollector/regex_single.log}, with interval {100}ms
Then there is {100} logs
```
### Behavior Types
| Type | Purpose |
|------|---------|
| `Given` | Setup/prepare test conditions |
| `When` | Trigger test actions (e.g., log generation) |
| `Then` | Verify test results |
### Environment Tags
- `@host` - Host environment
- `@k8s` - Kubernetes environment
- `@docker-compose` - Docker Compose environment
- `@e2e` - E2E test marker
- `@regression` - Regression test marker
### Adding New Test Behaviors
1. Write the Go function in the appropriate directory:
- `cleanup/` - Post-test cleanup (auto-executed)
- `control/` - Control operations (init, config)
- `setup/` - Environment setup
- `trigger/` - Data generation
- `verify/` - Result verification
2. Function signature: `func Name(ctx context.Context, params...) (context.Context, error)`
3. Register in `test/e2e_enterprise/main_test.go` via `scenarioInitializer`
4. Use in feature files with `{param}` syntax
### Strict Rules
- Do NOT change behavior of the method being tested
- Do NOT modify existing test behaviors in engine
- Always start trigger `When begin trigger` BEFORE generating logs
- Only use registered behaviors from `test/engine/steps.go`
- Verify behavior type matches (Given/When/Then)
### Test Naming
- Format: `Test${FunctionName}${CaseBriefDescription}`
- Examples: `TestInputFileWithBlackListDir`, `TestInputFileWithRegexSingle`
- Must include `@e2e` and environment tags
## Benchmark Testing
For performance-sensitive code:
1. Provide baseline comparison
2. Measure: throughput, latency, CPU profile, memory profile
3. Run under realistic load conditions
4. Document methodology and resultsColle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Testing Standards (Alibaba)
Use Google Test (GTest) / Google Mock
Place in `core/unittest/`
Cover success and failure paths
Core logic must have 100% coverage
Comment utiliser Testing Standards (Alibaba)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Testing Standards (Alibaba)
Dis simplement à ton agent quelque chose comme :
Applique le skill testing-standards__alibaba-loongcollector__skills-d9f912b91e76 à cette tâche
Utilise testing-standards__alibaba-loongcollector__skills-d9f912b91e76 pour améliorer cette implémentation
Passe en revue ce sujet avec testing-standards__alibaba-loongcollector__skills-d9f912b91e76
Skills liés à Testing Standards (Alibaba)
Add New Op (Alibaba)
为 MNN 框架新增算子。包含 Schema 定义、形状计算、几何计算、后端实现、单元测试的完整 TDD 流程。分 5 步执行,每步有独立测试标准。ai-regression-testing
Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.Analyze Test Report (PyTorch)
Analyze torch-tensorrt local test results and drive failures to a fix. Use when the user pastes a test report / summary, asks why tests failed, asks to triage or fix failing tests, or mentions the JUnit/test-summary output from `just tests-report` / `just test-summary`. Covers where the JUnit XMLs live, how to read the consolidated report, how to reproduce a single failure, and how to categorize (real bug vs torch-API change vs OOM/skip vs flake).