bitcoindevkit / bitcoindevkit/bdk-dart
Parallel Electrum integration tests can fail installing rustls CryptoProvider
- Dominant language
- Dart
- Stars
- 13
- Forks
- 20
- Avg merge
- 24m
- Merged PRs (30d)
- 3
Description
Running the network-gated integration suite with default test concurrency can fail when parallel Electrum clients initialize rustls at the same time... rerunning the failed Electrum canary alone passed, and dart test test/integration --concurrency=1 passed.
```
CouldNotCreateConnectionElectrumException(unexpected error: Failed to install CryptoProvider)
package:bdk_dart/bdk.dart 26094:5 checkCallStatus
package:bdk_dart/bdk.dart 26117:5 rustCall
package:bdk_dart/bdk.dart 21731:15 new ElectrumClient
test/integration/integration_helpers.dart 55:10 buildElectrumClientFromEnv
test/integration/wallet_surface_canary_test.dart 153:26 main..
```
Contributor guide
Research direction
Reproduce the failure with the network-gated integration suite at its default concurrency, then compare it with `dart test test/integration --concurrency=1`. Start at `test/integration/integration_helpers.dart:55` and `test/integration/wallet_surface_canary_test.dart:153`, where the Electrum client is created. Done means the default-concurrency suite no longer fails with the CryptoProvider error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 48/100