mirror of
https://github.com/nasa/fprime.git
synced 2025-12-11 13:04:17 -06:00
* 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>
95 lines
2.7 KiB
C++
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());
|
|
}
|
|
|
|
}
|
|
|
|
}
|