name: unit-tests description: Setup Python virtual environment and run unit tests with gltest
Run Unit Tests
Setup the Python environment and run unit tests for GenLayer Studio.
Prerequisites
- Python 3.12 installed
- virtualenv installed (
pip install virtualenv)
Setup Virtual Environment (first time or reset)
# Remove existing venv if present
rm -rf .venv
# Create new venv with Python 3.12
virtualenv -p python3.12 .venv
# Activate
source .venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install all dependencies
pip install -r requirements.txt
pip install -r requirements.test.txt
pip install -r backend/requirements.txt
# Set Python path
export PYTHONPATH="$(pwd)"
Run Tests
# Activate venv (if not already)
source .venv/bin/activate
export PYTHONPATH="$(pwd)"
# Run all unit tests
gltest --contracts-dir . tests/unit
# Run specific test file
gltest --contracts-dir . tests/unit/test_specific.py
# Run with verbose output
gltest --contracts-dir . tests/unit -v
# Run specific test function
gltest --contracts-dir . tests/unit/test_file.py::test_function_name
Quick One-Liner (after initial setup)
source .venv/bin/activate && export PYTHONPATH="$(pwd)" && gltest --contracts-dir . tests/unit
Troubleshooting
Python 3.12 Not Found
# Check available Python versions
which python3.12
# On macOS with Homebrew
brew install python@3.12
gltest Command Not Found
# Make sure venv is activated
source .venv/bin/activate
# Reinstall test dependencies
pip install -r requirements.test.txt
Import Errors
# Ensure PYTHONPATH is set
export PYTHONPATH="$(pwd)"
# Verify from project root
pwd # Should be genlayer-studio