Skip to content

digital-substrate/dsviper-tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsviper-tests

Public test suite for the dsviper Python wheel — the binding over the Viper C++ runtime.

This repository serves two purposes:

  1. Regression net. Run as a CI check against released dsviper wheels to catch behavioural regressions in the Python binding.
  2. Reference material. Every public dsviper API surface is exercised here. The unit/ directory is the canonical place to read working examples — useful for human contributors and autonomous agents alike.

Prerequisites

Python 3.14+, the dsviper wheel, and the test-suite requirements:

pip install dsviper
pip install -r requirements.txt

The tests use the standard library unittest framework. Two modules (test_commit_database_blob, test_database_blob) additionally import numpy to exercise the blob ↔ array interop — listed in requirements.txt.

Running the tests

From the repository root:

./run_test.sh            # macOS / Linux
run_test.bat             # Windows

These both wrap python -m unittest discover unit.

To run a single file, class, or method:

python -m unittest unit.test_value_double -v
python -m unittest unit.test_value_double.TestValueDoubleType -v
python -m unittest unit.test_value_double.TestValueDoubleType.test_name -v

Layout

unit/                       # 90+ unittest modules covering the dsviper API
run_test.sh, run_test.bat   # convenience launchers

Test files follow the pattern test_<component>.py and group their test cases into thematic classes (e.g. TestValueDoubleType, TestValueDoubleConstruction, TestValueDoubleErrorCases).

Versioning

This suite tracks the Viper 1.2.x line of dsviper. The canonical branch is LTS-1.2, which moves in lockstep with viper's LTS-1.2 line; main is currently a mirror of it. Future major lines of dsviper may live on dedicated branches.

License

This project is licensed under the MIT License — see LICENSE.

Runtime dependency

At runtime, this project depends on the dsviper Python package (distributed on PyPI), which is proprietary (PyPI classifier License :: Other/Proprietary License). See https://pypi.org/project/dsviper/ for the package's licensing posture and contact information.

About

Public test suite for the dsviper Python wheel — exercises every public API surface.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages