Skip to content

Add shift operations for numeric values#995

Merged
bocchino merged 35 commits into
nasa:feature/shift-opfrom
abh80:feature/shift-operations
Jun 9, 2026
Merged

Add shift operations for numeric values#995
bocchino merged 35 commits into
nasa:feature/shift-opfrom
abh80:feature/shift-operations

Conversation

@abh80

@abh80 abh80 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Added:

Bit shift operations to numeric values

constant amount = 2
constant value = 8
constant shifted = value << amount  # shifted=22

Closes #922

Tasks

Implementation

  • Token.scala: added LSHIFT and RSHIFT tokens.
  • Lexer.scala: added token parsing for new tokens.
  • Ast.scala:
    • added new trait ShiftType to encapsulate shift types LShift extends ShiftType .....
    • added case class Shift(op: ShiftType) extends Binop to Binop.
  • Parser.scala:
    • added expr binop node creation for new shift tokens.
    • implemented the parsing for shift tokens.
    • implement shift operand parsing with least precedence.
  • analysis/CheckSemantics/CheckExprTypes.scala:
    • added a new helper method convertToInteger for shift operations (ignoring float values).
    • add the new case Ast.Binop.Shift(_).
  • Value.scala:
    • added a new type intShiftOp = (BigInt, Int) => BigInt for shifting.
    • added a new private[analysis] def intShiftOp(op: Value.Binop.intShiftOp)(v: Value) (since generic binop does not support (BigInt, Int) => Bigint))
    • added two new methods to Value: isNegative and isValidShiftAmount to help in Analysis.scala.
    • implement the intShiftOp method in PrimitiveInt, Integer and EnumConstant.
    • added << and >> methods to Value to perform shift operations.
  • Analysis.scala: added lshift and rshift method, using the new methods added to Value.
  • CheckSemantics/EvalConstantExprs.scala: add the new case Ast.Binop.Shift(op) using the new methods added to Analysis.
  • util/Error.scala: Added a new InvalidShiftAmount error to SemanticError.

Tests

  • compiler/tools/fpp-check/test/numeric_shift: added robust test cases including edge cases and error checks.
  • compiler/lib/src/test/input/syntax/lexer/ok/symbols.fpp: added the new <</>> symbols.
  • should reject float-operands.
  • precedence check (1 + 2 << 3 parses as and shift operations must have lowest precedence).
  • should reject negative-shift values.
  • fpp-syntax tests.
  • fpp-to-cpp tests.
  • ValueSpec tests.

Spec:

  • Update 3.2 symbols list
  • Update the 10.1 arithmetic expressions table
  • Update the 10.13. Precedence and Associativity
  • Update the 18.12. Binary Arithmetic Expressions with new examples for this feature

have to address this: #995 (comment)

@abh80

abh80 commented Apr 24, 2026

Copy link
Copy Markdown
Contributor Author
  /** For shifting operations make sure both values are integer */
  private def convertToInteger(loc: Location, t: Type): Result.Result[Type] =
    if (t.isInt) Right(t)
    else if (t.isConvertibleTo(Type.Integer)) Right(Type.Integer)
    else {                                                                                                                                                                                      
      val error = SemanticError.InvalidType(loc, s"cannot convert $t to an integer type")
      Left(error)                                                                                                                                                                               
    } 

The current implementation of int value check is too much permissive, since float is convertible to int. I will completely remove the conditional check. This causes the failure: https://github.com/abh80/fpp/blob/564f25468d2be477626cae34c49a0d5d354327f5/compiler/tools/fpp-check/test/numeric_shift/shift_float_value_error.ref.txt#L1

Edit: Looks like there is another bug

 t <- a.commonType(e.e1.id, e.e2.id, loc)                                                                                 
  _ <- e.op match {
    case Ast.Binop.Shift(_) => convertToInteger(loc, t)                                                                    
    ...
  }

The common type inference automatically promotes to Float even if one value is int which causes misleading error information. However this dosent affect the intended behavior since it's only applicable if both values are integer

@abh80 abh80 changed the base branch from main to feature/shift-op April 24, 2026 09:50
@abh80

abh80 commented Apr 25, 2026

Copy link
Copy Markdown
Contributor Author

@bocchino I have completed the implementation and testing. Can you give the initial review before I start writing the documentation?

@bocchino

bocchino commented Apr 29, 2026

Copy link
Copy Markdown
Collaborator

This generally looks good. I need to see a spec before I can approve it. Can you make a separate PR to the feature branch with just the spec changes? I'll review and approve, and then we can finalize this branch.

Some notes on the spec changes:

  1. I think it's fine to add << and >> as new binary operations, but the behavior is a bit different from the other binary operations. In particular, I don't think it makes sense to compute the common type of the left and right operands. I think we should just require that each operand have an integer type. So we'll need to handle << and >> as separate cases from +, -, *, and /.
  2. The precedence of << and >> is tricky. I think we should add a precedence table that shows the precedence and associativity of all the operators.
  3. Remember to update the type checking rules. More generally, you can look at the diff of the string concatenation PR to see all the places that the spec needs to be updated.

@abh80

abh80 commented Apr 29, 2026

Copy link
Copy Markdown
Contributor Author
  1. I think it's fine to add << and >> as new binary operations, but the behavior is a bit different from the other binary operations. In particular, I don't think it makes sense to compute the common type of the left and right operands. I think we should just require that each operand have an integer type. So we'll need to handle << and >> as separate cases from +, -, *, and /.

This is a direct solution to the issue I found

The common type inference automatically promotes to Float even if one value is int which causes misleading error information. However this dosent affect the intended behavior since it's only applicable if both values are integer

Will add another case for this

@abh80

abh80 commented Apr 29, 2026

Copy link
Copy Markdown
Contributor Author

I will open another spec pull request 👍

@abh80 abh80 marked this pull request as ready for review May 1, 2026 12:05
@abh80

abh80 commented May 1, 2026

Copy link
Copy Markdown
Contributor Author

I don't think it makes sense to compute the common type of the left and right operands. I think we should just require that each operand have an integer type. So we'll need to handle << and >> as separate cases from +, -, *, and /.

Fixed this and opened a new pull request for spec revision #1000

Comment thread compiler/lib/src/main/scala/syntax/Lexer.scala Outdated
Comment thread compiler/lib/src/main/scala/syntax/Parser.scala Outdated
Comment thread compiler/lib/src/main/scala/syntax/Parser.scala Outdated
Comment thread compiler/lib/src/main/scala/syntax/Token.scala Outdated
Comment thread compiler/lib/src/main/scala/util/Error.scala Outdated
Comment thread compiler/lib/src/main/scala/util/Error.scala Outdated
Comment thread compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala Outdated
Comment thread compiler/lib/src/main/scala/analysis/CheckSemantics/CheckExprTypes.scala Outdated
Comment thread compiler/lib/src/main/scala/analysis/Semantics/Value.scala Outdated

@bocchino bocchino left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! The PR is thorough and complete.

Please address the comments. There are several comments, but each one is localized and should require only minor changes.

@abh80

abh80 commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

Hello @bocchino, thanks for your review I have fixed them. I have noticed when you asked me to run the trace-fprime script it ran into an error, particularly because of this commit: nasa/fprime@377fd69#diff-26fa5f1841895bd45d868f4f96adb9ed201ecb61aa1b10d6825625331e16b8c5 ; Which moved the Ref/ directory into TestDeploymentsProject/Ref/ but the trace-fprime script still points to older Ref/.

Full logs of my trace-fprime command

(fprime-venv) abh80@Magnetar-1935:~/fpp/compiler$ bash ./trace-fprime
Generating and Building UTs for: .
[WARNING] fprime-gds has unexpected version. Expected: 4.2.0 found 4.2.1
[WARNING] fprime-fpp has unexpected version. Expected: 3.3.0a4 found 3.3.0a2.dev29+g5109cd05b
[INFO] Purging build directory at: /home/abh80/fprime/build-fprime-automatic-native-ut
[INFO] Generating build directory at: /home/abh80/fprime/build-fprime-automatic-native-ut
[INFO] Using toolchain file None for platform default
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Enabled the following sanitizers: address,undefined,leak
-- [python3] python3 found at: /home/abh80/fprime-venv/bin/python3
-- [fpp-tools] fpp-depend found at: /home/abh80/fpp/compiler/bin/fpp-depend
-- [fpp-tools] fpp-to-cpp found at: /home/abh80/fpp/compiler/bin/fpp-to-cpp
-- [fpp-tools] fpp-to-dict found at: /home/abh80/fpp/compiler/bin/fpp-to-dict
-- [fpp-tools] fpp-locate-defs found at: /home/abh80/fpp/compiler/bin/fpp-locate-defs
-- [FPRIME] Module locations: /home/abh80/fprime/home/abh80/fprime/build-fprime-automatic-native-ut/F-Prime/home/abh80/fprime/build-fprime-automatic-native-ut
-- [FPRIME] Installation directory: /home/abh80/fprime/build-artifacts
-- Target build toolchain/platform: Linux/Linux
-- [sub-build] Performing sub-build: info-cache
-- [sub-build] Generating: info-cache with target/sub-build/fpp_locstarget/sub-build/fpp_dependtarget/sub-build/fpp_to_jsontarget/sub-build/module_info
-- [sub-build] Executing: info-cache with fpp_locs
-- [sub-build] Executing: info-cache with fpp_depend
-- [sub-build] Executing: info-cache with fpp_to_json

