mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2024-11-20 15:05:19 +00:00
Change zg chain block time in python tests (#181)
Some checks are pending
abi-consistent-check / build-and-compare (push) Waiting to run
code-coverage / unittest-cov (push) Waiting to run
rust / check (push) Waiting to run
rust / test (push) Waiting to run
rust / lints (push) Waiting to run
functional-test / test (push) Waiting to run
Some checks are pending
abi-consistent-check / build-and-compare (push) Waiting to run
code-coverage / unittest-cov (push) Waiting to run
rust / check (push) Waiting to run
rust / test (push) Waiting to run
rust / lints (push) Waiting to run
functional-test / test (push) Waiting to run
* Change zg chain block time in python tests
This commit is contained in:
parent
52878b6709
commit
052d2d781b
@ -62,6 +62,15 @@ for ((i=0; i<$NUM_NODES; i++)) do
|
|||||||
CONFIG_TOML=$ROOT_DIR/node$i/config/config.toml
|
CONFIG_TOML=$ROOT_DIR/node$i/config/config.toml
|
||||||
sed -i '/seeds = /c\seeds = ""' $CONFIG_TOML
|
sed -i '/seeds = /c\seeds = ""' $CONFIG_TOML
|
||||||
sed -i 's/addr_book_strict = true/addr_book_strict = false/' $CONFIG_TOML
|
sed -i 's/addr_book_strict = true/addr_book_strict = false/' $CONFIG_TOML
|
||||||
|
|
||||||
|
# Change block time to very small
|
||||||
|
sed -i '/timeout_propose = "3s"/c\timeout_propose = "300ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_propose_delta = "500ms"/c\timeout_propose_delta = "50ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_prevote = "1s"/c\timeout_prevote = "100ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_prevote_delta = "500ms"/c\timeout_prevote_delta = "50ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_precommit = "1s"/c\timeout_precommit = "100ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_precommit_delta = "500ms"/c\timeout_precommit_delta = "50ms"' $CONFIG_TOML
|
||||||
|
sed -i '/timeout_commit = "5s"/c\timeout_commit = "500ms"' $CONFIG_TOML
|
||||||
done
|
done
|
||||||
|
|
||||||
# Update persistent_peers in config.toml
|
# Update persistent_peers in config.toml
|
||||||
|
@ -7,6 +7,7 @@ from utility.run_all import run_all
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
run_all(
|
run_all(
|
||||||
test_dir = os.path.dirname(__file__),
|
test_dir = os.path.dirname(__file__),
|
||||||
slow_tests={"random_test.py", "same_root_test.py"},
|
slow_tests={"mine_test.py", "random_test.py", "same_root_test.py"},
|
||||||
long_manual_tests={"fuzz_test.py"},
|
long_manual_tests={"fuzz_test.py"},
|
||||||
|
single_run_tests={"mine_with_market_test.py"},
|
||||||
)
|
)
|
@ -167,8 +167,8 @@ class TestFramework:
|
|||||||
# sync_blocks(self.blockchain_nodes)
|
# sync_blocks(self.blockchain_nodes)
|
||||||
elif self.blockchain_node_type == BlockChainNodeType.ZG:
|
elif self.blockchain_node_type == BlockChainNodeType.ZG:
|
||||||
# wait for the first block
|
# wait for the first block
|
||||||
self.log.debug("Wait 3 seconds for 0gchain node to generate first block")
|
self.log.debug("Wait for 0gchain node to generate first block")
|
||||||
time.sleep(3)
|
time.sleep(0.5)
|
||||||
for node in self.blockchain_nodes:
|
for node in self.blockchain_nodes:
|
||||||
wait_until(lambda: node.net_peerCount() == self.num_blockchain_nodes - 1)
|
wait_until(lambda: node.net_peerCount() == self.num_blockchain_nodes - 1)
|
||||||
wait_until(lambda: node.eth_blockNumber() is not None)
|
wait_until(lambda: node.eth_blockNumber() is not None)
|
||||||
|
@ -50,11 +50,15 @@ def run_single_test(py, script, test_dir, index, port_min, port_max):
|
|||||||
)
|
)
|
||||||
except subprocess.CalledProcessError as err:
|
except subprocess.CalledProcessError as err:
|
||||||
print_testcase_result(RED, CROSS, script, start_time)
|
print_testcase_result(RED, CROSS, script, start_time)
|
||||||
|
try:
|
||||||
print("Output of " + script + "\n" + err.output.decode("utf-8"), flush=True)
|
print("Output of " + script + "\n" + err.output.decode("utf-8"), flush=True)
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
print("Output of " + script + "\n", flush=True)
|
||||||
|
print(err.output)
|
||||||
raise err
|
raise err
|
||||||
print_testcase_result(BLUE, TICK, script, start_time)
|
print_testcase_result(BLUE, TICK, script, start_time)
|
||||||
|
|
||||||
def run_all(test_dir: str, test_subdirs: list[str]=[], slow_tests: set[str]={}, long_manual_tests: set[str]={}):
|
def run_all(test_dir: str, test_subdirs: list[str]=[], slow_tests: set[str]={}, long_manual_tests: set[str]={}, single_run_tests: set[str]={}):
|
||||||
tmp_dir = os.path.join(test_dir, "tmp")
|
tmp_dir = os.path.join(test_dir, "tmp")
|
||||||
if not os.path.exists(tmp_dir):
|
if not os.path.exists(tmp_dir):
|
||||||
os.makedirs(tmp_dir, exist_ok=True)
|
os.makedirs(tmp_dir, exist_ok=True)
|
||||||
@ -98,7 +102,7 @@ def run_all(test_dir: str, test_subdirs: list[str]=[], slow_tests: set[str]={},
|
|||||||
for file in os.listdir(subdir_path):
|
for file in os.listdir(subdir_path):
|
||||||
if file.endswith("_test.py"):
|
if file.endswith("_test.py"):
|
||||||
rel_path = os.path.join(subdir, file)
|
rel_path = os.path.join(subdir, file)
|
||||||
if rel_path not in slow_tests and rel_path not in long_manual_tests:
|
if rel_path not in slow_tests and rel_path not in long_manual_tests and rel_path not in single_run_tests:
|
||||||
TEST_SCRIPTS.append(rel_path)
|
TEST_SCRIPTS.append(rel_path)
|
||||||
|
|
||||||
executor = ProcessPoolExecutor(max_workers=options.max_workers)
|
executor = ProcessPoolExecutor(max_workers=options.max_workers)
|
||||||
@ -131,6 +135,18 @@ def run_all(test_dir: str, test_subdirs: list[str]=[], slow_tests: set[str]={},
|
|||||||
print("CalledProcessError " + repr(err))
|
print("CalledProcessError " + repr(err))
|
||||||
failed.add(script)
|
failed.add(script)
|
||||||
|
|
||||||
|
# Run single tests one by one
|
||||||
|
for script in single_run_tests:
|
||||||
|
f = executor.submit(
|
||||||
|
run_single_test, py, script, test_dir, i, options.port_min, options.port_max
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
f.result()
|
||||||
|
except subprocess.CalledProcessError as err:
|
||||||
|
print("CalledProcessError " + repr(err))
|
||||||
|
failed.add(script)
|
||||||
|
i += 1
|
||||||
|
|
||||||
print("Elapsed: " + str(int(time.time() - start_time)) + " seconds", flush=True)
|
print("Elapsed: " + str(int(time.time() - start_time)) + " seconds", flush=True)
|
||||||
|
|
||||||
if len(failed) > 0:
|
if len(failed) > 0:
|
||||||
|
@ -194,8 +194,13 @@ def generate_merkle_tree_by_batch(data):
|
|||||||
|
|
||||||
|
|
||||||
def submit_data(client, data):
|
def submit_data(client, data):
|
||||||
|
shard_config = client.rpc.zgs_getShardConfig()
|
||||||
|
shard_id = int(shard_config["shardId"])
|
||||||
|
num_shard = int(shard_config["numShard"])
|
||||||
|
|
||||||
segments = data_to_segments(data)
|
segments = data_to_segments(data)
|
||||||
for segment in segments:
|
for index, segment in enumerate(segments):
|
||||||
|
if index % num_shard == shard_id:
|
||||||
client.zgs_upload_segment(segment)
|
client.zgs_upload_segment(segment)
|
||||||
return segments
|
return segments
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user