Skip to content

Releases: nasa/CTF

CTF v1.9 Release

07 Oct 22:21
Compare
Choose a tag to compare

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 for CheckTlmValue 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.
    • 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.
  • CTF Tool and Scripts Changes
    • Update requirement.txt.
    • Remove sample_cfs_workspace submodule from repository.
    • Improve CTF tests scripts.

CTF v1.8.2 Release

10 Jan 16:42
Compare
Choose a tag to compare

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.
  • 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.

CTF v1.8 Release

30 Sep 15:25
Compare
Choose a tag to compare

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 and CheckTrickVariable 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

13 Mar 17:27
Compare
Choose a tag to compare

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 to SetUserVariableFromTlm and SetUserVariableFromTlmHeader instructions for explicit type conversion.
  • CTF Editor Changes

    • Add tolerance support for the editable fields of CheckTlmValue instruction.
  • 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

23 Jul 21:38
Compare
Choose a tag to compare

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

04 Apr 15:30
Compare
Choose a tag to compare

v1.5

03/31/2022

  • CTF Core Changes

    • Consolidate CheckEvent verification timeout configuration using the name verify_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.
    • 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) in SendCfsCommand, 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

03 Mar 00:34
Compare
Choose a tag to compare

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 to SendCfsCommandWithPayloadLength.
      • SendCfsCommandWithPayloadLength now includes any serialized args in the payload, up to the length specified.
      • Change the syntax of CheckEvent and CheckNoEvent 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 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

20 Oct 19:53
Compare
Choose a tag to compare

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

27 Aug 21:19
Compare
Choose a tag to compare

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. Use pip 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.
  • 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 and CheckNoTlmPacket in cFS plugin.
    • Allow CheckTlmValue to check elements in arrays.
    • Remove start_cfs_on_init and auto_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 the pidof command.
    • Minor improvements and bug fixes.
  • 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 and auto_run from INI files.
    • Purge command & telemetry watch lists from CTF test scripts.

CTF v1.1 Release

18 Dec 20:02
Compare
Choose a tag to compare

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 the Plugin class, allowing plugins to define a list of critical commands that end the current test script on failure.
    • Minor improvements and bug fixes.
  • CFS Plugin Changes
    • Add the RegisterCfs and StartCfs instructions to the end_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 the CFE_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.
  • 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.