Skip to main content

Unified test runner CLI with framework-agnostic adapters

Project description

SystemEval

Unified test runner CLI with framework-agnostic adapters. One command to run tests in any project.

Installation

# Install from PyPI
pip install systemeval

# Install with pytest support (recommended)
pip install systemeval[pytest]

# Install from source
pip install -e ".[pytest]"

Quick Start

# Initialize config in your project
systemeval init

# Run tests
systemeval test                          # Run default category
systemeval test --category unit          # Run unit tests
systemeval test --category integration   # Run integration tests
systemeval test --app agents             # Run tests for specific app
systemeval test --file path/to/test.py   # Run specific file

# Options
systemeval test --parallel               # Parallel execution
systemeval test --coverage               # With coverage report
systemeval test --json                   # JSON output for CI
systemeval test --verbose                # Detailed output

Configuration

Create systemeval.yaml in your project root:

project:
  name: my-project
  type: django

# Which adapter to use
adapter: pytest

# Adapter-specific config
pytest:
  config_file: pytest.ini
  base_path: backend/
  default_category: unit

# Test categories
categories:
  unit:
    markers: [unit]
    description: "Unit tests - isolated, no external dependencies"
  integration:
    markers: [integration]
    description: "Integration tests - multiple components together"
  api:
    markers: [api]
    description: "API endpoint tests"
  pipeline:
    markers: [pipeline]
    description: "Full pipeline tests"
    requires: [docker]

# Environment detection
environment:
  docker:
    detection:
      - file: /.dockerenv
      - env: DOCKER_CONTAINER=true
  local:
    database: sqlite

# Output settings
reporting:
  format: table
  colors: true

Commands

Command Description
systemeval test Run tests
systemeval init Create config file
systemeval validate Validate config
systemeval list categories Show available categories

Exit Codes

Code Meaning
0 All tests passed
1 One or more tests failed
2 Configuration or execution error

Adapters

Pytest (Default)

Works with any Python project using pytest:

adapter: pytest
pytest:
  config_file: pytest.ini
  base_path: .
  default_category: unit

Jest (Coming Soon)

For JavaScript/TypeScript projects:

adapter: jest
jest:
  config_file: jest.config.js

Key Design Principles

  1. One Command: systemeval test works the same in every project
  2. Adapter Pattern: Test framework is an implementation detail
  3. Deterministic: Exit codes 0/1/2 only - no ambiguity
  4. Docker-Aware: Auto-detects container environment
  5. CI-Friendly: JSON output, proper exit codes

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

systemeval-0.1.2.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

systemeval-0.1.2-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file systemeval-0.1.2.tar.gz.

File metadata

  • Download URL: systemeval-0.1.2.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for systemeval-0.1.2.tar.gz
Algorithm Hash digest
SHA256 00a92aede615dd9526ac094936d9f6ed155499da367e51df924b7a2266c84cc7
MD5 ac4467c28b2e8534ab9155a7365eeaf8
BLAKE2b-256 e93644c84cfeae58c933188ccb29e8aad44233b6aaf4f99237d5c2a01a408ce4

See more details on using hashes here.

File details

Details for the file systemeval-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: systemeval-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 25.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for systemeval-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc397e7a658d0c52959ae39643cee1f345aaab733c319b2df33c09259ccf2fc2
MD5 14e0409e2ea229593199dbca31be6034
BLAKE2b-256 f1e1803bf81beb69f5981f7ff0c3dbef9cab321030eecd7e3ee15a47bd3af3f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page