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.0.tar.gz (21.6 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.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: systemeval-0.1.0.tar.gz
  • Upload date:
  • Size: 21.6 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.0.tar.gz
Algorithm Hash digest
SHA256 727af700e50e947c309d63b03e0e80dcfde42eb0f011911429aa2896b9d021a5
MD5 25a9d3b40e6de04462acb4e2e5948e40
BLAKE2b-256 61e8c3aa52f6c5609ac8a3103c8fc41ded8b29aeedf940544e0643f7488ae9ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: systemeval-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d69d67df5ca8a4eb063f8aed16abd674923c11fef005103c122d972b7606819
MD5 c3bf013082cb93707871d9dab80d5698
BLAKE2b-256 1e6e1bb0dbdb5a2ded0bba4f558d925e33ac82078b6b5df6eafaad52e388fec8

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