-- [sub-build] Executing: info-cache with module_info
-- [sub-build] Performing sub-build: info-cache - DONE
-- [INFO] Failed to find 'syft' on PATH, please install to generate software bill-of-materials
-- Found Python: /home/abh80/fprime-venv/bin/python3.10 (found version "3.10.12") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- [LIBRARY] Adding modules from F´ framework
-- Including /home/abh80/fprime/cmake/platform/Linux.cmake
-- Adding Library: UnixPlatformTypes
-- Adding Library: PlatformLinux
-- Adding Library: FppToCppSettings
-- Adding Library: default_config
-- Adding Library: Fw_Buffer
-- Adding Unit Test: Fw_Buffer_ut_exe
-- Adding Library: Fw_Cmd
-- Adding Library: Fw_Com
-- Adding Library: Fw_DataStructures
-- Adding Unit Test: Fw_DataStructures_ut_exe
-- Adding Library: Fw_Dp
-- Adding Unit Test: Fw_Dp_ut_exe
-- Adding Library: Fw_Fpy
-- Adding Library: Fw_Interfaces
-- Adding Library: Fw_Log
-- Adding Unit Test: Fw_Log_ut_exe
-- Adding Library: Fw_Logger
-- Adding Unit Test: Fw_Logger_ut_exe
-- Adding Library: Fw_Prm
-- Adding Library: Fw_Time
-- Adding Unit Test: Fw_Time_ut_exe
-- Adding Library: Fw_Tlm
-- Adding Unit Test: Fw_Tlm_ut_exe
-- Adding Library: Fw_Comp
-- Adding Library: Fw_CompQueued
-- Adding Library: Fw_Sm
-- Adding Library: Fw_FilePacket
-- Adding Library: Fw_FilePacket_GTest
-- Adding Unit Test: Fw_FilePacket_ut_exe
-- Adding Library: Fw_Obj
-- Adding Library: Fw_Port
-- Adding Library: Fw_Ports_CompletionStatus
-- Adding Library: Fw_Ports_Ready
-- Adding Library: Fw_Ports_Signal
-- Adding Library: Fw_Ports_SuccessCondition
-- Adding Library: Fw_SerializableFile_test_TestSerializable
-- Adding Library: Fw_SerializableFile
-- Adding Unit Test: Fw_SerializableFile_ut_exe
-- Adding Library: Fw_Test
-- Adding Library: Fw_Types
-- Adding required implementations of Fw_StringFormatFw_StringScan
-- Adding Library: Fw_StringFormat_snprintf
-- Adding Library: Fw_StringScan_sscanf
-- Adding Unit Test: Fw_Types_ut_exe
-- Adding Unit Test: Fw_StringFormat_snprintf_ut_exe
-- Adding Unit Test: Fw_Types_Mmap_ut_exe
-- Adding Unit Test: Fw_StringScan_sscanf_ut_exe
-- Adding Library: Fw_Types_GTest
-- Adding Library: Svc_Types_TlmPacketizerTypes
-- Adding Library: Svc_Cycle
-- Adding Library: Svc_Fatal
-- Adding Library: Svc_Interfaces
-- Adding Library: Svc_Ping
-- Adding Library: Svc_PolyIf
-- Adding Library: Svc_Sched
-- Adding Library: Svc_Seq
-- Adding Library: Svc_WatchDog
-- Adding Library: Svc_Ports_CommsPorts
-- Adding Library: Svc_Ports_OsTimeEpoch
-- Adding Library: Svc_Ports_VersionPorts
-- Adding Library: Svc_Ports_FilePorts
-- Adding Library: Svc_Ports_TlmPacketizerPorts
-- Adding Library: Svc_ActivePhaser
-- Adding Unit Test: Svc_ActivePhaser_ut_exe
-- Adding Library: Svc_ActiveRateGroup
-- Adding Unit Test: Svc_ActiveRateGroup_ut_exe
-- Adding Library: Svc_AssertFatalAdapter
-- Adding Unit Test: Svc_AssertFatalAdapter_ut_exe
-- Adding Library: Svc_BufferAccumulator
-- Adding Unit Test: Svc_BufferAccumulator_ut_exe
-- Adding Library: Svc_BufferManager
-- Adding Unit Test: Svc_BufferManager_ut_exe
-- Adding Library: Svc_BufferLogger
-- Adding Unit Test: Svc_BufferLogger_ut_exe
-- Adding Library: Svc_BufferRepeater
-- Adding Unit Test: Svc_BufferRepeater_ut_exe
-- Adding Library: Svc_ChronoTime
-- Adding Unit Test: Svc_ChronoTime_ut_exe
-- Adding Library: Svc_ComLogger
-- Adding Unit Test: Svc_ComLogger_ut_exe
-- Adding Library: Svc_ComQueue
-- Adding Unit Test: Svc_ComQueue_ut_exe
-- Adding Library: Svc_ComSplitter
-- Adding Unit Test: Svc_ComSplitter_ut_exe
-- Adding Library: Svc_ComStub
-- Adding Unit Test: Svc_ComStub_ut_exe
-- Adding Library: Svc_CmdDispatcher
-- Adding Unit Test: Svc_CmdDispatcher_ut_exe
-- Adding Library: Svc_CmdSequencer
-- Adding Unit Test: Svc_CmdSequencer_ut_exe
-- Adding Library: Svc_CmdSplitter
-- Adding Unit Test: Svc_CmdSplitter_ut_exe
-- Adding Library: Svc_DpCatalog
-- Adding Unit Test: Svc_DpCatalog_ut_exe
-- Adding Library: Svc_DpManager
-- Adding Unit Test: Svc_DpManager_ut_exe
-- Adding Library: Svc_DpPorts
-- Adding Library: Svc_DpWriter
-- Adding Unit Test: Svc_DpWriter_ut_exe
-- Adding Library: Svc_EventManager
-- Adding Unit Test: Svc_EventManager_ut_exe
-- Adding Library: Svc_FatalHandler
-- Adding Library: Svc_FileDispatcher
-- Adding Unit Test: Svc_FileDispatcher_ut_exe
-- Adding Library: Svc_FileDownlinkPorts
-- Adding Library: Svc_FileDownlink
-- Adding Unit Test: Svc_FileDownlink_ut_exe
-- Adding Library: Svc_FileManager
-- Adding Unit Test: Svc_FileManager_ut_exe
-- Adding Library: Svc_FileUplink
-- Adding Unit Test: Svc_FileUplink_ut_exe
-- Adding Library: Svc_FileWorker
-- Adding Unit Test: FileWorkerTestNominal
CMake Warning at cmake/implementation.cmake:69 (message):
[implementation] FileWorkerTestNominal has chosen unknown implementation:
Os_File
Call Stack (most recent call first):
cmake/implementation.cmake:97 (fprime__internal_implementation_detect_implementations)
cmake/implementation.cmake:34 (fprime__internal_choose_implementations)
cmake/module.cmake:228 (fprime_target_implementations)
cmake/module.cmake:43 (fprime__internal_add_build_target_helper)
cmake/API.cmake:549 (fprime__internal_add_build_target)
cmake/API.cmake:527 (fprime_add_unit_test_build_target)
Svc/FileWorker/CMakeLists.txt:23 (register_fprime_ut)

