Skip to content

Commit

Permalink
Merge bitcoin#16973: test: Fix combine_logs.py for AppVeyor build
Browse files Browse the repository at this point in the history
d478a47 test: Fix combine_logs.py for AppVeyor build (Martin Zumsande)

Pull request description:

  Fixes bitcoin#16894

  This fixes the problem of AppVeyor builds not showing `debug.log` if a functional test fails, because the windows separator `\` doesn't work together with the regex in `combine_logs.py`.

  A fix was already attempted in  bitcoin#16896, however, that PR became inactive and was marked "up for grabs", plus it's a really small change.

  As suggested by jamesob, this PR uses `pathlib`: For the glob and to convert the path to a posix-style string, it leaves the regex as is (in contrast to bitcoin#16896 which adjusted the regex).

  I tested this locally on Windows and Ubuntu.

Top commit has no ACKs.

Tree-SHA512: 603b4359b6009b6da874c30f69759acda03730ee5747898a0fe957a5fc37ee9ba07858c6aa2169bf4c40521f37e47138e8314d698652ea2760fa0a3f76b890bd
  • Loading branch information
MarcoFalke committed Oct 10, 2019
2 parents befdef8 + d478a47 commit d5a770b
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions test/functional/combine_logs.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

import argparse
from collections import defaultdict, namedtuple
import glob
import heapq
import itertools
import os
Expand Down Expand Up @@ -78,10 +77,11 @@ def read_logs(tmp_dir):
for each of the input log files."""

# Find out what the folder is called that holds the debug.log file
chain = glob.glob("{}/node0/*/debug.log".format(tmp_dir))
if chain:
chain = chain[0] # pick the first one if more than one chain was found (should never happen)
chain = re.search(r'node0/(.+?)/debug\.log$', chain).group(1) # extract the chain name
glob = pathlib.Path(tmp_dir).glob('node0/**/debug.log')
path = next(glob, None)
if path:
assert next(glob, None) is None # more than one debug.log, should never happen
chain = re.search(r'node0/(.+?)/debug\.log$', path.as_posix()).group(1) # extract the chain name
else:
chain = 'regtest' # fallback to regtest (should only happen when none exists)

Expand Down

0 comments on commit d5a770b

Please sign in to comment.