Release Notes
Unreleased (2025-03-18)
Changed Change Testplan exported JSON report structure to reduce report size.
- Remove unused report entry fields.
fix_spec_path
.status_override
andstatus_reason
in case they are empty.line_no
,code_context
andfile_path
if--code
is not enabled.env_status
,part
,strict_order
andhost
depending on report category.
Remove unused assertion entry fields
category
andflag
if they areDEFAULT
.Merge assertion entry fields
utc_time
andmachine_time
into a unix timestamp fieldtimestamp
, and store timezone info in parent Test-level report under keytimezone
.Replace ISO 8601 time string with unix timestamp in all
timer
fields, and add atimezone
field to Testplan-level report as well.- Update data structure of several serialized assertion entries.
Delta encode level info of
flattened_dict
fields ofDictLog
andFixLog
entries.Delta encode level info of
comparison
fields ofDictMatch
andFixMatch
entries.Delta encode level info of nested
comparison
fields ofDictMatchAll
andFixMatchAll
entries, remove extra nesting ofmatches
as well.Preserve abbreviations of match status of
DictMatch
,FixMatch
,DictMatchAll
andFixMatchAll
entries, i.e.p
instead ofPassed
,f
instead ofFailed
,i
instead ofIgnored
.Remove
indices
field ofTableLog
entries.
Changed Fix releaseherald documentation
Deprecated Support for Python 3.7 and 3.8 is deprecated and will be removed soon.
Changed Handle potential race condition during resource monitor termination
Changed Improve error logging for
RemoteService
; fix incorrect imitated workspace on remote due to leftover symlink from previous run.Changed Remove Sphinx and other packages for building document from Testplan’s dependencies.
Changed Copy permission bits for the copied binary in App.
25.1.0 (2025-01-20)
Changed Checks if a process exists by reading the /proc/<pid>/stat.
Changed Support
RemoteDriver
in dependency graph of test environment (thedependencies
parameter).Changed Use lazy import for Matplotlib and move cache to runpath.
New Added
--code
flag to collect code context for the assertions. Code context one-liner will be displayed on the web UI if enabled. Note that file path information is no longer collected by default. To collect file path information, enable code context.New Add a new summary page on resource view to show the task allocation per host.
Changed Refactor the stop logic of
App
driver for faster environment shutdown. Rename parametersigint_timeout
tostop_timeout
. Add a new parameterstop_signal
for custom stop signals, its default valueNone
invokesterminate
method to stop subprocess, i.e. sendingSIGTERM
signal to subprocess on Linux. Environment will fail to stop if subprocess doesn’t terminate within the default 5-secondstop_timeout
for graceful shutdown. Increasestop_timeout
or changestop_signal
(to maybeSIGKILL
on Linux) could resolve this issue.Changed Make sure when stop() is called on App type driver, we clean up all orphaned processes.
Changed If
App
driver times out during shutdown or leaves orphaned processes after shutdown, Testplan will now emit a warning and perform a forced cleanup instead of failing the tests.Changed Increase the number of Remote worker setup thread.
Changed Fix interactive mode crashing issue when loading a namespace package. (It is still not supported to reload namespace packages.)
SyntaxError
will no longer be suppressed during interactive mode code reloading.Changed Fix incorrect early stop detection logic.
Changed Swapped Run and Reload buttons on the interactive UI by user request.
Changed Use a new JSON library
orjson
to improve performance when using Python 3.8 or later versions.Changed Limit the length of parameterization testcase name to 255 characters. If the name length exceeds 255 characters, index-suffixed names (e.g.,
{func_name} 1
,{func_name} 2
) will be used.New Testplan now includes its own version in generated report.
Changed
JSONExporter
will log a “file not found” warning in the log instead of raising an exception.Changed Fixed an issue where enabling Status icons crashed the report when a test was marked as XFAIL.
Changed Update
orjson
dumping option to allow serializingnumpy
objects.
24.9.2 (2024-09-12)
New First official pypi release.