-- Adding Library: Svc_FileWorker_test_FileTester
-- Adding Unit Test: FileWorkerTestError
-- Adding Library: Svc_FprimeDeframer
-- Adding Unit Test: Svc_FprimeDeframer_ut_exe
-- Adding Library: Svc_FprimeFramer
-- Adding Unit Test: Svc_FprimeFramer_ut_exe
-- Adding Library: Svc_FprimeProtocol
-- Adding Library: Svc_FprimeRouter
-- Adding Unit Test: Svc_FprimeRouter_ut_exe
-- Adding Library: Svc_FrameAccumulator
-- Adding Unit Test: Svc_FrameAccumulator_ut_exe
-- Adding Unit Test: Svc_FrameAccumulator_FprimeFrameDetector_test
-- Adding Unit Test: Svc_FrameAccumulator_CcsdsTcFrameDetector_test
-- Adding Library: Svc_GenericHub
-- Adding Unit Test: Svc_GenericHub_ut_exe
-- Adding Library: Svc_Health
-- Adding Unit Test: Svc_Health_ut_exe
-- Adding Library: Svc_OsTime_test_RawTimeTester
-- Adding Library: Svc_OsTime
-- Adding Unit Test: Svc_OsTime_ut_exe
-- Adding Library: Svc_PassiveRateGroup
-- Adding Unit Test: Svc_PassiveRateGroup_ut_exe
-- Adding Library: Svc_PolyDb
-- Adding Unit Test: Svc_PolyDb_ut_exe
-- Adding Library: Svc_PrmDb
-- Adding Unit Test: Svc_PrmDb_ut_exe
-- Adding Library: Svc_RateGroupDriver
-- Adding Unit Test: Svc_RateGroupDriver_ut_exe
-- Adding Library: Svc_SeqDispatcher
-- Adding Unit Test: Svc_SeqDispatcher_ut_exe
-- Adding Library: Svc_StaticMemory
-- Adding Unit Test: Svc_StaticMemory_ut_exe
-- Adding Library: Svc_TlmChan
-- Adding Unit Test: Svc_TlmChan_ut_exe
-- Adding Library: Svc_TlmPacketizer_config_TlmPacketizerConfig
-- Adding Library: Svc_TlmPacketizer
-- Adding Unit Test: Svc_TlmPacketizer_ut_exe
-- Adding Library: Svc_SystemResources
-- Adding Unit Test: Svc_SystemResources_ut_exe
-- Adding Library: Svc_Subtopologies_CdhCore_CdhCoreConfig
-- Adding Library: Svc_Subtopologies_CdhCore
-- Adding Library: Svc_Subtopologies_ComCcsds_ComCcsdsConfig
-- Adding Library: Svc_Subtopologies_ComCcsds
-- Adding Library: Svc_Subtopologies_ComFprime_ComFprimeConfig
-- Adding Library: Svc_Subtopologies_ComFprime
-- Adding Library: Svc_Subtopologies_FileHandling_FileHandlingConfig
-- Adding Library: Svc_Subtopologies_FileHandling
-- Adding Library: Svc_Subtopologies_DataProducts_DataProductsConfig
-- Adding Library: Svc_Subtopologies_DataProducts
-- Adding Library: Svc_Subtopologies_ComLoggerTee_ComLoggerTeeConfig
-- Adding Library: Svc_Subtopologies_ComLoggerTee
-- Adding Library: Svc_PassiveConsoleTextLogger
-- Adding Library: Svc_ActiveTextLogger
-- Adding Unit Test: Svc_ActiveTextLogger_ut_exe
-- Adding Library: Svc_PosixTime
-- Adding Unit Test: Svc_PosixTime_ut_exe
-- Adding Library: Svc_LinuxTimer
-- Adding Unit Test: Svc_LinuxTimer_ut_exe
-- Adding Library: Svc_Version
-- Adding Unit Test: Svc_Version_ut_exe
-- Adding Library: Svc_FpySequencer
-- Adding Unit Test: Svc_FpySequencer_ut_exe
-- Adding Library: Svc_Ccsds_Types
-- Adding Library: Svc_Ccsds_Ports
-- Adding Library: Svc_Ccsds_SpacePacketDeframer
-- Adding Unit Test: Svc_Ccsds_SpacePacketDeframer_ut_exe
-- Adding Library: Svc_Ccsds_SpacePacketFramer
-- Adding Unit Test: Svc_Ccsds_SpacePacketFramer_ut_exe
-- Adding Library: Svc_Ccsds_TcDeframer
-- Adding Unit Test: Svc_Ccsds_TcDeframer_ut_exe
-- Adding Library: Svc_Ccsds_TmFramer
-- Adding Unit Test: Svc_Ccsds_TmFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosFramer
-- Adding Unit Test: Svc_Ccsds_AosFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosDeframer
-- Adding Unit Test: Svc_Ccsds_AosDeframer_ut_exe
-- Adding Library: Svc_Ccsds_ApidManager
-- Adding Unit Test: Svc_Ccsds_ApidManager_ut_exe
-- Adding Library: Svc_ComAggregator
-- Adding Unit Test: Svc_ComAggregator_ut_exe
-- Adding Library: Svc_ComRetry
-- Adding Unit Test: Svc_ComRetry_ut_exe
-- Adding Library: Svc_PassThroughRouter
-- Adding Unit Test: Svc_PassThroughRouter_ut_exe
-- Adding Library: Os_Models
-- Adding Library: Os_File_Stub_Implementation
-- Adding Library: Os_File_Stub
-- Adding Library: Os_Console_Stub_Implementation
-- Adding Library: Os_Console_Stub
-- Adding Library: Os_Task_Stub_Implementation
-- Adding Library: Os_Task_Stub
-- Adding Library: Os_Mutex_Stub_Implementation
-- Adding Library: Os_Mutex_Stub
-- Adding Library: Os_Cpu_Stub_Implementation
-- Adding Library: Os_Cpu_Stub
-- Adding Library: Os_Memory_Stub_Implementation
-- Adding Library: Os_Memory_Stub
-- Adding Library: Os_Queue_Stub_Implementation
-- Adding Library: Os_Queue_Stub
-- Adding Library: Os_RawTime_Stub_Implementation
-- Adding Library: Os_RawTime_Stub
-- Adding Library: Os_File_None
-- Adding Library: Os_File_Test_Stub_Implementation
-- Adding Library: Os_File_Test_Stub
-- Adding Library: Os_Console_Test_Stub_Implementation
-- Adding Library: Os_Console_Test_Stub
-- Adding Library: Os_Task_Test_Stub_Implementation
-- Adding Library: Os_Task_Test_Stub
-- Adding Library: Os_Mutex_Test_Stub_Implementation
-- Adding Library: Os_Mutex_Test_Stub
-- Adding Library: Os_Cpu_Test_Stub_Implementation
-- Adding Library: Os_Cpu_Test_Stub
-- Adding Library: Os_Memory_Test_Stub_Implementation
-- Adding Library: Os_Memory_Test_Stub
-- Adding Library: Os_Queue_Test_Stub_Implementation
-- Adding Library: Os_Queue_Test_Stub
-- Adding Library: Os_RawTime_Test_Stub_Implementation
-- Adding Library: Os_RawTime_Test_Stub
-- Adding Unit Test: StubFileTest
-- Adding Unit Test: StubConsoleTest
-- Adding Unit Test: StubCpuTest
-- Adding Unit Test: StubMemoryTest
-- Adding Unit Test: StubQueueTest
-- Adding Unit Test: StubTaskTest
-- Adding Unit Test: StubMutexTest
-- Adding Unit Test: StubFileSystemTest
-- Adding Unit Test: StubDirectoryTest
-- Adding Unit Test: StubConditionVariableTest
-- Adding Unit Test: StubRawTimeTest
-- Adding Unit Test: StubTest
-- Adding Library: Os_Posix_Shared
-- Adding Library: Os_File_Posix_Implementation
-- Adding Library: Os_File_Posix
-- Adding Library: Os_Console_Posix_Implementation
-- Adding Library: Os_Console_Posix
-- Adding Library: Os_Task_Posix_Implementation
-- Adding Library: Os_Task_Posix
-- Adding Library: Os_Mutex_Posix_Implementation
-- Adding Library: Os_Mutex_Posix
-- Adding Library: Os_RawTime_Posix_Implementation
-- Adding Library: Os_RawTime_Posix
-- Adding Unit Test: PosixFileTest
-- Adding Unit Test: PosixConsoleTest
-- Adding Unit Test: PosixTaskTest
-- Adding Unit Test: PosixMutexTest
-- Adding Unit Test: PosixFileSystemTest
-- Adding Unit Test: PosixDirectoryTest
-- Adding Unit Test: PosixConditionTests
-- Adding Unit Test: PosixRawTimeTest
-- Adding Library: Os_Generic_Types
-- Adding Unit Test: Types_Max_Heap_test
-- Adding Library: Os_Generic_PriorityQueue_Implementation
-- Adding Library: Os_Generic_PriorityQueue
-- Adding Unit Test: PriorityQueueTest
-- Adding Library: Os_Cpu_Linux_Implementation
-- Adding Library: Os_Cpu_Linux
-- Adding Library: Os_Memory_Linux_Implementation
-- Adding Library: Os_Memory_Linux
-- Adding Unit Test: LinuxCpuTest
-- Adding Unit Test: LinuxMemoryTest
-- Neither toolchain native nor platform Linux supported for module Os_Darwin
-- Adding Library: Os
-- Adding Library: Os_Console
-- Adding required implementations of Os_Console
-- Adding Library: Os_File
-- Adding required implementations of Os_File
-- Adding Library: Os_Task
-- Adding required implementations of Os_Task
-- Adding Library: Os_Mutex
-- Adding required implementations of Os_Mutex
-- Adding Library: Os_Queue
-- Adding required implementations of Os_Queue
-- Adding Library: Os_Cpu
-- Adding required implementations of Os_Cpu
-- Adding Library: Os_Memory
-- Adding required implementations of Os_Memory
-- Adding Library: Os_RawTime
-- Adding required implementations of Os_RawTime
-- Adding Unit Test: Os_ut_exe
-- Adding Library: Os_Test_File_SyntheticFileSystem
-- Adding Library: Drv_Interfaces
-- Adding Library: Drv_Ports_DataTypes
-- Adding Library: Drv_Ports
-- Adding Library: Drv_AsyncByteStreamBufferAdapter
-- Adding Unit Test: Drv_AsyncByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamBufferAdapter
-- Adding Unit Test: Drv_ByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamDriverModel
-- Adding Library: Drv_LinuxGpioDriver
-- Adding Library: Drv_LinuxI2cDriver
-- Adding Library: Drv_LinuxSpiDriver
-- Adding Library: Drv_LinuxUartDriver
-- Adding Library: Drv_Ip
-- Adding Unit Test: Drv_Ip_Tcp_test
-- Adding Unit Test: Drv_Ip_Udp_test
-- Adding Library: Drv_TcpClient
-- Adding Unit Test: Drv_TcpClient_ut_exe
-- Adding Library: Drv_TcpServer
-- Adding Unit Test: Drv_TcpServer_ut_exe
-- Adding Library: Drv_Udp
-- Adding Unit Test: Drv_Udp_ut_exe
-- Adding Library: CFDP_Checksum
-- Adding Unit Test: CFDP_Checksum_ut_exe
-- Adding Library: CFDP_Checksum_GTest
-- Adding Library: Utils
-- Adding Unit Test: Utils_ut_exe
-- Adding Library: Utils_Hash
-- Adding Library: Utils_Types
-- Adding Unit Test: Types_Circular_Buffer_ut_exe
-- Adding Unit Test: Utils_Types_Queue_ut_exe
-- [LIBRARY] Adding modules from F´ framework - DONE
-- Configuring done (296.0s)
-- Generating done (0.5s)
-- Build files have been written to: /home/abh80/fprime/build-fprime-automatic-native-ut
Generating and Building UTs for: ./FppTestProject/FppTest
[WARNING] fprime-gds has unexpected version. Expected: 4.2.0 found 4.2.1
[WARNING] fprime-fpp has unexpected version. Expected: 3.3.0a4 found 3.3.0a2.dev29+g5109cd05b
[INFO] Generating build directory at: /home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
[INFO] Using toolchain file None for platform default
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Enabled the following sanitizers: address,undefined,leak
-- [python3] python3 found at: /home/abh80/fprime-venv/bin/python3
-- [fpp-tools] fpp-depend found at: /home/abh80/fpp/compiler/bin/fpp-depend
-- [fpp-tools] fpp-to-cpp found at: /home/abh80/fpp/compiler/bin/fpp-to-cpp
-- [fpp-tools] fpp-to-dict found at: /home/abh80/fpp/compiler/bin/fpp-to-dict
-- [fpp-tools] fpp-locate-defs found at: /home/abh80/fpp/compiler/bin/fpp-locate-defs
-- [FPRIME] Module locations: /home/abh80/fprime/home/abh80/fprime/FppTestProject/home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut/F-Prime/home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
-- [FPRIME] Installation directory: /home/abh80/fprime/FppTestProject/build-artifacts
-- Target build toolchain/platform: Linux/Linux
-- [sub-build] Performing sub-build: info-cache
-- [sub-build] Generating: info-cache with target/sub-build/fpp_locstarget/sub-build/fpp_dependtarget/sub-build/fpp_to_jsontarget/sub-build/module_info
-- [sub-build] Executing: info-cache with fpp_locs
-- [sub-build] Executing: info-cache with fpp_depend
-- [sub-build] Executing: info-cache with fpp_to_json

