From b998bd340cd75b015bd1002ce8f50ee3f91bef63 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sat, 10 Dec 2022 04:12:32 +0100 Subject: [PATCH] Added dtsc_sizing_test Change-Id: I620b63ecf62198d1c759a60d751f2519af23b79c --- CMakeLists.txt | 3 +- test/dtsc_sizing.cpp | 70 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 test/dtsc_sizing.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 6af16808..38afbb72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -948,4 +948,5 @@ add_executable(streamstatustest test/status.cpp ${BINARY_DIR}/mist/.headers) target_link_libraries(streamstatustest mist) add_executable(websockettest test/websocket.cpp ${BINARY_DIR}/mist/.headers) target_link_libraries(websockettest mist) - +add_executable(dtsc_sizing_test test/dtsc_sizing.cpp ${BINARY_DIR}/mist/.headers) +target_link_libraries(dtsc_sizing_test mist) diff --git a/test/dtsc_sizing.cpp b/test/dtsc_sizing.cpp new file mode 100644 index 00000000..6822781a --- /dev/null +++ b/test/dtsc_sizing.cpp @@ -0,0 +1,70 @@ +#include +#include +#include +#include + + +class DTSC_Sizer : DTSC::Meta { + public: + size_t trkId; + DTSC::Track * trkPtr; + DTSC_Sizer() : DTSC::Meta() { + reInit("", true); + trkId = addTrack(1, 1, 1, 1, true); + trkPtr = &(tracks.at(trkId)); + } + + size_t getMetaOffset(){return stream.getOffset();} + size_t getMetaRecordSize(){ + Util::RelAccXFieldData trks = stream.getFieldData("tracks"); + return stream.getRSize() - trks.size; + } + + size_t getMetaTrackOffset(){return trackList.getOffset();} + size_t getMetaTrackRecordSize(){return trackList.getRSize();} + + size_t getTrackOffset(){return trkPtr->track.getOffset();} + size_t getTrackRecordSize(){return trkPtr->track.getRSize();} + size_t getTrackFragOffset(){return trkPtr->fragments.getOffset();} + size_t getTrackFragRecordSize(){return trkPtr->fragments.getRSize();} + size_t getTrackKeyOffset(){return trkPtr->keys.getOffset();} + size_t getTrackKeyRecordSize(){return trkPtr->keys.getRSize();} + size_t getTrackPartOffset(){return trkPtr->parts.getOffset();} + size_t getTrackPartRecordSize(){return trkPtr->parts.getRSize();} + size_t getTrackPageOffset(){return trkPtr->pages.getOffset();} + size_t getTrackPageRecordSize(){return trkPtr->pages.getRSize();} +}; + +bool comparer(size_t numA, size_t numB, const char* name){ + if (numA == numB){ + std::cerr << name << " is set correctly!" << std::endl; + return 0; + } + std::cerr << name << " is " << numA << ", but should be " << numB << ":" << std::endl; + std::cout << "#define " << name << " " << numB << std::endl; + return 1; +} + + +int main(int argc, char **argv){ + std::cerr << "Verifying metadata sizes..." << std::endl; + DTSC_Sizer M; + int failures = 0; + + failures += comparer(META_META_OFFSET, M.getMetaOffset(), "META_META_OFFSET"); + failures += comparer(META_META_RECORDSIZE, M.getMetaRecordSize(), "META_META_RECORDSIZE"); + failures += comparer(META_TRACK_OFFSET, M.getMetaTrackOffset(), "META_TRACK_OFFSET"); + failures += comparer(META_TRACK_RECORDSIZE, M.getMetaTrackRecordSize(), "META_TRACK_RECORDSIZE"); + + failures += comparer(TRACK_TRACK_OFFSET, M.getTrackOffset(), "TRACK_TRACK_OFFSET"); + failures += comparer(TRACK_TRACK_RECORDSIZE, M.getTrackRecordSize(), "TRACK_TRACK_RECORDSIZE"); + failures += comparer(TRACK_FRAGMENT_OFFSET, M.getTrackFragOffset(), "TRACK_FRAGMENT_OFFSET"); + failures += comparer(TRACK_FRAGMENT_RECORDSIZE, M.getTrackFragRecordSize(), "TRACK_FRAGMENT_RECORDSIZE"); + failures += comparer(TRACK_KEY_OFFSET, M.getTrackKeyOffset(), "TRACK_KEY_OFFSET"); + failures += comparer(TRACK_KEY_RECORDSIZE, M.getTrackKeyRecordSize(), "TRACK_KEY_RECORDSIZE"); + failures += comparer(TRACK_PART_OFFSET, M.getTrackPartOffset(), "TRACK_PART_OFFSET"); + failures += comparer(TRACK_PART_RECORDSIZE, M.getTrackPartRecordSize(), "TRACK_PART_RECORDSIZE"); + failures += comparer(TRACK_PAGE_OFFSET, M.getTrackPageOffset(), "TRACK_PAGE_OFFSET"); + failures += comparer(TRACK_PAGE_RECORDSIZE, M.getTrackPageRecordSize(), "TRACK_PAGE_RECORDSIZE"); + return failures; +}