Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '23 4 * * *'

jobs:
changes:
Expand Down Expand Up @@ -62,6 +64,20 @@ jobs:
- run: cargo fmt --all --check
- run: cargo test --workspace

stellar-nightly:
if: github.event_name == 'schedule'
runs-on: ubuntu-latest
defaults:
run:
working-directory: stellar
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all --check
- run: WRAITH_PROPTEST_CASES=16384 cargo test --workspace --test properties

solana:
needs: changes
if: needs.changes.outputs.solana == 'true'
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,18 @@ cd stellar
cargo test --workspace
```

#### Property Tests

The Stellar Soroban crates include `proptest` integration tests in each crate's `tests/properties.rs`. They cover event emission, register/lookup round-trips, invalid input rejection, batch-send invariants, and name lifecycle behavior.

```bash
cd stellar
cargo test --workspace --test properties
WRAITH_PROPTEST_CASES=16384 cargo test --workspace --test properties
```

By default each property runs at least 1,024 generated cases. The scheduled `stellar-nightly` CI job raises that to 16,384 cases through `WRAITH_PROPTEST_CASES`. Add new properties beside the contract they cover so failures point directly at the affected crate.

### Solana

```bash
Expand Down
Loading