Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 32 additions & 16 deletions jogger
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
#!/usr/bin/env python3
#
# Copyright(c) 2023 Intel Corporation
# Copyright(c) 2025 Huawei Technologies Co., Ltd.
# SPDX-License-Identifier: BSD-3-Clause
#

from common import ConfigFile, JournalFile, StatusFile, TestCase, TestEvent, JournalParser
from common import JournalFile, StatusFile, TestCase, TestEvent, JournalParser

from datetime import datetime
from functools import reduce
from tabulate import tabulate
from tempfile import NamedTemporaryFile
import argparse
import daemon
import hashlib
import json
import os
import shutil
Expand Down Expand Up @@ -328,17 +328,18 @@ class TestSelector:
usage = """%(prog)s command [args]

Supported commands:
init Initialize new test scope
tests Print list of test cases
run Run specified tests or select them interactively
delete Delete test event from the queue
queue Print test event queue
status Print scope status
results Print list of test results
show Print details of test result
log Open log(s) for given test case in default browser
test-log Open log for given test event in default browser
stdout Show pytest standard output on selected DUT
init Initialize new test scope
tests Print list of test cases
run Run specified tests or select them interactively
delete Delete test event from the queue
queue Print test event queue
status Print scope status
results Print list of test results
show Print details of test result
log Print console log for given test event
html-logs Open log(s) for given test case in default browser
html-log Open log for given test event in default browser
stdout Show pytest standard output on selected DUT
"""


Expand Down Expand Up @@ -661,7 +662,22 @@ class SuperRunnerCli:
def log(self, prog, argv):
parser = argparse.ArgumentParser(
prog=prog,
description="Open log for given test event in default browser"
description="Open console log for given test event in default browser"
)
parser.add_argument('sha')
args = parser.parse_args(argv)

res = self.scope_handler.result_by_sha({'sha': args.sha})
if not res:
error(f"Result with id '{args.sha}' not found")
exit(1)

os.system(f"less {os.path.join(res['logs'], 'stdout.log')}")

def html_log(self, prog, argv):
parser = argparse.ArgumentParser(
prog=prog,
description="Open html log for given test event in default browser"
)
parser.add_argument('sha')
args = parser.parse_args(argv)
Expand All @@ -675,10 +691,10 @@ class SuperRunnerCli:
webbrowser.open_new_tab(os.path.join(res['logs'], "main.html"))
self.scope_handler.log(prog, argv)

def test_log(self, prog, argv):
def html_logs(self, prog, argv):
parser = argparse.ArgumentParser(
prog=prog,
description="Open log(s) for given test case in default browser"
description="Open html log(s) for given test case in default browser"
)
parser.add_argument('id')
parser.add_argument('--passed', action='store_true')
Expand Down
3 changes: 2 additions & 1 deletion runnerd
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
#
# Copyright(c) 2023 Intel Corporation
# Copyright(c) 2025 Huawei Technologies Co., Ltd.
# SPDX-License-Identifier: BSD-3-Clause
#

Expand Down Expand Up @@ -343,7 +344,7 @@ def daemonize(enabled):
return contextlib.suppress()

if __name__ == '__main__':
setproctitle('runnerd')
setproctitle(f'runnerd{os.getcwd().replace(os.sep, "-")}')
parser = argparse.ArgumentParser()
parser.add_argument('--debug', action='store_true')
parser.add_argument('--no-daemon', action='store_true')
Expand Down