-- [sub-build] Executing: info-cache with module_info
-- [sub-build] Performing sub-build: info-cache - DONE
-- [INFO] Failed to find 'syft' on PATH, please install to generate software bill-of-materials
-- Found Python: /home/abh80/fprime-venv/bin/python3.10 (found version "3.10.12") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- [LIBRARY] Adding modules from F´ framework
-- Including /home/abh80/fprime/cmake/platform/Linux.cmake
-- Adding Library: UnixPlatformTypes
-- Adding Library: PlatformLinux
-- Adding Library: FppToCppSettings
-- Adding Library: default_config
-- Adding Library: Fw_Buffer
-- Adding Unit Test: Fw_Buffer_ut_exe
-- Adding Library: Fw_Cmd
-- Adding Library: Fw_Com
-- Adding Library: Fw_DataStructures
-- Adding Unit Test: Fw_DataStructures_ut_exe
-- Adding Library: Fw_Dp
-- Adding Unit Test: Fw_Dp_ut_exe
-- Adding Library: Fw_Fpy
-- Adding Library: Fw_Interfaces
-- Adding Library: Fw_Log
-- Adding Unit Test: Fw_Log_ut_exe
-- Adding Library: Fw_Logger
-- Adding Unit Test: Fw_Logger_ut_exe
-- Adding Library: Fw_Prm
-- Adding Library: Fw_Time
-- Adding Unit Test: Fw_Time_ut_exe
-- Adding Library: Fw_Tlm
-- Adding Unit Test: Fw_Tlm_ut_exe
-- Adding Library: Fw_Comp
-- Adding Library: Fw_CompQueued
-- Adding Library: Fw_Sm
-- Adding Library: Fw_FilePacket
-- Adding Library: Fw_FilePacket_GTest
-- Adding Unit Test: Fw_FilePacket_ut_exe
-- Adding Library: Fw_Obj
-- Adding Library: Fw_Port
-- Adding Library: Fw_Ports_CompletionStatus
-- Adding Library: Fw_Ports_Ready
-- Adding Library: Fw_Ports_Signal
-- Adding Library: Fw_Ports_SuccessCondition
-- Adding Library: Fw_SerializableFile_test_TestSerializable
-- Adding Library: Fw_SerializableFile
-- Adding Unit Test: Fw_SerializableFile_ut_exe
-- Adding Library: Fw_Test
-- Adding Library: Fw_Types
-- Adding required implementations of Fw_StringFormatFw_StringScan
-- Adding Library: Fw_StringFormat_snprintf
-- Adding Library: Fw_StringScan_sscanf
-- Adding Unit Test: Fw_Types_ut_exe
-- Adding Unit Test: Fw_StringFormat_snprintf_ut_exe
-- Adding Unit Test: Fw_Types_Mmap_ut_exe
-- Adding Unit Test: Fw_StringScan_sscanf_ut_exe
-- Adding Library: Fw_Types_GTest
-- Adding Library: Svc_Types_TlmPacketizerTypes
-- Adding Library: Svc_Cycle
-- Adding Library: Svc_Fatal
-- Adding Library: Svc_Interfaces
-- Adding Library: Svc_Ping
-- Adding Library: Svc_PolyIf
-- Adding Library: Svc_Sched
-- Adding Library: Svc_Seq
-- Adding Library: Svc_WatchDog
-- Adding Library: Svc_Ports_CommsPorts
-- Adding Library: Svc_Ports_OsTimeEpoch
-- Adding Library: Svc_Ports_VersionPorts
-- Adding Library: Svc_Ports_FilePorts
-- Adding Library: Svc_Ports_TlmPacketizerPorts
-- Adding Library: Svc_ActivePhaser
-- Adding Unit Test: Svc_ActivePhaser_ut_exe
-- Adding Library: Svc_ActiveRateGroup
-- Adding Unit Test: Svc_ActiveRateGroup_ut_exe
-- Adding Library: Svc_AssertFatalAdapter
-- Adding Unit Test: Svc_AssertFatalAdapter_ut_exe
-- Adding Library: Svc_BufferAccumulator
-- Adding Unit Test: Svc_BufferAccumulator_ut_exe
-- Adding Library: Svc_BufferManager
-- Adding Unit Test: Svc_BufferManager_ut_exe
-- Adding Library: Svc_BufferLogger
-- Adding Unit Test: Svc_BufferLogger_ut_exe
-- Adding Library: Svc_BufferRepeater
-- Adding Unit Test: Svc_BufferRepeater_ut_exe
-- Adding Library: Svc_ChronoTime
-- Adding Unit Test: Svc_ChronoTime_ut_exe
-- Adding Library: Svc_ComLogger
-- Adding Unit Test: Svc_ComLogger_ut_exe
-- Adding Library: Svc_ComQueue
-- Adding Unit Test: Svc_ComQueue_ut_exe
-- Adding Library: Svc_ComSplitter
-- Adding Unit Test: Svc_ComSplitter_ut_exe
-- Adding Library: Svc_ComStub
-- Adding Unit Test: Svc_ComStub_ut_exe
-- Adding Library: Svc_CmdDispatcher
-- Adding Unit Test: Svc_CmdDispatcher_ut_exe
-- Adding Library: Svc_CmdSequencer
-- Adding Unit Test: Svc_CmdSequencer_ut_exe
-- Adding Library: Svc_CmdSplitter
-- Adding Unit Test: Svc_CmdSplitter_ut_exe
-- Adding Library: Svc_DpCatalog
-- Adding Unit Test: Svc_DpCatalog_ut_exe
-- Adding Library: Svc_DpManager
-- Adding Unit Test: Svc_DpManager_ut_exe
-- Adding Library: Svc_DpPorts
-- Adding Library: Svc_DpWriter
-- Adding Unit Test: Svc_DpWriter_ut_exe
-- Adding Library: Svc_EventManager
-- Adding Unit Test: Svc_EventManager_ut_exe
-- Adding Library: Svc_FatalHandler
-- Adding Library: Svc_FileDispatcher
-- Adding Unit Test: Svc_FileDispatcher_ut_exe
-- Adding Library: Svc_FileDownlinkPorts
-- Adding Library: Svc_FileDownlink
-- Adding Unit Test: Svc_FileDownlink_ut_exe
-- Adding Library: Svc_FileManager
-- Adding Unit Test: Svc_FileManager_ut_exe
-- Adding Library: Svc_FileUplink
-- Adding Unit Test: Svc_FileUplink_ut_exe
-- Adding Library: Svc_FileWorker
-- Adding Unit Test: FileWorkerTestNominal
CMake Warning at /home/abh80/fprime/cmake/implementation.cmake:69 (message):
[implementation] FileWorkerTestNominal has chosen unknown implementation:
Os_File
Call Stack (most recent call first):
/home/abh80/fprime/cmake/implementation.cmake:97 (fprime__internal_implementation_detect_implementations)
/home/abh80/fprime/cmake/implementation.cmake:34 (fprime__internal_choose_implementations)
/home/abh80/fprime/cmake/module.cmake:228 (fprime_target_implementations)
/home/abh80/fprime/cmake/module.cmake:43 (fprime__internal_add_build_target_helper)
/home/abh80/fprime/cmake/API.cmake:549 (fprime__internal_add_build_target)
/home/abh80/fprime/cmake/API.cmake:527 (fprime_add_unit_test_build_target)
/home/abh80/fprime/Svc/FileWorker/CMakeLists.txt:23 (register_fprime_ut)

-- Adding Library: Svc_FileWorker_test_FileTester
-- Adding Unit Test: FileWorkerTestError
-- Adding Library: Svc_FprimeDeframer
-- Adding Unit Test: Svc_FprimeDeframer_ut_exe
-- Adding Library: Svc_FprimeFramer
-- Adding Unit Test: Svc_FprimeFramer_ut_exe
-- Adding Library: Svc_FprimeProtocol
-- Adding Library: Svc_FprimeRouter
-- Adding Unit Test: Svc_FprimeRouter_ut_exe
-- Adding Library: Svc_FrameAccumulator
-- Adding Unit Test: Svc_FrameAccumulator_ut_exe
-- Adding Unit Test: Svc_FrameAccumulator_FprimeFrameDetector_test
-- Adding Unit Test: Svc_FrameAccumulator_CcsdsTcFrameDetector_test
-- Adding Library: Svc_GenericHub
-- Adding Unit Test: Svc_GenericHub_ut_exe
-- Adding Library: Svc_Health
-- Adding Unit Test: Svc_Health_ut_exe
-- Adding Library: Svc_OsTime_test_RawTimeTester
-- Adding Library: Svc_OsTime
-- Adding Unit Test: Svc_OsTime_ut_exe
-- Adding Library: Svc_PassiveRateGroup
-- Adding Unit Test: Svc_PassiveRateGroup_ut_exe
-- Adding Library: Svc_PolyDb
-- Adding Unit Test: Svc_PolyDb_ut_exe
-- Adding Library: Svc_PrmDb
-- Adding Unit Test: Svc_PrmDb_ut_exe
-- Adding Library: Svc_RateGroupDriver
-- Adding Unit Test: Svc_RateGroupDriver_ut_exe
-- Adding Library: Svc_SeqDispatcher
-- Adding Unit Test: Svc_SeqDispatcher_ut_exe
-- Adding Library: Svc_StaticMemory
-- Adding Unit Test: Svc_StaticMemory_ut_exe
-- Adding Library: Svc_TlmChan
-- Adding Unit Test: Svc_TlmChan_ut_exe
-- Adding Library: Svc_TlmPacketizer_config_TlmPacketizerConfig
-- Adding Library: Svc_TlmPacketizer
-- Adding Unit Test: Svc_TlmPacketizer_ut_exe
-- Adding Library: Svc_SystemResources
-- Adding Unit Test: Svc_SystemResources_ut_exe
-- Adding Library: Svc_Subtopologies_CdhCore_CdhCoreConfig
-- Adding Library: Svc_Subtopologies_CdhCore
-- Adding Library: Svc_Subtopologies_ComCcsds_ComCcsdsConfig
-- Adding Library: Svc_Subtopologies_ComCcsds
-- Adding Library: Svc_Subtopologies_ComFprime_ComFprimeConfig
-- Adding Library: Svc_Subtopologies_ComFprime
-- Adding Library: Svc_Subtopologies_FileHandling_FileHandlingConfig
-- Adding Library: Svc_Subtopologies_FileHandling
-- Adding Library: Svc_Subtopologies_DataProducts_DataProductsConfig
-- Adding Library: Svc_Subtopologies_DataProducts
-- Adding Library: Svc_Subtopologies_ComLoggerTee_ComLoggerTeeConfig
-- Adding Library: Svc_Subtopologies_ComLoggerTee
-- Adding Library: Svc_PassiveConsoleTextLogger
-- Adding Library: Svc_ActiveTextLogger
-- Adding Unit Test: Svc_ActiveTextLogger_ut_exe
-- Adding Library: Svc_PosixTime
-- Adding Unit Test: Svc_PosixTime_ut_exe
-- Adding Library: Svc_LinuxTimer
-- Adding Unit Test: Svc_LinuxTimer_ut_exe
-- Adding Library: Svc_Version
-- Adding Unit Test: Svc_Version_ut_exe
-- Adding Library: Svc_FpySequencer
-- Adding Unit Test: Svc_FpySequencer_ut_exe
-- Adding Library: Svc_Ccsds_Types
-- Adding Library: Svc_Ccsds_Ports
-- Adding Library: Svc_Ccsds_SpacePacketDeframer
-- Adding Unit Test: Svc_Ccsds_SpacePacketDeframer_ut_exe
-- Adding Library: Svc_Ccsds_SpacePacketFramer
-- Adding Unit Test: Svc_Ccsds_SpacePacketFramer_ut_exe
-- Adding Library: Svc_Ccsds_TcDeframer
-- Adding Unit Test: Svc_Ccsds_TcDeframer_ut_exe
-- Adding Library: Svc_Ccsds_TmFramer
-- Adding Unit Test: Svc_Ccsds_TmFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosFramer
-- Adding Unit Test: Svc_Ccsds_AosFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosDeframer
-- Adding Unit Test: Svc_Ccsds_AosDeframer_ut_exe
-- Adding Library: Svc_Ccsds_ApidManager
-- Adding Unit Test: Svc_Ccsds_ApidManager_ut_exe
-- Adding Library: Svc_ComAggregator
-- Adding Unit Test: Svc_ComAggregator_ut_exe
-- Adding Library: Svc_ComRetry
-- Adding Unit Test: Svc_ComRetry_ut_exe
-- Adding Library: Svc_PassThroughRouter
-- Adding Unit Test: Svc_PassThroughRouter_ut_exe
-- Adding Library: Os_Models
-- Adding Library: Os_File_Stub_Implementation
-- Adding Library: Os_File_Stub
-- Adding Library: Os_Console_Stub_Implementation
-- Adding Library: Os_Console_Stub
-- Adding Library: Os_Task_Stub_Implementation
-- Adding Library: Os_Task_Stub
-- Adding Library: Os_Mutex_Stub_Implementation
-- Adding Library: Os_Mutex_Stub
-- Adding Library: Os_Cpu_Stub_Implementation
-- Adding Library: Os_Cpu_Stub
-- Adding Library: Os_Memory_Stub_Implementation
-- Adding Library: Os_Memory_Stub
-- Adding Library: Os_Queue_Stub_Implementation
-- Adding Library: Os_Queue_Stub
-- Adding Library: Os_RawTime_Stub_Implementation
-- Adding Library: Os_RawTime_Stub
-- Adding Library: Os_File_None
-- Adding Library: Os_File_Test_Stub_Implementation
-- Adding Library: Os_File_Test_Stub
-- Adding Library: Os_Console_Test_Stub_Implementation
-- Adding Library: Os_Console_Test_Stub
-- Adding Library: Os_Task_Test_Stub_Implementation
-- Adding Library: Os_Task_Test_Stub
-- Adding Library: Os_Mutex_Test_Stub_Implementation
-- Adding Library: Os_Mutex_Test_Stub
-- Adding Library: Os_Cpu_Test_Stub_Implementation
-- Adding Library: Os_Cpu_Test_Stub
-- Adding Library: Os_Memory_Test_Stub_Implementation
-- Adding Library: Os_Memory_Test_Stub
-- Adding Library: Os_Queue_Test_Stub_Implementation
-- Adding Library: Os_Queue_Test_Stub
-- Adding Library: Os_RawTime_Test_Stub_Implementation
-- Adding Library: Os_RawTime_Test_Stub
-- Adding Unit Test: StubFileTest
-- Adding Unit Test: StubConsoleTest
-- Adding Unit Test: StubCpuTest
-- Adding Unit Test: StubMemoryTest
-- Adding Unit Test: StubQueueTest
-- Adding Unit Test: StubTaskTest
-- Adding Unit Test: StubMutexTest
-- Adding Unit Test: StubFileSystemTest
-- Adding Unit Test: StubDirectoryTest
-- Adding Unit Test: StubConditionVariableTest
-- Adding Unit Test: StubRawTimeTest
-- Adding Unit Test: StubTest
-- Adding Library: Os_Posix_Shared
-- Adding Library: Os_File_Posix_Implementation
-- Adding Library: Os_File_Posix
-- Adding Library: Os_Console_Posix_Implementation
-- Adding Library: Os_Console_Posix
-- Adding Library: Os_Task_Posix_Implementation
-- Adding Library: Os_Task_Posix
-- Adding Library: Os_Mutex_Posix_Implementation
-- Adding Library: Os_Mutex_Posix
-- Adding Library: Os_RawTime_Posix_Implementation
-- Adding Library: Os_RawTime_Posix
-- Adding Unit Test: PosixFileTest
-- Adding Unit Test: PosixConsoleTest
-- Adding Unit Test: PosixTaskTest
-- Adding Unit Test: PosixMutexTest
-- Adding Unit Test: PosixFileSystemTest
-- Adding Unit Test: PosixDirectoryTest
-- Adding Unit Test: PosixConditionTests
-- Adding Unit Test: PosixRawTimeTest
-- Adding Library: Os_Generic_Types
-- Adding Unit Test: Types_Max_Heap_test
-- Adding Library: Os_Generic_PriorityQueue_Implementation
-- Adding Library: Os_Generic_PriorityQueue
-- Adding Unit Test: PriorityQueueTest
-- Adding Library: Os_Cpu_Linux_Implementation
-- Adding Library: Os_Cpu_Linux
-- Adding Library: Os_Memory_Linux_Implementation
-- Adding Library: Os_Memory_Linux
-- Adding Unit Test: LinuxCpuTest
-- Adding Unit Test: LinuxMemoryTest
-- Neither toolchain native nor platform Linux supported for module Os_Darwin
-- Adding Library: Os
-- Adding Library: Os_Console
-- Adding required implementations of Os_Console
-- Adding Library: Os_File
-- Adding required implementations of Os_File
-- Adding Library: Os_Task
-- Adding required implementations of Os_Task
-- Adding Library: Os_Mutex
-- Adding required implementations of Os_Mutex
-- Adding Library: Os_Queue
-- Adding required implementations of Os_Queue
-- Adding Library: Os_Cpu
-- Adding required implementations of Os_Cpu
-- Adding Library: Os_Memory
-- Adding required implementations of Os_Memory
-- Adding Library: Os_RawTime
-- Adding required implementations of Os_RawTime
-- Adding Unit Test: Os_ut_exe
-- Adding Library: Os_Test_File_SyntheticFileSystem
-- Adding Library: Drv_Interfaces
-- Adding Library: Drv_Ports_DataTypes
-- Adding Library: Drv_Ports
-- Adding Library: Drv_AsyncByteStreamBufferAdapter
-- Adding Unit Test: Drv_AsyncByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamBufferAdapter
-- Adding Unit Test: Drv_ByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamDriverModel
-- Adding Library: Drv_LinuxGpioDriver
-- Adding Library: Drv_LinuxI2cDriver
-- Adding Library: Drv_LinuxSpiDriver
-- Adding Library: Drv_LinuxUartDriver
-- Adding Library: Drv_Ip
-- Adding Unit Test: Drv_Ip_Tcp_test
-- Adding Unit Test: Drv_Ip_Udp_test
-- Adding Library: Drv_TcpClient
-- Adding Unit Test: Drv_TcpClient_ut_exe
-- Adding Library: Drv_TcpServer
-- Adding Unit Test: Drv_TcpServer_ut_exe
-- Adding Library: Drv_Udp
-- Adding Unit Test: Drv_Udp_ut_exe
-- Adding Library: CFDP_Checksum
-- Adding Unit Test: CFDP_Checksum_ut_exe
-- Adding Library: CFDP_Checksum_GTest
-- Adding Library: Utils
-- Adding Unit Test: Utils_ut_exe
-- Adding Library: Utils_Hash
-- Adding Library: Utils_Types
-- Adding Unit Test: Types_Circular_Buffer_ut_exe
-- Adding Unit Test: Utils_Types_Queue_ut_exe
-- [LIBRARY] Adding modules from F´ framework - DONE
-- Performing Test VAR_MAC_OMITTED_SUPPORTED
-- Performing Test VAR_MAC_OMITTED_SUPPORTED - Success
-- Adding Library: FppTest_array
-- Adding Unit Test: FppTest_array_ut_exe
-- Adding Library: FppTest_component_empty
-- Adding Unit Test: FppTest_component_empty_ut_exe
-- Adding Library: FppTest_component_active
-- Adding Unit Test: FppTest_component_active_ut_exe
-- Adding Library: FppTest_component_queued
-- Adding Unit Test: FppTest_component_queued_ut_exe
-- Adding Library: FppTest_component_passive
-- Adding Unit Test: FppTest_component_passive_ut_exe
-- Adding Library: FppTest_dp
-- Adding Unit Test: FppTest_dp_ut_exe
-- Adding Library: FppTest_state_machine_external_instance
-- Adding Unit Test: FppTest_state_machine_external_instance_ut_exe
-- Adding Library: FppTest_state_machine_internal_choice
-- Adding Unit Test: FppTest_state_machine_internal_choice_ut_exe
-- Adding Library: FppTest_state_machine_internal_harness
-- Adding Unit Test: FppTest_state_machine_internal_harness_ut_exe
-- Adding Library: FppTest_state_machine_internal_initial
-- Adding Unit Test: FppTest_state_machine_internal_initial_ut_exe
-- Adding Library: FppTest_state_machine_internal_state
-- Adding Unit Test: FppTest_state_machine_internal_state_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_choice
-- Adding Unit Test: FppTest_state_machine_internal_instance_choice_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_initial
-- Adding Unit Test: FppTest_state_machine_internal_instance_initial_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_state
-- Adding Unit Test: FppTest_state_machine_internal_instance_state_ut_exe
-- Adding Library: FppTest_enum
-- Adding Unit Test: FppTest_enum_ut_exe
-- Adding Library: FppTest_interfaces
-- Adding Library: FppTest_struct
-- Adding Unit Test: FppTest_struct_ut_exe
-- Adding Library: FppTest_sizeof
-- Adding Unit Test: FppTest_sizeof_ut_exe
-- Adding Library: FppTest_topology_components_Comp
-- Adding Library: FppTest_topology_components_Framework
-- Adding Library: FppTest_topology_components_Sender
-- Adding Library: FppTest_topology_components_Receiver
-- Adding Library: FppTest_topology_top_ports
-- Adding Library: FppTest_topology_special_ports
-- Adding Unit Test: FppTest_topology_special_ports_ut_exe
-- Adding Library: FppTest_topology_ports
-- Adding Library: FppTest_topology_types
-- Adding Library: FppTest_topology_async
-- Adding Library: FppTest_topology_sync
-- Adding Library: FppTest_topology_guarded
-- Adding Library: FppTest_topology_main
-- Adding Unit Test: FppTest_topology_main_ut_exe
-- Adding Deployment: FppTest
-- Configuring done (456.9s)
-- Generating done (0.8s)
-- Build files have been written to: /home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
Generating and Building UTs for: ./Ref
./trace-fprime: line 33: cd: /home/abh80/fprime/./Ref: No such file or directory
[WARNING] fprime-gds has unexpected version. Expected: 4.2.0 found 4.2.1
[WARNING] fprime-fpp has unexpected version. Expected: 3.3.0a4 found 3.3.0a2.dev29+g5109cd05b
[INFO] Purging build directory at: /home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
[INFO] Generating build directory at: /home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
[INFO] Using toolchain file None for platform default
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Enabled the following sanitizers: address,undefined,leak
-- [python3] python3 found at: /home/abh80/fprime-venv/bin/python3
-- [fpp-tools] fpp-depend found at: /home/abh80/fpp/compiler/bin/fpp-depend
-- [fpp-tools] fpp-to-cpp found at: /home/abh80/fpp/compiler/bin/fpp-to-cpp
-- [fpp-tools] fpp-to-dict found at: /home/abh80/fpp/compiler/bin/fpp-to-dict
-- [fpp-tools] fpp-locate-defs found at: /home/abh80/fpp/compiler/bin/fpp-locate-defs
-- [FPRIME] Module locations: /home/abh80/fprime/home/abh80/fprime/FppTestProject/home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut/F-Prime/home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
-- [FPRIME] Installation directory: /home/abh80/fprime/FppTestProject/build-artifacts
-- Target build toolchain/platform: Linux/Linux
-- [sub-build] Performing sub-build: info-cache
-- [sub-build] Generating: info-cache with target/sub-build/fpp_locstarget/sub-build/fpp_dependtarget/sub-build/fpp_to_jsontarget/sub-build/module_info
-- [sub-build] Executing: info-cache with fpp_locs
-- [sub-build] Executing: info-cache with fpp_depend
-- [sub-build] Executing: info-cache with fpp_to_json
-- [sub-build] Executing: info-cache with module_info
-- [sub-build] Performing sub-build: info-cache - DONE
-- [INFO] Failed to find 'syft' on PATH, please install to generate software bill-of-materials
-- Found Python: /home/abh80/fprime-venv/bin/python3.10 (found version "3.10.12") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- [LIBRARY] Adding modules from F´ framework
-- Including /home/abh80/fprime/cmake/platform/Linux.cmake
-- Adding Library: UnixPlatformTypes
-- Adding Library: PlatformLinux
-- Adding Library: FppToCppSettings
-- Adding Library: default_config
-- Adding Library: Fw_Buffer
-- Adding Unit Test: Fw_Buffer_ut_exe
-- Adding Library: Fw_Cmd
-- Adding Library: Fw_Com
-- Adding Library: Fw_DataStructures
-- Adding Unit Test: Fw_DataStructures_ut_exe
-- Adding Library: Fw_Dp
-- Adding Unit Test: Fw_Dp_ut_exe
-- Adding Library: Fw_Fpy
-- Adding Library: Fw_Interfaces
-- Adding Library: Fw_Log
-- Adding Unit Test: Fw_Log_ut_exe
-- Adding Library: Fw_Logger
-- Adding Unit Test: Fw_Logger_ut_exe
-- Adding Library: Fw_Prm
-- Adding Library: Fw_Time
-- Adding Unit Test: Fw_Time_ut_exe
-- Adding Library: Fw_Tlm
-- Adding Unit Test: Fw_Tlm_ut_exe
-- Adding Library: Fw_Comp
-- Adding Library: Fw_CompQueued
-- Adding Library: Fw_Sm
-- Adding Library: Fw_FilePacket
-- Adding Library: Fw_FilePacket_GTest
-- Adding Unit Test: Fw_FilePacket_ut_exe
-- Adding Library: Fw_Obj
-- Adding Library: Fw_Port
-- Adding Library: Fw_Ports_CompletionStatus
-- Adding Library: Fw_Ports_Ready
-- Adding Library: Fw_Ports_Signal
-- Adding Library: Fw_Ports_SuccessCondition
-- Adding Library: Fw_SerializableFile_test_TestSerializable
-- Adding Library: Fw_SerializableFile
-- Adding Unit Test: Fw_SerializableFile_ut_exe
-- Adding Library: Fw_Test
-- Adding Library: Fw_Types
-- Adding required implementations of Fw_StringFormatFw_StringScan
-- Adding Library: Fw_StringFormat_snprintf
-- Adding Library: Fw_StringScan_sscanf
-- Adding Unit Test: Fw_Types_ut_exe
-- Adding Unit Test: Fw_StringFormat_snprintf_ut_exe
-- Adding Unit Test: Fw_Types_Mmap_ut_exe
-- Adding Unit Test: Fw_StringScan_sscanf_ut_exe
-- Adding Library: Fw_Types_GTest
-- Adding Library: Svc_Types_TlmPacketizerTypes
-- Adding Library: Svc_Cycle
-- Adding Library: Svc_Fatal
-- Adding Library: Svc_Interfaces
-- Adding Library: Svc_Ping
-- Adding Library: Svc_PolyIf
-- Adding Library: Svc_Sched
-- Adding Library: Svc_Seq
-- Adding Library: Svc_WatchDog
-- Adding Library: Svc_Ports_CommsPorts
-- Adding Library: Svc_Ports_OsTimeEpoch
-- Adding Library: Svc_Ports_VersionPorts
-- Adding Library: Svc_Ports_FilePorts
-- Adding Library: Svc_Ports_TlmPacketizerPorts
-- Adding Library: Svc_ActivePhaser
-- Adding Unit Test: Svc_ActivePhaser_ut_exe
-- Adding Library: Svc_ActiveRateGroup
-- Adding Unit Test: Svc_ActiveRateGroup_ut_exe
-- Adding Library: Svc_AssertFatalAdapter
-- Adding Unit Test: Svc_AssertFatalAdapter_ut_exe
-- Adding Library: Svc_BufferAccumulator
-- Adding Unit Test: Svc_BufferAccumulator_ut_exe
-- Adding Library: Svc_BufferManager
-- Adding Unit Test: Svc_BufferManager_ut_exe
-- Adding Library: Svc_BufferLogger
-- Adding Unit Test: Svc_BufferLogger_ut_exe
-- Adding Library: Svc_BufferRepeater
-- Adding Unit Test: Svc_BufferRepeater_ut_exe
-- Adding Library: Svc_ChronoTime
-- Adding Unit Test: Svc_ChronoTime_ut_exe
-- Adding Library: Svc_ComLogger
-- Adding Unit Test: Svc_ComLogger_ut_exe
-- Adding Library: Svc_ComQueue
-- Adding Unit Test: Svc_ComQueue_ut_exe
-- Adding Library: Svc_ComSplitter
-- Adding Unit Test: Svc_ComSplitter_ut_exe
-- Adding Library: Svc_ComStub
-- Adding Unit Test: Svc_ComStub_ut_exe
-- Adding Library: Svc_CmdDispatcher
-- Adding Unit Test: Svc_CmdDispatcher_ut_exe
-- Adding Library: Svc_CmdSequencer
-- Adding Unit Test: Svc_CmdSequencer_ut_exe
-- Adding Library: Svc_CmdSplitter
-- Adding Unit Test: Svc_CmdSplitter_ut_exe
-- Adding Library: Svc_DpCatalog
-- Adding Unit Test: Svc_DpCatalog_ut_exe
-- Adding Library: Svc_DpManager
-- Adding Unit Test: Svc_DpManager_ut_exe
-- Adding Library: Svc_DpPorts
-- Adding Library: Svc_DpWriter
-- Adding Unit Test: Svc_DpWriter_ut_exe
-- Adding Library: Svc_EventManager
-- Adding Unit Test: Svc_EventManager_ut_exe
-- Adding Library: Svc_FatalHandler
-- Adding Library: Svc_FileDispatcher
-- Adding Unit Test: Svc_FileDispatcher_ut_exe
-- Adding Library: Svc_FileDownlinkPorts
-- Adding Library: Svc_FileDownlink
-- Adding Unit Test: Svc_FileDownlink_ut_exe
-- Adding Library: Svc_FileManager
-- Adding Unit Test: Svc_FileManager_ut_exe
-- Adding Library: Svc_FileUplink
-- Adding Unit Test: Svc_FileUplink_ut_exe
-- Adding Library: Svc_FileWorker
-- Adding Unit Test: FileWorkerTestNominal
CMake Warning at /home/abh80/fprime/cmake/implementation.cmake:69 (message):
[implementation] FileWorkerTestNominal has chosen unknown implementation:
Os_File
Call Stack (most recent call first):
/home/abh80/fprime/cmake/implementation.cmake:97 (fprime__internal_implementation_detect_implementations)
/home/abh80/fprime/cmake/implementation.cmake:34 (fprime__internal_choose_implementations)
/home/abh80/fprime/cmake/module.cmake:228 (fprime_target_implementations)
/home/abh80/fprime/cmake/module.cmake:43 (fprime__internal_add_build_target_helper)
/home/abh80/fprime/cmake/API.cmake:549 (fprime__internal_add_build_target)
/home/abh80/fprime/cmake/API.cmake:527 (fprime_add_unit_test_build_target)
/home/abh80/fprime/Svc/FileWorker/CMakeLists.txt:23 (register_fprime_ut)

-- Adding Library: Svc_FileWorker_test_FileTester
-- Adding Unit Test: FileWorkerTestError
-- Adding Library: Svc_FprimeDeframer
-- Adding Unit Test: Svc_FprimeDeframer_ut_exe
-- Adding Library: Svc_FprimeFramer
-- Adding Unit Test: Svc_FprimeFramer_ut_exe
-- Adding Library: Svc_FprimeProtocol
-- Adding Library: Svc_FprimeRouter
-- Adding Unit Test: Svc_FprimeRouter_ut_exe
-- Adding Library: Svc_FrameAccumulator
-- Adding Unit Test: Svc_FrameAccumulator_ut_exe
-- Adding Unit Test: Svc_FrameAccumulator_FprimeFrameDetector_test
-- Adding Unit Test: Svc_FrameAccumulator_CcsdsTcFrameDetector_test
-- Adding Library: Svc_GenericHub
-- Adding Unit Test: Svc_GenericHub_ut_exe
-- Adding Library: Svc_Health
-- Adding Unit Test: Svc_Health_ut_exe
-- Adding Library: Svc_OsTime_test_RawTimeTester
-- Adding Library: Svc_OsTime
-- Adding Unit Test: Svc_OsTime_ut_exe
-- Adding Library: Svc_PassiveRateGroup
-- Adding Unit Test: Svc_PassiveRateGroup_ut_exe
-- Adding Library: Svc_PolyDb
-- Adding Unit Test: Svc_PolyDb_ut_exe
-- Adding Library: Svc_PrmDb
-- Adding Unit Test: Svc_PrmDb_ut_exe
-- Adding Library: Svc_RateGroupDriver
-- Adding Unit Test: Svc_RateGroupDriver_ut_exe
-- Adding Library: Svc_SeqDispatcher
-- Adding Unit Test: Svc_SeqDispatcher_ut_exe
-- Adding Library: Svc_StaticMemory
-- Adding Unit Test: Svc_StaticMemory_ut_exe
-- Adding Library: Svc_TlmChan
-- Adding Unit Test: Svc_TlmChan_ut_exe
-- Adding Library: Svc_TlmPacketizer_config_TlmPacketizerConfig
-- Adding Library: Svc_TlmPacketizer
-- Adding Unit Test: Svc_TlmPacketizer_ut_exe
-- Adding Library: Svc_SystemResources
-- Adding Unit Test: Svc_SystemResources_ut_exe
-- Adding Library: Svc_Subtopologies_CdhCore_CdhCoreConfig
-- Adding Library: Svc_Subtopologies_CdhCore
-- Adding Library: Svc_Subtopologies_ComCcsds_ComCcsdsConfig
-- Adding Library: Svc_Subtopologies_ComCcsds
-- Adding Library: Svc_Subtopologies_ComFprime_ComFprimeConfig
-- Adding Library: Svc_Subtopologies_ComFprime
-- Adding Library: Svc_Subtopologies_FileHandling_FileHandlingConfig
-- Adding Library: Svc_Subtopologies_FileHandling
-- Adding Library: Svc_Subtopologies_DataProducts_DataProductsConfig
-- Adding Library: Svc_Subtopologies_DataProducts
-- Adding Library: Svc_Subtopologies_ComLoggerTee_ComLoggerTeeConfig
-- Adding Library: Svc_Subtopologies_ComLoggerTee
-- Adding Library: Svc_PassiveConsoleTextLogger
-- Adding Library: Svc_ActiveTextLogger
-- Adding Unit Test: Svc_ActiveTextLogger_ut_exe
-- Adding Library: Svc_PosixTime
-- Adding Unit Test: Svc_PosixTime_ut_exe
-- Adding Library: Svc_LinuxTimer
-- Adding Unit Test: Svc_LinuxTimer_ut_exe
-- Adding Library: Svc_Version
-- Adding Unit Test: Svc_Version_ut_exe
-- Adding Library: Svc_FpySequencer
-- Adding Unit Test: Svc_FpySequencer_ut_exe
-- Adding Library: Svc_Ccsds_Types
-- Adding Library: Svc_Ccsds_Ports
-- Adding Library: Svc_Ccsds_SpacePacketDeframer
-- Adding Unit Test: Svc_Ccsds_SpacePacketDeframer_ut_exe
-- Adding Library: Svc_Ccsds_SpacePacketFramer
-- Adding Unit Test: Svc_Ccsds_SpacePacketFramer_ut_exe
-- Adding Library: Svc_Ccsds_TcDeframer
-- Adding Unit Test: Svc_Ccsds_TcDeframer_ut_exe
-- Adding Library: Svc_Ccsds_TmFramer
-- Adding Unit Test: Svc_Ccsds_TmFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosFramer
-- Adding Unit Test: Svc_Ccsds_AosFramer_ut_exe
-- Adding Library: Svc_Ccsds_AosDeframer
-- Adding Unit Test: Svc_Ccsds_AosDeframer_ut_exe
-- Adding Library: Svc_Ccsds_ApidManager
-- Adding Unit Test: Svc_Ccsds_ApidManager_ut_exe
-- Adding Library: Svc_ComAggregator
-- Adding Unit Test: Svc_ComAggregator_ut_exe
-- Adding Library: Svc_ComRetry
-- Adding Unit Test: Svc_ComRetry_ut_exe
-- Adding Library: Svc_PassThroughRouter
-- Adding Unit Test: Svc_PassThroughRouter_ut_exe
-- Adding Library: Os_Models
-- Adding Library: Os_File_Stub_Implementation
-- Adding Library: Os_File_Stub
-- Adding Library: Os_Console_Stub_Implementation
-- Adding Library: Os_Console_Stub
-- Adding Library: Os_Task_Stub_Implementation
-- Adding Library: Os_Task_Stub
-- Adding Library: Os_Mutex_Stub_Implementation
-- Adding Library: Os_Mutex_Stub
-- Adding Library: Os_Cpu_Stub_Implementation
-- Adding Library: Os_Cpu_Stub
-- Adding Library: Os_Memory_Stub_Implementation
-- Adding Library: Os_Memory_Stub
-- Adding Library: Os_Queue_Stub_Implementation
-- Adding Library: Os_Queue_Stub
-- Adding Library: Os_RawTime_Stub_Implementation
-- Adding Library: Os_RawTime_Stub
-- Adding Library: Os_File_None
-- Adding Library: Os_File_Test_Stub_Implementation
-- Adding Library: Os_File_Test_Stub
-- Adding Library: Os_Console_Test_Stub_Implementation
-- Adding Library: Os_Console_Test_Stub
-- Adding Library: Os_Task_Test_Stub_Implementation
-- Adding Library: Os_Task_Test_Stub
-- Adding Library: Os_Mutex_Test_Stub_Implementation
-- Adding Library: Os_Mutex_Test_Stub
-- Adding Library: Os_Cpu_Test_Stub_Implementation
-- Adding Library: Os_Cpu_Test_Stub
-- Adding Library: Os_Memory_Test_Stub_Implementation
-- Adding Library: Os_Memory_Test_Stub
-- Adding Library: Os_Queue_Test_Stub_Implementation
-- Adding Library: Os_Queue_Test_Stub
-- Adding Library: Os_RawTime_Test_Stub_Implementation
-- Adding Library: Os_RawTime_Test_Stub
-- Adding Unit Test: StubFileTest
-- Adding Unit Test: StubConsoleTest
-- Adding Unit Test: StubCpuTest
-- Adding Unit Test: StubMemoryTest
-- Adding Unit Test: StubQueueTest
-- Adding Unit Test: StubTaskTest
-- Adding Unit Test: StubMutexTest
-- Adding Unit Test: StubFileSystemTest
-- Adding Unit Test: StubDirectoryTest
-- Adding Unit Test: StubConditionVariableTest
-- Adding Unit Test: StubRawTimeTest
-- Adding Unit Test: StubTest
-- Adding Library: Os_Posix_Shared
-- Adding Library: Os_File_Posix_Implementation
-- Adding Library: Os_File_Posix
-- Adding Library: Os_Console_Posix_Implementation
-- Adding Library: Os_Console_Posix
-- Adding Library: Os_Task_Posix_Implementation
-- Adding Library: Os_Task_Posix
-- Adding Library: Os_Mutex_Posix_Implementation
-- Adding Library: Os_Mutex_Posix
-- Adding Library: Os_RawTime_Posix_Implementation
-- Adding Library: Os_RawTime_Posix
-- Adding Unit Test: PosixFileTest
-- Adding Unit Test: PosixConsoleTest
-- Adding Unit Test: PosixTaskTest
-- Adding Unit Test: PosixMutexTest
-- Adding Unit Test: PosixFileSystemTest
-- Adding Unit Test: PosixDirectoryTest
-- Adding Unit Test: PosixConditionTests
-- Adding Unit Test: PosixRawTimeTest
-- Adding Library: Os_Generic_Types
-- Adding Unit Test: Types_Max_Heap_test
-- Adding Library: Os_Generic_PriorityQueue_Implementation
-- Adding Library: Os_Generic_PriorityQueue
-- Adding Unit Test: PriorityQueueTest
-- Adding Library: Os_Cpu_Linux_Implementation
-- Adding Library: Os_Cpu_Linux
-- Adding Library: Os_Memory_Linux_Implementation
-- Adding Library: Os_Memory_Linux
-- Adding Unit Test: LinuxCpuTest
-- Adding Unit Test: LinuxMemoryTest
-- Neither toolchain native nor platform Linux supported for module Os_Darwin
-- Adding Library: Os
-- Adding Library: Os_Console
-- Adding required implementations of Os_Console
-- Adding Library: Os_File
-- Adding required implementations of Os_File
-- Adding Library: Os_Task
-- Adding required implementations of Os_Task
-- Adding Library: Os_Mutex
-- Adding required implementations of Os_Mutex
-- Adding Library: Os_Queue
-- Adding required implementations of Os_Queue
-- Adding Library: Os_Cpu
-- Adding required implementations of Os_Cpu
-- Adding Library: Os_Memory
-- Adding required implementations of Os_Memory
-- Adding Library: Os_RawTime
-- Adding required implementations of Os_RawTime
-- Adding Unit Test: Os_ut_exe
-- Adding Library: Os_Test_File_SyntheticFileSystem
-- Adding Library: Drv_Interfaces
-- Adding Library: Drv_Ports_DataTypes
-- Adding Library: Drv_Ports
-- Adding Library: Drv_AsyncByteStreamBufferAdapter
-- Adding Unit Test: Drv_AsyncByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamBufferAdapter
-- Adding Unit Test: Drv_ByteStreamBufferAdapter_ut_exe
-- Adding Library: Drv_ByteStreamDriverModel
-- Adding Library: Drv_LinuxGpioDriver
-- Adding Library: Drv_LinuxI2cDriver
-- Adding Library: Drv_LinuxSpiDriver
-- Adding Library: Drv_LinuxUartDriver
-- Adding Library: Drv_Ip
-- Adding Unit Test: Drv_Ip_Tcp_test
-- Adding Unit Test: Drv_Ip_Udp_test
-- Adding Library: Drv_TcpClient
-- Adding Unit Test: Drv_TcpClient_ut_exe
-- Adding Library: Drv_TcpServer
-- Adding Unit Test: Drv_TcpServer_ut_exe
-- Adding Library: Drv_Udp
-- Adding Unit Test: Drv_Udp_ut_exe
-- Adding Library: CFDP_Checksum
-- Adding Unit Test: CFDP_Checksum_ut_exe
-- Adding Library: CFDP_Checksum_GTest
-- Adding Library: Utils
-- Adding Unit Test: Utils_ut_exe
-- Adding Library: Utils_Hash
-- Adding Library: Utils_Types
-- Adding Unit Test: Types_Circular_Buffer_ut_exe
-- Adding Unit Test: Utils_Types_Queue_ut_exe
-- [LIBRARY] Adding modules from F´ framework - DONE
-- Performing Test VAR_MAC_OMITTED_SUPPORTED
-- Performing Test VAR_MAC_OMITTED_SUPPORTED - Success
-- Adding Library: FppTest_array
-- Adding Unit Test: FppTest_array_ut_exe
-- Adding Library: FppTest_component_empty
-- Adding Unit Test: FppTest_component_empty_ut_exe
-- Adding Library: FppTest_component_active
-- Adding Unit Test: FppTest_component_active_ut_exe
-- Adding Library: FppTest_component_queued
-- Adding Unit Test: FppTest_component_queued_ut_exe
-- Adding Library: FppTest_component_passive
-- Adding Unit Test: FppTest_component_passive_ut_exe
-- Adding Library: FppTest_dp
-- Adding Unit Test: FppTest_dp_ut_exe
-- Adding Library: FppTest_state_machine_external_instance
-- Adding Unit Test: FppTest_state_machine_external_instance_ut_exe
-- Adding Library: FppTest_state_machine_internal_choice
-- Adding Unit Test: FppTest_state_machine_internal_choice_ut_exe
-- Adding Library: FppTest_state_machine_internal_harness
-- Adding Unit Test: FppTest_state_machine_internal_harness_ut_exe
-- Adding Library: FppTest_state_machine_internal_initial
-- Adding Unit Test: FppTest_state_machine_internal_initial_ut_exe
-- Adding Library: FppTest_state_machine_internal_state
-- Adding Unit Test: FppTest_state_machine_internal_state_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_choice
-- Adding Unit Test: FppTest_state_machine_internal_instance_choice_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_initial
-- Adding Unit Test: FppTest_state_machine_internal_instance_initial_ut_exe
-- Adding Library: FppTest_state_machine_internal_instance_state
-- Adding Unit Test: FppTest_state_machine_internal_instance_state_ut_exe
-- Adding Library: FppTest_enum
-- Adding Unit Test: FppTest_enum_ut_exe
-- Adding Library: FppTest_interfaces
-- Adding Library: FppTest_struct
-- Adding Unit Test: FppTest_struct_ut_exe
-- Adding Library: FppTest_sizeof
-- Adding Unit Test: FppTest_sizeof_ut_exe
-- Adding Library: FppTest_topology_components_Comp
-- Adding Library: FppTest_topology_components_Framework
-- Adding Library: FppTest_topology_components_Sender
-- Adding Library: FppTest_topology_components_Receiver
-- Adding Library: FppTest_topology_top_ports
-- Adding Library: FppTest_topology_special_ports
-- Adding Unit Test: FppTest_topology_special_ports_ut_exe
-- Adding Library: FppTest_topology_ports
-- Adding Library: FppTest_topology_types
-- Adding Library: FppTest_topology_async
-- Adding Library: FppTest_topology_sync
-- Adding Library: FppTest_topology_guarded
-- Adding Library: FppTest_topology_main
-- Adding Unit Test: FppTest_topology_main_ut_exe
-- Adding Deployment: FppTest
-- Configuring done (503.5s)
-- Generating done (0.7s)
-- Build files have been written to: /home/abh80/fprime/FppTestProject/build-fprime-automatic-native-ut
./trace-fprime: line 40: cd: /home/abh80/fprime/Ref/Top: No such file or directory
fpp-depend
error: cannot open file /home/abh80/fprime/FppTestProject/FppTest/.fpp
fpp-to-json
error: cannot open file /home/abh80/fprime/FppTestProject/FppTest/
.fpp

I have made the following changes to trace-fprime script; you can apply it, or I can add it to this pull request itself.

diff --git a/compiler/trace-fprime b/compiler/trace-fprime
index e53625d16..726f34c20 100755
--- a/compiler/trace-fprime
+++ b/compiler/trace-fprime
@@ -6,7 +6,7 @@ cd $wd

 # Make is used because it is single-string and thus doesn't trip tracing's lock-file contention
 fprime_generate_flags="-f -DFPRIME_SKIP_TOOLS_VERSION_CHECK=ON -DFPRIME_ENABLE_JSON_MODEL_GENERATION=ON --ut --make"
-fprime_project_paths=". ./FppTestProject/FppTest ./Ref"
+fprime_project_paths=". ./FppTestProject/FppTest ./TestDeploymentsProject/Ref"


 # Ensure the FPRIME environment variable was set
@@ -37,7 +37,7 @@ do

 done
 # Add in tracing for the specific CI test for fpp-to-json as this seems to be particularly unhappy.
-cd ${FPRIME}/Ref/Top
+cd ${FPRIME}/TestDeploymentsProject/Ref/Top
 dependencies=`fpp-depend ../build-fprime-automatic-native-ut/locs.fpp *.fpp`
 fpp-to-json ${dependencies} *.fpp

@abh80 abh80 force-pushed the feature/shift-operations branch from f3fa3fd to 4c2361c Compare May 28, 2026 09:03
@abh80 abh80 requested a review from bocchino May 28, 2026 09:45
@bocchino

bocchino commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Thanks! It looks like trace-fprime has rotted a bit, because we haven't been using it. It was an attempt to make the native image build of fpp-json work with F Prime, but we have given up on that attempt for now. I'll open a separate issue on this.

@bocchino

bocchino commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

I created a new issue here: #1009.

It looks like there are a couple of test failures in CI. @abh80 could you take a look?

@bocchino bocchino left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks for addressing all the comments.

@bocchino bocchino merged commit 95b233a into nasa:feature/shift-op Jun 9, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support shift operations for numeric values

2 participants