Skip to content

Commit b69b190

Browse files
Update Rust SDK documentation to reflect fixed test results
Rust tests now compile and pass: 723/791 (91%) - Updated FEATURE_COVERAGE.md coverage summary - Updated tests/rust/SDK_STATUS.md with passing results - Updated tests/README.md status table - Removed build failure documentation (issues resolved) Co-authored-by: Greg Nazario <greg@gnazar.io>
1 parent 4ac7abf commit b69b190

File tree

3 files changed

+66
-73
lines changed

3 files changed

+66
-73
lines changed

FEATURE_COVERAGE.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@
3131

3232
> **Last verified:** 2026-02-06. Numbers reflect actual test runs.
3333
34-
| SDK | Required (P0) | Preferred (P1) | Optional (P2) | Total | Notes |
35-
| ---------- | -------------- | -------------- | -------------- | -------- | --------------------------------------- |
36-
| TypeScript | ~320/370 (86%) | ~100/183 (55%) | ~131/252 (52%) | ~551/826 | Reference impl; API tests need network |
37-
| Go | 333/791 (42%) | included | included | 333/791 | 136 failed, 312 pending, 10 undefined |
38-
| Rust | ❌ Build fail | ❌ Build fail | ❌ Build fail | 0/791 | SDK API changed; 3 compile errors |
39-
| .NET | 478/808 (59%) | included | included | 478/808 | 330 failures (last verified 2026-01-28) |
40-
| Python | 459/791 (58%) | included | included | 459/791 | 121 failed, 75 errors, 136 skipped |
41-
| Java | 22/802 (3%) | included | included | 22/802 | 780 errors, most steps undefined |
42-
| Kotlin | 176/1652 (11%) | included | included | 176/1652 | Not runnable (Gradle/JDK compat issue) |
43-
| C++ | 0/370 (0%) | 0/183 (0%) | 0/250 (0%) | 0/826 | Segfault in test runner |
44-
| Swift | 286/826 (35%) | included | included | 286/826 | XCTest-based (last verified 2026-01-28) |
34+
| SDK | Required (P0) | Preferred (P1) | Optional (P2) | Total | Notes |
35+
| ---------- | -------------- | -------------- | -------------- | -------- | ------------------------------------------ |
36+
| TypeScript | ~320/370 (86%) | ~100/183 (55%) | ~131/252 (52%) | ~551/826 | Reference impl; API tests need network |
37+
| Go | 333/791 (42%) | included | included | 333/791 | 136 failed, 312 pending, 10 undefined |
38+
| Rust | 723/791 (91%) | included | included | 723/791 | 56 skipped, 12 failed (network benchmarks) |
39+
| .NET | 478/808 (59%) | included | included | 478/808 | 330 failures (last verified 2026-01-28) |
40+
| Python | 459/791 (58%) | included | included | 459/791 | 121 failed, 75 errors, 136 skipped |
41+
| Java | 22/802 (3%) | included | included | 22/802 | 780 errors, most steps undefined |
42+
| Kotlin | 176/1652 (11%) | included | included | 176/1652 | Not runnable (Gradle/JDK compat issue) |
43+
| C++ | 0/370 (0%) | 0/183 (0%) | 0/250 (0%) | 0/826 | Segfault in test runner |
44+
| Swift | 286/826 (35%) | included | included | 286/826 | XCTest-based (last verified 2026-01-28) |
4545

4646
---
4747

@@ -1161,24 +1161,25 @@ cd tests/rust && cargo test --test specs
11611161

11621162
### Rust (`aptos-sdk` dev) — [Full Status](tests/rust/SDK_STATUS.md)
11631163

1164-
**Status:** Build failure (SDK API breaking changes)
1164+
**Status:** Excellent coverage (723/791 passing = 91%)
11651165

1166-
**Verified:** 2026-02-06 via `cargo test --test specs` (fails to compile)
1166+
**Verified:** 2026-02-06 via `cargo test --test specs`
11671167

1168-
**Note:** Tests depend on `aptos-sdk` from GitHub (`https://github.com/aptos-labs/aptos-rust-sdk`),
1169-
which has undergone API changes since the test definitions were written.
1170-
1171-
**Compilation Errors (3):**
1168+
**Results:**
11721169

1173-
- `get_apt_balance` method not found on `&Aptos`
1174-
- `get_account_transactions` method not found on `&FullnodeClient` (2 occurrences)
1170+
- 723 passed, 56 skipped, 12 failed
1171+
- All 12 failures are network-dependent performance benchmarks (require devnet access)
1172+
- 56 skipped scenarios are for features not yet tested
1173+
- Duration: ~28 seconds
11751174

