@@ -355,6 +355,14 @@ TEST_CASE("generate soroban load", "[loadgen][soroban]")
355
355
rand_uniform<int64_t >(INT64_MAX - 10'000 , INT64_MAX);
356
356
upgradeCfg.startingEvictionScanLevel = rand_uniform<uint32_t >(4 , 8 );
357
357
358
+ #ifdef ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION
359
+ if (protocolVersionStartsFrom (Config::CURRENT_LEDGER_PROTOCOL_VERSION,
360
+ ProtocolVersion::V_23))
361
+ {
362
+ upgradeCfg.ledgerMaxDependentTxClusters = rand_uniform<uint32_t >(2 , 10 );
363
+ }
364
+ #endif
365
+
358
366
auto upgradeSetKey = loadGen.getConfigUpgradeSetKey (
359
367
createUpgradeLoadGenConfig.getSorobanUpgradeConfig ());
360
368
@@ -398,10 +406,16 @@ TEST_CASE("generate soroban load", "[loadgen][soroban]")
398
406
upgrades);
399
407
}
400
408
401
- // Loadgen doesn't update the cost types.
402
- REQUIRE (upgrades.updatedEntry .size () == 10 );
403
409
for (auto const & setting : upgrades.updatedEntry )
404
410
{
411
+ // Loadgen doesn't update the cost types and non-upgradeable settings
412
+ REQUIRE (!SorobanNetworkConfig::isNonUpgradeableConfigSettingEntry (
413
+ setting.configSettingID ()));
414
+ REQUIRE (setting.configSettingID () !=
415
+ CONFIG_SETTING_CONTRACT_COST_PARAMS_CPU_INSTRUCTIONS);
416
+ REQUIRE (setting.configSettingID () !=
417
+ CONFIG_SETTING_CONTRACT_COST_PARAMS_MEMORY_BYTES);
418
+
405
419
switch (setting.configSettingID ())
406
420
{
407
421
case CONFIG_SETTING_CONTRACT_MAX_SIZE_BYTES:
@@ -471,6 +485,13 @@ TEST_CASE("generate soroban load", "[loadgen][soroban]")
471
485
REQUIRE (setting.contractExecutionLanes ().ledgerMaxTxCount ==
472
486
upgradeCfg.ledgerMaxTxCount );
473
487
break ;
488
+ #ifdef ENABLE_NEXT_PROTOCOL_VERSION_UNSAFE_FOR_PRODUCTION
489
+ case CONFIG_SETTING_CONTRACT_PARALLEL_COMPUTE_V0:
490
+ REQUIRE (setting.contractParallelCompute ()
491
+ .ledgerMaxDependentTxClusters ==
492
+ upgradeCfg.ledgerMaxDependentTxClusters );
493
+ break ;
494
+ #endif
474
495
default :
475
496
REQUIRE (false );
476
497
break ;
0 commit comments