Skip to content

Commit a6be31c

Browse files
committed
fix(test): allow iui e2e tests to re-run
1 parent 4130100 commit a6be31c

7 files changed

+70
-14
lines changed

lib/services/testing/test_suites/epiccash_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import '../test_suite_interface.dart';
1717
import '../testing_models.dart';
1818

1919
class EpiccashIntegrationTestSuite implements TestSuiteInterface {
20-
final StreamController<TestSuiteStatus> _statusController =
20+
StreamController<TestSuiteStatus> _statusController =
2121
StreamController<TestSuiteStatus>.broadcast();
2222
TestSuiteStatus _status = TestSuiteStatus.waiting;
2323

@@ -31,7 +31,12 @@ class EpiccashIntegrationTestSuite implements TestSuiteInterface {
3131
TestSuiteStatus get status => _status;
3232

3333
@override
34-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
34+
Stream<TestSuiteStatus> get statusStream {
35+
if (_statusController.isClosed) {
36+
_statusController = StreamController<TestSuiteStatus>.broadcast();
37+
}
38+
return _statusController.stream;
39+
}
3540

3641
@override
3742
Future<TestResult> runTests() async {
@@ -157,6 +162,9 @@ class EpiccashIntegrationTestSuite implements TestSuiteInterface {
157162

158163
void _updateStatus(TestSuiteStatus newStatus) {
159164
_status = newStatus;
165+
if (_statusController.isClosed) {
166+
_statusController = StreamController<TestSuiteStatus>.broadcast();
167+
}
160168
_statusController.add(newStatus);
161169
}
162170

lib/services/testing/test_suites/firo_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import '../test_suite_interface.dart';
1818
import '../testing_models.dart';
1919

2020
class FiroIntegrationTestSuite implements TestSuiteInterface {
21-
final StreamController<TestSuiteStatus> _statusController =
21+
StreamController<TestSuiteStatus> _statusController =
2222
StreamController<TestSuiteStatus>.broadcast();
2323
TestSuiteStatus _status = TestSuiteStatus.waiting;
2424

@@ -32,7 +32,12 @@ class FiroIntegrationTestSuite implements TestSuiteInterface {
3232
TestSuiteStatus get status => _status;
3333

3434
@override
35-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
35+
Stream<TestSuiteStatus> get statusStream {
36+
if (_statusController.isClosed) {
37+
_statusController = StreamController<TestSuiteStatus>.broadcast();
38+
}
39+
return _statusController.stream;
40+
}
3641

3742
@override
3843
Future<TestResult> runTests() async {
@@ -210,6 +215,9 @@ class FiroIntegrationTestSuite implements TestSuiteInterface {
210215

211216
void _updateStatus(TestSuiteStatus newStatus) {
212217
_status = newStatus;
218+
if (_statusController.isClosed) {
219+
_statusController = StreamController<TestSuiteStatus>.broadcast();
220+
}
213221
_statusController.add(newStatus);
214222
}
215223

lib/services/testing/test_suites/litecoin_mweb_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import '../test_suite_interface.dart';
2222
import '../testing_models.dart';
2323

2424
class LitecoinMwebIntegrationTestSuite implements TestSuiteInterface {
25-
final StreamController<TestSuiteStatus> _statusController =
25+
StreamController<TestSuiteStatus> _statusController =
2626
StreamController<TestSuiteStatus>.broadcast();
2727
TestSuiteStatus _status = TestSuiteStatus.waiting;
2828

@@ -36,7 +36,12 @@ class LitecoinMwebIntegrationTestSuite implements TestSuiteInterface {
3636
TestSuiteStatus get status => _status;
3737

3838
@override
39-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
39+
Stream<TestSuiteStatus> get statusStream {
40+
if (_statusController.isClosed) {
41+
_statusController = StreamController<TestSuiteStatus>.broadcast();
42+
}
43+
return _statusController.stream;
44+
}
4045

4146
@override
4247
Future<TestResult> runTests() async {
@@ -272,6 +277,9 @@ class LitecoinMwebIntegrationTestSuite implements TestSuiteInterface {
272277

273278
void _updateStatus(TestSuiteStatus newStatus) {
274279
_status = newStatus;
280+
if (_statusController.isClosed) {
281+
_statusController = StreamController<TestSuiteStatus>.broadcast();
282+
}
275283
_statusController.add(newStatus);
276284
}
277285

lib/services/testing/test_suites/monero_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import '../testing_models.dart';
2525
import 'test_data/polyseed_vectors.dart';
2626

2727
class MoneroWalletTestSuite implements TestSuiteInterface {
28-
final StreamController<TestSuiteStatus> _statusController =
28+
StreamController<TestSuiteStatus> _statusController =
2929
StreamController<TestSuiteStatus>.broadcast();
3030
TestSuiteStatus _status = TestSuiteStatus.waiting;
3131

@@ -39,7 +39,12 @@ class MoneroWalletTestSuite implements TestSuiteInterface {
3939
TestSuiteStatus get status => _status;
4040

4141
@override
42-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
42+
Stream<TestSuiteStatus> get statusStream {
43+
if (_statusController.isClosed) {
44+
_statusController = StreamController<TestSuiteStatus>.broadcast();
45+
}
46+
return _statusController.stream;
47+
}
4348

4449
@override
4550
Future<TestResult> runTests() async {
@@ -540,6 +545,9 @@ class MoneroWalletTestSuite implements TestSuiteInterface {
540545

541546
void _updateStatus(TestSuiteStatus newStatus) {
542547
_status = newStatus;
548+
if (_statusController.isClosed) {
549+
_statusController = StreamController<TestSuiteStatus>.broadcast();
550+
}
543551
_statusController.add(newStatus);
544552
}
545553

lib/services/testing/test_suites/salvium_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import '../test_suite_interface.dart';
2323
import '../testing_models.dart';
2424

2525
class SalviumIntegrationTestSuite implements TestSuiteInterface {
26-
final StreamController<TestSuiteStatus> _statusController =
26+
StreamController<TestSuiteStatus> _statusController =
2727
StreamController<TestSuiteStatus>.broadcast();
2828
TestSuiteStatus _status = TestSuiteStatus.waiting;
2929

@@ -37,7 +37,12 @@ class SalviumIntegrationTestSuite implements TestSuiteInterface {
3737
TestSuiteStatus get status => _status;
3838

3939
@override
40-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
40+
Stream<TestSuiteStatus> get statusStream {
41+
if (_statusController.isClosed) {
42+
_statusController = StreamController<TestSuiteStatus>.broadcast();
43+
}
44+
return _statusController.stream;
45+
}
4146

4247
@override
4348
Future<TestResult> runTests() async {
@@ -441,6 +446,9 @@ class SalviumIntegrationTestSuite implements TestSuiteInterface {
441446

442447
void _updateStatus(TestSuiteStatus newStatus) {
443448
_status = newStatus;
449+
if (_statusController.isClosed) {
450+
_statusController = StreamController<TestSuiteStatus>.broadcast();
451+
}
444452
_statusController.add(newStatus);
445453
}
446454

lib/services/testing/test_suites/tor_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import '../../../electrumx_rpc/electrumx_client.dart';
2525
import '../../../utilities/tor_plain_net_option_enum.dart';
2626

2727
class TorTestSuite implements TestSuiteInterface {
28-
final StreamController<TestSuiteStatus> _statusController = StreamController<TestSuiteStatus>.broadcast();
28+
StreamController<TestSuiteStatus> _statusController = StreamController<TestSuiteStatus>.broadcast();
2929
TestSuiteStatus _status = TestSuiteStatus.waiting;
3030

3131
@override
@@ -38,7 +38,12 @@ class TorTestSuite implements TestSuiteInterface {
3838
TestSuiteStatus get status => _status;
3939

4040
@override
41-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
41+
Stream<TestSuiteStatus> get statusStream {
42+
if (_statusController.isClosed) {
43+
_statusController = StreamController<TestSuiteStatus>.broadcast();
44+
}
45+
return _statusController.stream;
46+
}
4247

4348
@override
4449
Future<TestResult> runTests() async {
@@ -296,6 +301,9 @@ class TorTestSuite implements TestSuiteInterface {
296301

297302
void _updateStatus(TestSuiteStatus newStatus) {
298303
_status = newStatus;
304+
if (_statusController.isClosed) {
305+
_statusController = StreamController<TestSuiteStatus>.broadcast();
306+
}
299307
_statusController.add(_status);
300308
}
301309

lib/services/testing/test_suites/wownero_integration_test_suite.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import '../test_suite_interface.dart';
2424
import '../testing_models.dart';
2525

2626
class WowneroIntegrationTestSuite implements TestSuiteInterface {
27-
final StreamController<TestSuiteStatus> _statusController =
27+
StreamController<TestSuiteStatus> _statusController =
2828
StreamController<TestSuiteStatus>.broadcast();
2929
TestSuiteStatus _status = TestSuiteStatus.waiting;
3030

@@ -38,7 +38,12 @@ class WowneroIntegrationTestSuite implements TestSuiteInterface {
3838
TestSuiteStatus get status => _status;
3939

4040
@override
41-
Stream<TestSuiteStatus> get statusStream => _statusController.stream;
41+
Stream<TestSuiteStatus> get statusStream {
42+
if (_statusController.isClosed) {
43+
_statusController = StreamController<TestSuiteStatus>.broadcast();
44+
}
45+
return _statusController.stream;
46+
}
4247

4348
@override
4449
Future<TestResult> runTests() async {
@@ -460,6 +465,9 @@ class WowneroIntegrationTestSuite implements TestSuiteInterface {
460465

461466
void _updateStatus(TestSuiteStatus newStatus) {
462467
_status = newStatus;
468+
if (_statusController.isClosed) {
469+
_statusController = StreamController<TestSuiteStatus>.broadcast();
470+
}
463471
_statusController.add(newStatus);
464472
}
465473

0 commit comments

Comments
 (0)