1176-
**To Fix:**
1175+
**Note:** Tests depend on `aptos-sdk` from GitHub (`https://github.com/aptos-labs/aptos-rust-sdk`),
1176+
which is not yet on crates.io.
11771177

1178-
- Update step definitions to match current SDK API (method renamed or signature changed)
1179-
- The SDK itself is healthy; only the test bindings need updating
1178+
**Recent Fixes (2026-02-06):**
11801179

1181-
**Previous Results (2026-02-05):** 761/826 passed (92%) — excellent coverage when compilable
1180+
- Updated `get_apt_balance()` to `get_balance()` (method renamed in SDK)
1181+
- Replaced `get_account_transactions()` (removed from SDK) with alternative API calls
1182+
- Fixed `to_string()` to `to_long_string()` for full hex address formatting
11821183

11831184
---
11841185

tests/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ specifications.
55

66
## Supported SDKs
77

8-
| SDK | Framework | Directory | Status | Last Verified |
9-
| ---------- | ----------------- | ------------- | ----------------------------- | ------------- |
10-
| TypeScript | Cucumber.js + Bun | `typescript/` | ✅ 469+ passing | 2026-02-06 |
11-
| Go | Godog | `go/` | ✅ 333/791 passing (42%) | 2026-02-06 |
12-
| Rust | cucumber-rs | `rust/` | ❌ Build failure (API change) | 2026-02-06 |
13-
| Python | Behave | `python/` | ✅ 459/791 passing (58%) | 2026-02-06 |
14-
| Java | Cucumber-JVM | `java/` | 🚧 22/802 passing (3%) | 2026-02-06 |
15-
| .NET | Reqnroll | `dotnet/` | 🟡 478/808 passing (59%) | 2026-01-28 |
16-
| Kotlin | Cucumber-JVM | `kotlin/` | 🟡 176/1652 passing (11%) | 2026-01-28 |
17-
| C++ | CWT-Cucumber | `cpp/` | ❌ Segfault in runner | 2026-01-28 |
18-
| Swift | XCTest | `swift/` | 🟡 286/826 passing (35%) | 2026-01-28 |
8+
| SDK | Framework | Directory | Status | Last Verified |
9+
| ---------- | ----------------- | ------------- | ------------------------- | ------------- |
10+
| TypeScript | Cucumber.js + Bun | `typescript/` | ✅ 469+ passing | 2026-02-06 |
11+
| Go | Godog | `go/` | ✅ 333/791 passing (42%) | 2026-02-06 |
12+
| Rust | cucumber-rs | `rust/` | ✅ 723/791 passing (91%) | 2026-02-06 |
13+
| Python | Behave | `python/` | ✅ 459/791 passing (58%) | 2026-02-06 |
14+
| Java | Cucumber-JVM | `java/` | 🚧 22/802 passing (3%) | 2026-02-06 |
15+
| .NET | Reqnroll | `dotnet/` | 🟡 478/808 passing (59%) | 2026-01-28 |
16+
| Kotlin | Cucumber-JVM | `kotlin/` | 🟡 176/1652 passing (11%) | 2026-01-28 |
17+
| C++ | CWT-Cucumber | `cpp/` | ❌ Segfault in runner | 2026-01-28 |
18+
| Swift | XCTest | `swift/` | 🟡 286/826 passing (35%) | 2026-01-28 |
1919

2020
## Quick Start
2121

tests/rust/SDK_STATUS.md

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Rust SDK Test Status
22

33
> **Last Updated:** 2026-02-06
4-
> **Last Verified:** 2026-02-06 (build failure — see below)
4+
> **Last Verified:** 2026-02-06 via `cargo test --test specs`
55
66
---
77

@@ -20,18 +20,18 @@
2020

2121
## 2. Coverage Summary
2222

23-
| Priority | Passing | Total | Percentage | Status |
24-
| -------------- | ---------------- | ------- | ---------------- | ------ |
25-
| Required (P0) | ❌ Build failure | 791 | N/A | |
26-
| Preferred (P1) | ❌ Build failure | - | - | - |
27-
| Optional (P2) | ❌ Build failure | - | - | - |
28-
| **Total** | **0 (blocked)** | **791** | **0% (blocked)** | |
23+
| Priority | Passing | Total | Percentage | Status |
24+
| -------------- | -------- | ------- | ---------- | ------ |
25+
| Required (P0) | 723 | 791 | 91% | |
26+
| Preferred (P1) | included | - | - | - |
27+
| Optional (P2) | included | - | - | - |
28+
| **Total** | **723** | **791** | **91%** | |
2929

