Centralized testing package for Cracking Shells
Project description
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
pip install cs-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:
- Getting Started - Installation and basic usage
- CLI Reference - Complete command reference
- Test Organization - Test categorization strategies
- Integration Guide - Repository integration
- Architecture Overview - System design
- Contributing Guidelines - Development workflow
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
- Homepage: https://github.com/CrackingShells/Wobble
- Bug Reports: https://github.com/CrackingShells/Wobble/issues
- Documentation: docs/articles/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cs_wobble-0.2.1.dev1.tar.gz.
File metadata
- Download URL: cs_wobble-0.2.1.dev1.tar.gz
- Upload date:
- Size: 436.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9137826426b7ebde43371dafa19975fffed7e1a74bb18a07cdcb33c062da4a6
|
|
| MD5 |
4a64ebaab1509a70cbe1232ed8dad87e
|
|
| BLAKE2b-256 |
2d0f1a5971ccc809d9eb185f83f270853e26da38fd47d0a081acdf2b1833ab8e
|
Provenance
The following attestation bundles were made for cs_wobble-0.2.1.dev1.tar.gz:
Publisher:
semantic-release.yml on CrackingShells/Wobble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs_wobble-0.2.1.dev1.tar.gz -
Subject digest:
d9137826426b7ebde43371dafa19975fffed7e1a74bb18a07cdcb33c062da4a6 - Sigstore transparency entry: 739818984
- Sigstore integration time:
-
Permalink:
CrackingShells/Wobble@a240f1134257ae16b9c012c8c1a356bbab833b1c -
Branch / Tag:
refs/heads/dev - Owner: https://github.com/CrackingShells
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
semantic-release.yml@a240f1134257ae16b9c012c8c1a356bbab833b1c -
Trigger Event:
push
-
Statement type:
File details
Details for the file cs_wobble-0.2.1.dev1-py3-none-any.whl.
File metadata
- Download URL: cs_wobble-0.2.1.dev1-py3-none-any.whl
- Upload date:
- Size: 487.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9dda353f2e747c5bfb4b222f94e89fe06e2896f6de6303a9b6a8fe932e9e38b
|
|
| MD5 |
7392b228bd390393416fa626f8641c1d
|
|
| BLAKE2b-256 |
6e348ad870e7698a0de6459ffd3380d63ecdbff2e31bd74286e70729af03fcc4
|
Provenance
The following attestation bundles were made for cs_wobble-0.2.1.dev1-py3-none-any.whl:
Publisher:
semantic-release.yml on CrackingShells/Wobble
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cs_wobble-0.2.1.dev1-py3-none-any.whl -
Subject digest:
e9dda353f2e747c5bfb4b222f94e89fe06e2896f6de6303a9b6a8fe932e9e38b - Sigstore transparency entry: 739818988
- Sigstore integration time:
-
Permalink:
CrackingShells/Wobble@a240f1134257ae16b9c012c8c1a356bbab833b1c -
Branch / Tag:
refs/heads/dev - Owner: https://github.com/CrackingShells
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
semantic-release.yml@a240f1134257ae16b9c012c8c1a356bbab833b1c -
Trigger Event:
push
-
Statement type: