IOSS 2.0
Loading...
Searching...
No Matches
Iocatalyst_DatabaseIOTest.h
Go to the documentation of this file.
1// Copyright(C) 1999-2020 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "iocatalyst_export.h"
10
11#include "gtest/gtest.h"
13#include <cstddef>
14
15class IOCATALYST_EXPORT Iocatalyst_DatabaseIOTest : public ::testing::Test
16{
17protected:
23
25
26 bool regionsAreEqual(const std::string &fileName, const std::string &catFileName,
27 const std::string &iossDatabaseType);
28
29 void runStructuredTest(const std::string &testName);
30
31 void runUnstructuredTest(const std::string &testName);
32
33 void checkZeroCopyFields(Iocatalyst::BlockMeshSet::IOSSparams &iop);
34
35 template <typename EntityContainer>
36 void checkEntityContainerZeroCopyFields(const EntityContainer &ge)
37 {
38 for (auto g : ge) {
39 auto nameList = g->field_describe();
40 for (auto name : nameList) {
41 auto field = g->get_fieldref(name);
42 if (field.zero_copy_enabled()) {
43 std::vector<std::byte> dcBuffer(field.get_size());
44 g->get_field_data(name, Data(dcBuffer), dcBuffer.size());
45 void *data;
46 size_t dataSize;
47 g->get_field_data(name, &data, &dataSize);
48 std::byte *b = static_cast<std::byte *>(data);
49 std::vector<std::byte> zcBuffer(b, b + field.get_size());
50 EXPECT_EQ(dcBuffer, zcBuffer);
51 }
52 }
53 }
54 }
55
56 void setBlockMeshSize(unsigned int i, unsigned int j, unsigned int k);
57 void setOrigin(unsigned int i, unsigned int j, unsigned int k);
58 void addBlockMesh(Iocatalyst::BlockMesh &blockMesh);
59
60 const std::string CGNS_DATABASE_TYPE = "cgns";
61 const std::string CGNS_FILE_EXTENSION = ".cgns";
62 const std::string EXODUS_DATABASE_TYPE = "exodus";
63 const std::string EXODUS_FILE_EXTENSION = ".ex2";
64 const std::string CATALYST_TEST_FILE_PREFIX = "catalyst_";
65 const std::string CATALYST_TEST_FILE_NP = "_np_";
66};
IOSS_NODISCARD constexpr T * Data(std::vector< T > &vec)
Definition Ioss_Utils.h:56
Definition Iocatalyst_BlockMeshSet.h:27
Definition Iocatalyst_BlockMeshSet.h:20
Definition Iocatalyst_BlockMesh.h:16
Definition Iocatalyst_DatabaseIOTest.h:16
Iocatalyst::BlockMesh::Extent origin
Definition Iocatalyst_DatabaseIOTest.h:21
Ioss::ParallelUtils putils
Definition Iocatalyst_DatabaseIOTest.h:22
Iocatalyst::BlockMeshSet bmSet
Definition Iocatalyst_DatabaseIOTest.h:18
Iocatalyst::BlockMesh::Extent blockMeshSize
Definition Iocatalyst_DatabaseIOTest.h:20
Iocatalyst::BlockMesh::Partition part
Definition Iocatalyst_DatabaseIOTest.h:19
void checkEntityContainerZeroCopyFields(const EntityContainer &ge)
Definition Iocatalyst_DatabaseIOTest.h:36
Definition Ioss_ParallelUtils.h:31
Definition Iocatalyst_BlockMesh.h:32
Definition Iocatalyst_BlockMesh.h:19