3030
> **Notes:**
3131
>
32-
> - **BUILD FAILURE:** Tests do not compile as of 2026-02-06
33-
> - SDK API has changed: 3 methods no longer exist in the current SDK revision
34-
> - Previous results (2026-02-05): 761 passed, 65 skipped (92% when compilable)
32+
> - 723 scenarios passed, 56 skipped, 12 failed
33+
> - All 12 failures are network-dependent performance benchmarks (require devnet)
34+
> - Test duration: ~28 seconds
3535
> - Tests use `aptos-sdk` from GitHub: `https://github.com/aptos-labs/aptos-rust-sdk`
3636
3737
---
@@ -81,11 +81,9 @@ The SDK uses feature flags. The `full` feature enables all:
8181

8282
## 4. Known Issues
8383

84-
| Issue | Impact | Resolution |
85-
| -------------------------- | ------------------ | ----------------------------------------------------- |
86-
| Not on crates.io | Git dep required | Use git dependency from GitHub |
87-
| `get_apt_balance` | Compile error | Method removed/renamed in SDK; update step definition |
88-
| `get_account_transactions` | Compile error (x2) | Method removed/renamed in SDK; update step definition |
84+
| Issue | Impact | Resolution |
85+
| ---------------- | ---------------- | ------------------------------ |
86+
| Not on crates.io | Git dep required | Use git dependency from GitHub |
8987

9088
### SDK Dependency
9189

@@ -109,29 +107,22 @@ aptos-sdk = { version = "0.3", features = ["full"] }
109107

110108
---
111109

112-
## 5. Build Failure Details
110+
## 5. Missing Test Implementations
113111

114-
As of 2026-02-06, `cargo test --test specs` fails to compile with 3 errors:
112+
Run the following to identify undefined steps:
115113

114+
```bash
115+
cargo test --test specs
116116
```
117-
error[E0599]: no method named `get_apt_balance` found for reference `&Aptos`
118-
error[E0599]: no method named `get_account_transactions` found for `&FullnodeClient` (x2)
119-
```
120-
121-
The SDK (`aptos-rust-sdk`) has undergone API changes. The following step definition files need
122-
updating:
123-
124-
- `src/steps/client_steps.rs` - `get_apt_balance` call
125-
- `src/steps/client_steps.rs` - `get_account_transactions` calls
126117

127-
**Resolution:** Update step definitions to use the current SDK API method names.
128-
129-
When compilable, scenarios that skip are typically due to:
118+
Scenarios that skip (56) are typically due to:
130119

131120
- Network-dependent tests requiring live testnet/devnet
132121
- Advanced features not yet fully tested
133122
- Error handling edge cases
134123

124+
The 12 failed scenarios are all performance benchmarks requiring network access.
125+
135126
---
136127

137128
## 6. SDK-Specific Notes
@@ -188,22 +179,23 @@ fn given_hex_string(world: &mut TestWorld, hex_string: String) {
188179

189180
## 9. Test Results Matrix
190181

191-
> Last attempted: 2026-02-06 (build failure) Last successful run: 2026-02-05
182+
> Last run: 2026-02-06
192183
193-
### Full Test Suite Summary (from 2026-02-05, last successful build)
184+
### Full Test Suite Summary
194185

195186
```
196-
826 scenarios (591 passed, 235 skipped)
197-
2565 steps (2330 passed, 235 skipped)
187+
791 scenarios (723 passed, 56 skipped, 12 failed)
188+
2897 steps (2827 passed, 56 skipped, 14 failed)
189+
Duration: ~28s
198190
```
199191

200-
### Current Status (2026-02-06)
192+
### Failed Tests (all network-dependent benchmarks)
201193

202-
```
203-
BUILD FAILURE: 3 compilation errors
204-
- get_apt_balance: method not found on &Aptos
205-
- get_account_transactions: method not found on &FullnodeClient (x2)
206-
```
194+
All 12 failures are performance benchmark scenarios that require live devnet connectivity:
195+
196+
- Get ledger info, account info, account resources, transaction by hash, account balance
197+
- Query account tokens, transactions, fungible assets, events
198+
- Submit transactions, submit and wait, full transaction flow
207199

208200
### By Feature Category
209201

0 commit comments

Comments
 (0)