SDDS ToolKit Programs and Libraries for C and Python
Loading...
Searching...
No Matches
test_sdds3_advanced.cc File Reference

Detailed Description

Acceptance tests for selective I/O, custom streams, live files, and transformations.

Covers projection pushdown, row slicing, page indexes, headerless streams, reconnect, file replacement, locking, live reads, update strategies, checked conversions, row masks, matrices, and transformed copies.

License
This file is distributed under the terms of the Software License Agreement found in the file LICENSE included with this distribution.

Definition in file test_sdds3_advanced.cc.

#include "SDDS.hpp"
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <limits>
#include <sstream>
#include <string>
#include <vector>

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 454 of file test_sdds3_advanced.cc.

454 {
455 assert(sdds::cppApiVersion == 2);
456 if (argc != 2) return 2;
457 const std::filesystem::path directory(argv[1]);
458 std::filesystem::create_directories(directory);
459 selectiveIoAndIndex(directory / "selective.sdds", directory / "last-rows.sdds");
460 memoryAndStreamIo();
461 sourceCapabilities(directory / "selective.sdds", directory / "raw-output.bin");
462 headerlessIo(directory / "headerless.dat");
463 disconnectReconnectAndLocks(directory / "reconnect.sdds",
464 directory / "replacement.sdds",
465 directory / "locked.sdds",
466 directory / "saved.sdds");
467 liveRowsAndUpdateStrategies(directory / "live.sdds", directory / "column-update.sdds",
468 directory / "compressed-update.sdds.gz");
469 transformations(directory / "transform-input.sdds", directory / "transform-output.sdds");
470 limitsAndMalformedProjection(directory / "limits.sdds", directory / "truncated.sdds");
471 return 0;
472}