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

Uploaded Python 3

File details

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

File metadata

  • Download URL: systemeval-0.1.1.tar.gz
  • Upload date:
  • Size: 21.7 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.1.tar.gz
Algorithm Hash digest
SHA256 bf39bd5ce930e04eede54bd988ae75e865f85295100f4061c97ef41badcc7840
MD5 85fd2f0fa7f4e4da9230777718bc4ead
BLAKE2b-256 f09e324983395f200ccfe5d656425f081ec128ec7c1729b230543706c67f7567

See more details on using hashes here.

File details

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

File metadata

  • Download URL: systemeval-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4897d5413e8b01b99b85b60d73d1eeeb6cb870e4d894d164cb75cbcb6b55c2c0
MD5 9d4100c0a2f268743615f92bd26019e1
BLAKE2b-256 ececaa8772be63344db2ac316a71f2d6b3e37c00646c4d3f362ee68003010339

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