mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge #18392: ci: Run feature_block in valgrind
fa92af5af39a08982f785542df5419d6d5a4706d ci: Run feature_block and feature_abortnode in valgrind (MarcoFalke)
fa01febeaf801bade77a613e64f18b556ae16d86 test: Remove ci timeout restriction in test_runner (MarcoFalke)
Pull request description:
Also revert commit 0a4912e46a
, because some tests take too long for this to be useful anymore.
Top commit has no ACKs.
Tree-SHA512: 363f14766e1f4a5860ab668a516b41acebc6fbdf11d8defb3a95a772dbf82304ca1f5f14b1dbad97f2029503e03d92e8c69df0466a8872409c20665838f617ed
This commit is contained in:
parent
c2554ab891
commit
32b4f8dd65
@ -9,7 +9,6 @@ export LC_ALL=C.UTF-8
|
||||
export PACKAGES="valgrind clang llvm python3-zmq libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev"
|
||||
export USE_VALGRIND=1
|
||||
export NO_DEPENDS=1
|
||||
export TEST_RUNNER_EXTRA="--exclude feature_abortnode,feature_block,rpc_bind" # Excluded for now
|
||||
export RUN_FUNCTIONAL_TESTS=true
|
||||
export TEST_RUNNER_EXTRA="--exclude rpc_bind" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no CC=clang CXX=clang++" # TODO enable GUI
|
||||
|
@ -14,11 +14,12 @@ from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import wait_until, get_datadir_path
|
||||
import os
|
||||
|
||||
class AbortNodeTest(BitcoinTestFramework):
|
||||
|
||||
class AbortNodeTest(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
self.setup_clean_chain = True
|
||||
self.num_nodes = 2
|
||||
self.rpc_timeout = 240
|
||||
|
||||
def setup_network(self):
|
||||
self.setup_nodes()
|
||||
@ -44,5 +45,6 @@ class AbortNodeTest(BitcoinTestFramework):
|
||||
self.log.info("Node crashed - now verifying restart fails")
|
||||
self.nodes[0].assert_start_raises_init_error()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
AbortNodeTest().main()
|
||||
|
@ -1272,7 +1272,7 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.save_spendable_output()
|
||||
spend = self.get_spendable_output()
|
||||
|
||||
self.send_blocks(blocks, True, timeout=1920)
|
||||
self.send_blocks(blocks, True, timeout=2440)
|
||||
chain1_tip = i
|
||||
|
||||
# now create alt chain of same length
|
||||
@ -1284,14 +1284,14 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
|
||||
# extend alt chain to trigger re-org
|
||||
block = self.next_block("alt" + str(chain1_tip + 1), version=4)
|
||||
self.send_blocks([block], True, timeout=1920)
|
||||
self.send_blocks([block], True, timeout=2440)
|
||||
|
||||
# ... and re-org back to the first chain
|
||||
self.move_tip(chain1_tip)
|
||||
block = self.next_block(chain1_tip + 1, version=4)
|
||||
self.send_blocks([block], False, force_send=True)
|
||||
block = self.next_block(chain1_tip + 2, version=4)
|
||||
self.send_blocks([block], True, timeout=1920)
|
||||
self.send_blocks([block], True, timeout=2440)
|
||||
|
||||
self.log.info("Reject a block with an invalid block header version")
|
||||
b_v1 = self.next_block('b_v1', version=1)
|
||||
|
@ -19,9 +19,8 @@ import datetime
|
||||
import os
|
||||
import time
|
||||
import shutil
|
||||
import signal
|
||||
import sys
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import re
|
||||
import logging
|
||||
@ -416,11 +415,10 @@ def main():
|
||||
args=passon_args,
|
||||
combined_logs_len=args.combinedlogslen,
|
||||
failfast=args.failfast,
|
||||
runs_ci=args.ci,
|
||||
use_term_control=args.ansi,
|
||||
)
|
||||
|
||||
def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, attempts=1, enable_coverage=False, args=None, combined_logs_len=0,failfast=False, runs_ci=False, use_term_control):
|
||||
def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, attempts=1, enable_coverage=False, args=None, combined_logs_len=0,failfast=False, use_term_control):
|
||||
args = args or []
|
||||
|
||||
# Warn if dashd is already running
|
||||
@ -473,7 +471,6 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, attempts=1, enab
|
||||
tmpdir=tmpdir,
|
||||
test_list=test_list,
|
||||
flags=flags,
|
||||
timeout_duration= 90 * 60 if runs_ci else float('inf'), # in seconds
|
||||
use_term_control=use_term_control,
|
||||
attempts=attempts,
|
||||
)
|
||||
@ -559,12 +556,11 @@ class TestHandler:
|
||||
Trigger the test scripts passed in via the list.
|
||||
"""
|
||||
|
||||
def __init__(self, *, num_tests_parallel, tests_dir, tmpdir, test_list, flags, timeout_duration, use_term_control, attempts):
|
||||
def __init__(self, *, num_tests_parallel, tests_dir, tmpdir, test_list, flags, use_term_control, attempts):
|
||||
assert num_tests_parallel >= 1
|
||||
self.num_jobs = num_tests_parallel
|
||||
self.tests_dir = tests_dir
|
||||
self.tmpdir = tmpdir
|
||||
self.timeout_duration = timeout_duration
|
||||
self.test_list = test_list
|
||||
self.flags = flags
|
||||
self.num_running = 0
|
||||
@ -608,10 +604,6 @@ class TestHandler:
|
||||
time.sleep(.5)
|
||||
for job in self.jobs:
|
||||
(name, start_time, proc, testdir, log_out, log_err, portseed, attempt) = job
|
||||
if int(time.time() - start_time) > self.timeout_duration:
|
||||
# Timeout individual tests if timeout is specified (to stop
|
||||
# tests hanging and not providing useful output).
|
||||
proc.send_signal(signal.SIGINT)
|
||||
if proc.poll() is not None:
|
||||
log_out.seek(0), log_err.seek(0)
|
||||
[stdout, stderr] = [log_file.read().decode('utf-8') for log_file in (log_out, log_err)]
|
||||
|
Loading…
Reference in New Issue
Block a user