Releases: nasa/CTF
CTF v1.9 Release
v1.9
09/12/2024
- CTF Core Changes
- Update plugins loading sequence for customized plugins to override test instructions.
- Minor improvements and bug fixes.
- CTF Plugins Changes
- Updates to SP0 Plugin
- Fix the issue of SP0_SendCommand not time out when the SP0 response is lost.
- Increase sp0 telnet connect retry counters for longer files uploading time to targets.
- Updates to CFS Plugin
- Add a new instruction
ClearTlmPacket
to clear received tlm messages of given MID for test verification. - Allow
CheckTlmValue
instruction to search tlm value in attribute array. - Fix the issue of
CheckEvent
taking too long to time out when receiving overwhelmingly large numbers of tlm messages. - Add a
backward
optional argument forCheckTlmValue
instruction to search telemetry messages received before this instruction execution. - Add a new feature for
SendCfsCommand
instruction to resolve the macros defined by any registered cfs targets and the macros in the header attributes. - Add a new feature to allow setting the CPU affinity of Linux targets by taskset command.
- Add a new instruction
- Updates to Variable Plugin
- Make explicit type conversion for CCDD Macro/Const to avoid log warnings.
- Add an option argument to count the occurrence of a string in file for
SearchStr
instruction.
- Updates to SP0 Plugin
- CTF Tool and Scripts Changes
- Update requirement.txt.
- Remove sample_cfs_workspace submodule from repository.
- Improve CTF tests scripts.
CTF v1.8.2 Release
v1.8.2
11/20/2023
- CTF Core Changes
- Add an optional logging configuration
csv_tlm_log
. If True, CTF creates an additional tlm CSV log file. - Minor improvements and bug fixes.
- Add an optional logging configuration
- CTF Plugins Changes
- Updates to CFS Plugin
- Display full data attributes of nested structures in tlm logs.
- Resolve user-defined variables for all test instructions.
- Fix a regression with shutdown and restart of CFS targets in the same test script.
- Change CFS shutdown behavior to only shut down targets automatically if the target was started by
StartCfs
.
- Updates to CFS Plugin
CTF v1.8 Release
v1.8
09/27/2023
-
CTF Core Changes
-
Fix the timing mismatch between CTF run time and computer calendar time.
-
Fix the issue of EVS/telemetry log files not always being readable during runtime.
-
Minor improvements and bug fixes.
-
-
CTF Plugins Changes
-
Add a new Trick Plugin
-
Add three instructions
FreezeTrickSim
,SetTrickVariable
andCheckTrickVariable
to interface to a Trick variable server. -
Add a new
trick
section in CTF config files to configure the Trick variable server interface.
-
-
Updates to CFS Plugin
-
Fix a regression in the CFS Plugin that caused CTF to not communicate with CFS targets which were not started via
StartCfs
. -
Allow
CheckEvent
args to accept literal values in functions. -
Log additional timing information in tlm log file.
-
Add optional payload args to
SetUserVariableFromTlmHeader
to filter telemetry packets
-
-
CCSDS Plugin
-
Fix CCSDS v1 message header issue.
-
Fix a regression issue of CCDD JSON reader not reusing known data types referenced by name.
-
-
Updates to Gateway Plugin
-
Improve
SendCfsCommandWithAggregatedPayload
instruction to allow different targets in payload, and its syntax. -
Fix inner command header attribute assignment issue of test instruction.
-
-
-
CTF Tool and Scripts Changes
-
Consolidate unit tests for open source release and internal release.
-
Improve CTF test environment installation.
-
Update test scripts and sample cFS workspace.
-
Update CTF documents.
-
CTF v1.7 Release
v1.7
01/24/2023
-
CTF Core Changes
-
Improve label resolution in conditional branching and looping instructions.
-
Add a new
test_variable
section in config file to initialize user-defined variables. -
Fix a bug in importing OS environment variables when reading config files.
-
Fix an error when disabling the last instruction in a test.
-
Minor improvements and bug fixes.
-
-
CTF Plugins Changes
-
Updates to CFS Plugin
-
Log telemetry packet errors and the raw data to the tlm log file.
-
Fix killing CFS processes for SSH targets.
-
Fix capturing CFS standard output file in test results for SSH targets.
-
-
CCSDS Plugin
-
Add detection of inconsistent data type definitions in CCDD JSON files.
-
Add support for arrays of multi-byte primitives.
-
-
Updates to Variable Plugin
- Add an optional argument
variable_type
toSetUserVariableFromTlm
andSetUserVariableFromTlmHeader
instructions for explicit type conversion.
- Add an optional argument
-
-
CTF Editor Changes
- Add tolerance support for the editable fields of
CheckTlmValue
instruction.
- Add tolerance support for the editable fields of
-
CTF Tool and Scripts Changes
-
Update CTF build environment: replace Anaconda with PyEnv.
-
Provide a script
tools/re_order.py
to order test scripts attributes consistently. -
Update example test scripts.
-
Update sample cFS workspace.
-
Update CTF documents.
-
CTF v1.6 Release
v1.6
07/20/2022
-
CTF Core Changes
-
Update test script naming conventions and log formatting to be consistent.
-
Various logging improvements.
-
Update source code for the new sample cFS workspace.
-
Minor improvements and bug fixes.
-
-
CTF Plugins Changes
-
Updates to Validation Plugin
-
Add a new instruction InsertUserComment to allow testers to insert comments into test logs for post-test analysis.
-
Modify SearchStr and SearchNoStr instructions to support regex search.
-
-
Updates to Variable Plugin
-
Add target as an argument to SetUserVariableFromTlm and SetUserVariableFromTlmHeader instructions.
-
Add an optional argument variable_type to SetUserVariable instruction for explicit type conversion.
-
Minor improvements and bug fixes: convert bytes array to string in SetUserVariableFromTlm; allow variable to be array index in instruction arguments.
-
-
Updates to CFS Plugin
-
Allow SendCfsCommandWithRawPayload to work with any MID and command code.
-
Minor improvements and bug fixes.
-
-
-
CTF Tool and Scripts Changes
-
Update setup_ctf_env.sh to fix the issue of incompatible packages for Anaconda3 installation.
-
Update CTF Editor (GUI) to highlight invalid json scripts.
-
Improve documents and test scripts to certify CTF.
-
Modify the upgrade script in ctf/tools to automatically update CTF config files and test scripts for v1.6 compatibility.
-
CTF v1.5 Release
v1.5
03/31/2022
-
CTF Core Changes
-
Consolidate
CheckEvent
verification timeout configuration using the nameverify_timeout
in test scripts. -
Minor improvements and bug fixes.
-
-
CTF Plugins Changes
-
Add a new plugin: Validation Plugin.
- Provide instructions to allow CTF users to copy / delete files / folders, search a string in a text file,
and save CFS evs binary file to a text file. See plugin docs for more information.
- Provide instructions to allow CTF users to copy / delete files / folders, search a string in a text file,
-
Updates to CFS Plugin
-
Fix a bug that caused missing logs and telemetry after the first test cases of a run.
-
Support hex value arguments (of the form
"0x1F
) inSendCfsCommand
,CheckTlmValue
,CheckEvent
instructions. -
Change
SendCfsCommand
to use the configured target's endianness for bitfield values.
-
-
Add new instruction
SetUserVariableFromTlmHeader
to Variable Plugin. -
Add support in CCSDS Plugin for data structures defined in their own files independently of MIDs.
-
Remove the outdated instruction
SetLabel
. -
Minor improvements and bug fixes.
-
-
CTF Tool and Scripts Changes
-
Integrate jsonlint tool to scan json test scripts before executing tests.
-
Modify the upgrade script in
ctf/tools
to automatically update CTF config files and test scripts for v1.4 / v1.5 compatibility. -
Update CTF documents and FAQ.
-
Update CTF unit tests.
-
CTF v1.4 Release
v1.4
02/28/2022
-
CTF Core Changes
-
Support local variable evaluation in test instruction arguments with the format
$variable$
. -
Update additional_plugins_path attribute in INI file to accept a list of (multiple) plugin paths.
-
Remove instruction's default 1 second wait time.
-
Minor improvements and bug fixes.
-
-
CTF Plugins Changes
-
Update CFS plugin.
- Add new instruction
SendCfsCommandWithRawPayload
, which specifies a variable length payload in the form of a hex string. - Rename
SendInvalidLengthCfsCommand
toSendCfsCommandWithPayloadLength
. SendCfsCommandWithPayloadLength
now includes any serializedargs
in the payload, up to the length specified.- Change the syntax of
CheckEvent
andCheckNoEvent
to allow a list of events to be checked simultaneously. - Add support for bitfield values in
SendCfsCommand
instruction. - CFS Plugin instructions handle MID and CC values as names, decimal or hexadecimal integers, stringified integers, or macros.
- Add new instruction
-
Add conditional branching if and else instructions in Control-Flow Plugin. See plugin README for more information.
-
Clear ram drive on Linux target if cFS instance is starting without
-RPR
argument. -
Minor improvements and bug fixes.
-
-
CTF Editor Changes
-
Fix bug of SetUserVariableFromTlm instruction for child element.
-
Fix bug of saving instruction argument 0 as string type instead of int type.
-
Remove backward-compatibility fields such as
telemetry_watch_list
,command_watch_list
. -
Fix bug of editor failing to save the modified script in some corner cases.
-
Support multiple plugin infor folders for editor.
-
Support new CheckEvent syntax.
-
-
CTF Tool and Scripts Changes
-
Add new test scripts for CTF certification test cases.
-
Minor improvements to unit test coverage, logging, and example scripts.
-
Add an upgrade script in
ctf/tools
to automatically update CTF config files and test scripts for v1.4 compatibility. -
Update CTF documents and FAQ.
-
CTF v1.3.1 Release
v1.3.1
10/19/2021
- CTF Plugins Changes
- CFS shutdown on Linux logs an error, but does not fail, if no such process is found.
- CFS Plugin macros now require the format
#MACRO#
instead of#MACRO
. - Fix the 'disable' attribute in function definition.
- CTF Documentation Changes
- Updated JSON Test Script Guide
- Add Troubleshooting & FAQ Guide section.
CTF v1.3 Release
v1.3
08/26/2021
- CTF Core Changes
- Logging improvements
- No longer create temporary logging directory during test execution
- Use the same log format with colors if
colorlog
is installed. Usepip install colorlog
to enable.
- Allow test scripts' import paths to include environment variables, including the configured
workspace_dir
- Allow FTP upload to a directory that already exists.
- Minor improvements and bug fixes.
- Logging improvements
- CTF Plugins Changes
- Add two new plugins: Variable Plugin and Control-Flow Plugin.
- These provide new instructions to allow CTF users to do looping and conditional statements. See plugin docs for more information.
- Sort CCDD files before parsing so the files are always processed in alphabetical order.
- Allow CCDD macros for non-numeric string literals.
- Support custom field arguments for CCSDS headers in
SendCfsCommand
. - Support the default fill value of arrays in
SendCfsCommand
args, if the array name is given instead of an index. - Add two new instructions
CheckTlmPacket
andCheckNoTlmPacket
in cFS plugin. - Allow
CheckTlmValue
to check elements in arrays. - Remove
start_cfs_on_init
andauto_run
configuration options for cFS targets. - Improve the mechanism to shut down cFS.
- Note - on some distros you may need to install the
sysvinit-tools
package to enable thepidof
command.
- Note - on some distros you may need to install the
- Minor improvements and bug fixes.
- Add two new plugins: Variable Plugin and Control-Flow Plugin.
- CTF Editor Changes
- Add Editor support for new Control Flow instructions.
- Improve Editor response while running 2 cFS instances.
- Improve handling of large arrays such as in
MM_LOAD_MEM_WID_CC
by truncating inputs. - Minor improvements and bug fixes.
- CTF Tool and Scripts Changes
- Expand unit test coverage.
- Purge test scripts from
sample_cfs_workspace
. - Purge
start_cfs_on_init
andauto_run
from INI files. - Purge command & telemetry watch lists from CTF test scripts.
CTF v1.1 Release
v1.1
12/18/2020
- CTF Core Changes
- Add support for a
disable
field to CTF instructions within a test script to temporarily disable that instruction. - Add support for a
description
field to CTF instructions within a test script to capture comments. - Add
end_test_on_fail_commands
attribute to thePlugin
class, allowing plugins to define a list of critical commands that end the current test script on failure. - Minor improvements and bug fixes.
- Add support for a
- CFS Plugin Changes
- Add the
RegisterCfs
andStartCfs
instructions to theend_test_on_fail_commands
such that test execution is halted if registering or starting cFS fails. - Add support for Short Event Messages by setting the
cfs:evs_short_event_mid_name
field in the config to match the MID name of theCFE_EVS_ShortEventTlm_t
within the CCSDS JSON definitions. - Add the CheckNoEvent instruction to check that an event message was not sent during the verification timeout.
- Ensure args do not get malformed while sending a command to multiple cFS targets
- Resolve CheckTlmValue passing if one or more variables fails to be evaluated from the telemetry packet.
- Minor improvements and bug fixes.
- Add the
- CTF Editor Changes
- Add support for disabling/enabling test instructions or test cases
- Add support for viewing/editing descriptions (comments) within the test script
- Add the ability to rename folders or test scripts within the editor
- Minor improvements and bug fixes.