@@ -308,14 +308,17 @@ namespace eosio { namespace testing {
308
308
try {
309
309
if ( num_blocks_to_producer_before_shutdown > 0 )
310
310
produce_blocks ( num_blocks_to_producer_before_shutdown );
311
- BOOST_REQUIRE_EQUAL ( validate (), true );
311
+ if (!skip_validate)
312
+ BOOST_REQUIRE_EQUAL ( validate (), true );
312
313
} catch ( const fc::exception & e ) {
313
314
wdump ((e.to_detail_string ()));
314
315
}
315
316
}
316
317
controller::config vcfg;
317
318
318
- validating_tester () {
319
+ static controller::config default_config () {
320
+ fc::temp_directory tempdir;
321
+ controller::config vcfg;
319
322
vcfg.blocks_dir = tempdir.path () / std::string (" v_" ).append (config::default_blocks_dir_name);
320
323
vcfg.state_dir = tempdir.path () / std::string (" v_" ).append (config::default_state_dir_name);
321
324
vcfg.state_size = 1024 *1024 *8 ;
@@ -333,7 +336,13 @@ namespace eosio { namespace testing {
333
336
else if (boost::unit_test::framework::master_test_suite ().argv [i] == std::string (" --wavm" ))
334
337
vcfg.wasm_runtime = chain::wasm_interface::vm_type::wavm;
335
338
}
339
+ return vcfg;
340
+ }
341
+
342
+ validating_tester (const flat_set<account_name>& trusted_producers = flat_set<account_name>()) {
343
+ vcfg = default_config ();
336
344
345
+ vcfg.trusted_producers = trusted_producers;
337
346
338
347
validating_node = std::make_unique<controller>(vcfg);
339
348
validating_node->startup ();
@@ -362,6 +371,14 @@ namespace eosio { namespace testing {
362
371
return sb;
363
372
}
364
373
374
+ signed_block_ptr produce_block_no_validation ( fc::microseconds skip_time = fc::milliseconds(config::block_interval_ms), uint32_t skip_flag = 0 /* skip_missed_block_penalty*/ ) {
375
+ return _produce_block (skip_time, false , skip_flag | 2 );
376
+ }
377
+
378
+ void validate_push_block (const signed_block_ptr& sb) {
379
+ validating_node->push_block ( sb );
380
+ }
381
+
365
382
signed_block_ptr produce_empty_block ( fc::microseconds skip_time = fc::milliseconds(config::block_interval_ms), uint32_t skip_flag = 0 /* skip_missed_block_penalty*/ )override {
366
383
control->abort_block ();
367
384
auto sb = _produce_block (skip_time, true , skip_flag | 2 );
@@ -393,6 +410,7 @@ namespace eosio { namespace testing {
393
410
394
411
unique_ptr<controller> validating_node;
395
412
uint32_t num_blocks_to_producer_before_shutdown = 0 ;
413
+ bool skip_validate = false ;
396
414
};
397
415
398
416
/* *
0 commit comments