Skip to content

CrackingShells/Wobble

Repository files navigation

Wobble

Centralized testing package for Cracking Shells

Installation

From Source

git clone https://github.com/CrackingShells/Wobble.git
cd Wobble
pip install -e .

From PyPI (when available)

pip install wobble

Quick Start

# Install wobble
pip install -e .

# Run all tests
wobble

# Run specific test categories
wobble --category regression
wobble --category integration

# Save results to file
wobble --log-file test_results.json

# CI/CD integration with file output
wobble --format json --log-file ci_results.json --log-verbosity 3

# Enhanced test discovery
wobble --discover-only                    # Show test counts by category
wobble --discover-only --discover-verbosity 2  # Show uncategorized test details
wobble --discover-only --discover-verbosity 3  # Show all tests with decorators

# Test execution with decorator display
wobble --verbose                          # Shows [@decorator_name] for each test

# Get help
wobble --help

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/CrackingShells/Wobble.git
cd Wobble

# Install in development mode
pip install -e .

# Install Node.js dependencies for semantic release
npm install

Running Tests

# Run all tests with wobble
wobble

# Run tests by category
wobble --category regression

# Run with verbose output
wobble --verbose

# Alternative: use unittest directly
python -m unittest discover tests

Enhanced Discovery Features

Wobble provides enhanced test discovery with multiple verbosity levels and decorator display:

# Discovery verbosity levels
wobble --discover-only --discover-verbosity 1  # Test counts by category (default)
wobble --discover-only --discover-verbosity 2  # + Uncategorized test details
wobble --discover-only --discover-verbosity 3  # + All tests with decorator info

# Test execution with decorator display
wobble --verbose                                # Shows [@decorator_name] for tests
wobble --category regression --verbose          # Regression tests with decorators

Decorator Display Examples:

  • [@regression_test] - Regression test
  • [@integration_test] - Integration test
  • [@slow_test] - Slow-running test
  • [@regression_test, @slow_test] - Multiple decorators

Making Commits

We use Conventional Commits for automated versioning:

# Use commitizen for guided commits
npm run commit

# Or commit manually with conventional format
git commit -m "feat: add new feature"
git commit -m "fix: resolve issue with X"
git commit -m "docs: update README"

Documentation

Complete documentation is available in the docs/articles/ directory:

Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • Development workflow
  • Code style guidelines
  • Testing requirements
  • Pull request process

License

This project is licensed under the GNU Affero General Public License v3 - see the LICENSE file for details.

Links

About

Centralized testing package for Cracking Shells

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages