본문으로 건너뛰기
cccskills
무료GitHub에 공개

testing-standards

Testing standards for LoongCollector: unit tests, e2e tests, benchmarks. Reference when writing or reviewing tests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Kubernetes
설치 방법 보기

포함된 파일(1)

  • SKILL.md3.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

TypePurpose
GivenSetup/prepare test conditions
WhenTrigger test actions (e.g., log generation)
ThenVerify 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 results

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

在进行 Code Review 时,使用这个技能对 LoongCollector 变更进行安全导向、架构一致性优先的深度代码评审。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

commit

무료

按 Conventional Commits 规范编写提交信息。在创建 git commit 时使用。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

compile

무료

编译 LoongCollector C++ 与 Go 组件。涉及构建、单元测试或镜像时使用。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

Design document writing conventions. Use when writing or reviewing technical design documents.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

e2e

무료

LoongCollector E2E 测试全流程指南:设计、编写、运行和调试。当需要编写新 E2E 测试、运行现有测试、或排查 E2E 测试失败时使用此 skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

LoongCollector E2E Testing Framework Development Guide. Use this rule when you need to understand E2E testing framework architecture, develop new test behavior functions, or extend testing capabilities. Contains detailed BDD testing framework usage, test behavior function development and registration workflows, and comprehensive reference of existing testing capabilities. Example: When adding custom test behaviors for new plugins, use this rule to understand how to write and register new test functions. Example: When developing E2E tests, use this rule to understand the e2e framework.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

alibaba/loongcollector2.2천2026년 10월 16일 업데이트

alibaba의 스킬 모두 보기

이 스킬의 문제 신고