Skip to content

Reorganize Test Suite and Consolidate Documentation #94

Description

@nradakovic

What

Restructure the toolchain test suite by moving tests from examples/ to a dedicated tests/ directory with clear organization and comprehensive documentation. The refactoring includes:

  • Establish tests/ as the primary location for all toolchain validation tests
  • Organize tests into feature_verification/ (8 tests) and language_and_standards/ (5 tests)
  • Create centralized test documentation in docs/test_suite.md
  • Implement platform-aware cross-compilation configuration for improved toolchain compatibility
  • Update all CI/CD workflows to reference new test paths

Acceptance Criteria (DoD)

  • All 13 tests (8 feature + 5 language/standards) compile and pass on Linux x86_64
  • Tests build successfully for cross-compilation targets (aarch64-linux-ebclfsa)
  • Comprehensive test documentation exists in docs/test_suite.md with 395+ lines covering:
    • Individual test descriptions and features
    • Feature coverage matrix (34/43 toolchain features)
    • Running instructions for different platforms
    • Cross-compilation guidance
    • Troubleshooting guide
  • Test README files simplified with references to centralized documentation
  • Root README.md and examples/README.md updated to reflect new structure
  • Platform-aware linkstatic configuration using select() statements
    • linkstatic = True only for aarch64-linux-sdk_0.1.0-ebclfsa
    • linkstatic = False (default) for other platforms
  • All GitHub Actions workflows updated to use new test paths
  • No breaking changes to test execution on supported platforms

How

  1. Test Reorganization

    • Create tests/ directory structure with feature_verification/ and language_and_standards/ subdirectories
    • Move all test source files and build configurations from examples/ to appropriate tests/ subdirectories
    • Create comprehensive BUILD files with proper test organization and test_suite grouping
  2. Documentation Consolidation

    • Create docs/test_suite.md with complete test documentation (395+ lines)
    • Update individual test README files to contain quick references and links to centralized docs
    • Update root README.md to list test documentation as primary resource
    • Update examples/README.md to indicate tests have moved
  3. Cross-Compilation Support

    • Implement platform-aware linkstatic configuration using Bazel select() statements
    • Condition linkstatic behavior on @score_bazel_platforms//:aarch64-linux-sdk_0.1.0-ebclfsa
    • Apply to all cc_library targets: feature_test_lib, pic_test_lib, multifile_lib, whole_archive_lib, pthread_test_lib
  4. CI/CD Updates

    • Update .github/workflows/aarch64-ebclfsa.yml to build test targets from tests/ directory
    • Update .github/workflows/aarch64-linux.yml for new test paths
    • Update .github/workflows/autosd.yml for new test paths
    • Update .github/workflows/x86_64-linux.yml for new test paths

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

deprecated cleanupRemove deprecated targetsexampleAdd or update examplesimprovementsCode or documentation improvementsp3Medium/Low - handle it within normal process

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions