fprime/Svc/CmdSequencer/test/ut/SequenceFiles/BadDescriptorFile.cpp
Rob Bocchino da11b3a7c5
Improve warning flags in builds (#3319)
* Update fpp version

Add more warnings to FppTest

* Update fpp version

Add warnings to build

* Enable warnings in unit tests

Fix warnings

* Clean up test code

* Update fpp version

Remove workarounds in unit test builds

* Update fpp version

Fix warnings

* Revise DpManager tests

Remove conversion warnings

* Revise DpWriter tests

Remove conversion warnings

* Refactor Hash

Provide a size type to remove dependencies on NATIVE_INT_TYPE,
which is going away.

* Revise top-level CMakeLists.txt

* Fix warnings in Ref

* Fix warnings in Ref, RPI

* Revise warning flags

* Revise code to eliminate warnings

* Revise code to fix warnings

* Revise code to fix warnings

* Revise code to fix warnings

* Revise Serializable.cpp

* Revise Serializable.cpp

* Revise warning flags

* Fix warnings in test code

* Fix warnings

* Fix warnings

* Fix warnings and static analysis errors

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Turn off -Wshadow for unit tests

* Revise comments

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Enable -Wshadow for main ut builds

* Revise compile options

* Remove commented-out code

* Update STest

Eliminate warnings

* Fix warning

* Fix warnings

* Fix warning

* Fix warning

* Fix warning

* Revise comments

* Revise static cast expression

* Cast return type to void

* Remove unneeded cast

* Fix warnings that appear on the F Prime dev machine

* Fix more warnings

* Enable more warnings

* Update fpp version

* Remove commented-out compiler flags

* Enable warning flag in CmdDispatcher

* Disable -Wconversion in gtest

* Revise compiler warning flags

* Revise compiler options

* Revise compiler flags

* Revise compiler flags

* Revise compiler flags

* Revise compiler flags

* Revise Buffer

* Fix comments

* Fix warning flags

* Fix compiler warning flags

* Fix compiler warnings

* Fix compiler warning flags

* Fix compiler warnings

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Revise compiler warning flags

* Restore deleted test

* Fixing UT_TARGET collision

---------

Co-authored-by: Robert L Bocchino <bocchino@fprime-fsw-0.jpl.nasa.gov>
Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-03-12 12:04:43 -07:00

95 lines
2.7 KiB
C++

// ======================================================================
// \title BadDescriptorFile.cpp
// \author Rob Bocchino
// \brief BadDescriptorFile implementation
//
// \copyright
// Copyright (C) 2009-2018 California Institute of Technology.
// ALL RIGHTS RESERVED. United States Government Sponsorship
// acknowledged.
//
// ======================================================================
#include "Svc/CmdSequencer/test/ut/SequenceFiles/AMPCS/AMPCS.hpp"
#include "Svc/CmdSequencer/test/ut/SequenceFiles/Buffers.hpp"
#include "Svc/CmdSequencer/test/ut/SequenceFiles/BadDescriptorFile.hpp"
#include "Svc/CmdSequencer/test/ut/SequenceFiles/FPrime/FPrime.hpp"
#include "gtest/gtest.h"
namespace Svc {
namespace SequenceFiles {
BadDescriptorFile ::
BadDescriptorFile(const U32 a_n, const Format::t a_format) :
File(a_format),
n(a_n)
{
Fw::String baseName;
baseName.format("bad_descriptor_%u", a_n);
this->setName(baseName.toChar());
}
void BadDescriptorFile ::
serializeFPrime(Fw::SerializeBufferBase& buffer)
{
// Header
const TimeBase timeBase = TB_WORKSTATION_TIME;
const U32 timeContext = 0;
const U32 recordDataSize =
this->n * SequenceFiles::FPrime::Records::STANDARD_SIZE;
const U32 dataSize = recordDataSize + FPrime::CRCs::SIZE;
FPrime::Headers::serialize(
dataSize,
this->n,
timeBase,
timeContext,
buffer
);
// Records
for (U32 record = 0; record < this->n; record++) {
Fw::Time t(TB_WORKSTATION_TIME, 0, 0);
// Force an invalid record descriptor
FPrime::Records::Descriptor descriptor =
static_cast<FPrime::Records::Descriptor>(10);
FPrime::Records::serialize(
descriptor,
t,
record,
record + 1,
buffer
);
}
// CRC
FPrime::CRCs::serialize(buffer);
}
void BadDescriptorFile ::
serializeAMPCS(Fw::SerializeBufferBase& buffer)
{
// Header
AMPCS::Headers::serialize(buffer);
// Records
for (U32 i = 0; i < this->n; ++i) {
// Force an invalid time flag
const AMPCSSequence::Record::TimeFlag::t timeFlag =
static_cast<AMPCSSequence::Record::TimeFlag::t>(10);
const AMPCSSequence::Record::Time::t time = 0;
const AMPCSSequence::Record::Opcode::t opcode = i;
const U32 argument = i + 1;
AMPCS::Records::serialize(
timeFlag,
time,
opcode,
argument,
buffer
);
}
// CRC
AMPCS::CRCs::createFile(buffer, this->getName().toChar());
}
}
}