File: distributed_test_fixture.h

package info (click to toggle)
ospray 3.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,048 kB
  • sloc: cpp: 80,569; ansic: 951; sh: 805; makefile: 170; python: 69
file content (45 lines) | stat: -rw-r--r-- 1,181 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Copyright 2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#include "test_fixture.h"

namespace MPIDistribOSPRayTestScenes {

// Base class for all distributed test fixtures
// The base class assumes the data is partitioned in a 3D
// grid with each rank assigned a cell in this grid that it owns.
// The base class will set the world region parameter to match this
class MPIDistribBase : public OSPRayTestScenes::Base
{
 public:
  MPIDistribBase();

  // We override these to get the bounds of objects as they're added
  // so we can set the regions parameter on the world.
  virtual void AddInstance(cpp::Instance instance) override;

  virtual void PerformRenderTest();

 protected:
  int mpiRank;
  int mpiSize;
  vec3i rankGridDims;
  vec3i rankBrickId;
  box3f worldBounds;
};

// Fixture class used for tests that uses 'ospray_testing' scenes
class MPIFromOsprayTesting
    : public MPIDistribBase,
      public ::testing::TestWithParam<
          std::tuple<const char * /*scene name*/, unsigned int /*spp*/>>
{
 public:
  MPIFromOsprayTesting();
  void SetUp() override;

 protected:
  std::string sceneName;
};

} // namespace MPIDistribOSPRayTestScenes