Check unexpected exceptions in Patroni logs after behave (#2538)

and make behave fail if there are anything unexpected found.

In addition to that fix globing rule when uploading artifacts with logs.
This commit is contained in:
Alexander Kukushkin
2023-01-25 11:02:52 +01:00
committed by GitHub
parent 4872ac51e0
commit 79458688d1
2 changed files with 15 additions and 2 deletions

View File

@@ -144,7 +144,7 @@ jobs:
name: behave-${{ matrix.os }}-${{ matrix.dcs }}-${{ matrix.python-version }}-logs
path: |
features/output/*_failed/*postgres?.*
features/output/*
features/output/*.log
if-no-files-found: error
retention-days: 5
- name: Generate coverage xml report

View File

@@ -1,5 +1,6 @@
import abc
import datetime
import glob
import os
import json
import psutil
@@ -1110,8 +1111,20 @@ def after_feature(context, feature):
if os.path.exists(data):
shutil.rmtree(data)
context.dcs_ctl.cleanup_service_tree()
if feature.status == 'failed':
found = False
logs = glob.glob(context.pctl.output_dir + '/patroni_*.log')
for log in logs:
with open(log) as f:
for line in f:
if 'please report it as a BUG' in line:
print(':'.join([log, line.rstrip()]))
found = True
if feature.status == 'failed' or found:
shutil.copytree(context.pctl.output_dir, context.pctl.output_dir + '_failed')
if found:
raise Exception('Unexpected errors in Patroni log files')
def before_scenario(context, scenario):