PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
Macros | Functions
test_install_check.c File Reference

C test module for PICurv. More...

#include "test_support.h"
#include <stdlib.h>
Include dependency graph for test_install_check.c:

Go to the source code of this file.

Macros

#define PICURV_TEST_ERR_ENVIRONMENT   PETSC_ERR_USER_INPUT
 

Functions

static PetscErrorCode TestEnvironmentVisible (void)
 Test-local routine.
 
static PetscErrorCode TestBasicPetscObjects (void)
 Test-local routine.
 
int main (int argc, char **argv)
 Entry point for this unit-test binary.
 

Detailed Description

C test module for PICurv.

Definition in file test_install_check.c.

Macro Definition Documentation

◆ PICURV_TEST_ERR_ENVIRONMENT

#define PICURV_TEST_ERR_ENVIRONMENT   PETSC_ERR_USER_INPUT

Definition at line 13 of file test_install_check.c.

Function Documentation

◆ TestEnvironmentVisible()

static PetscErrorCode TestEnvironmentVisible ( void  )
static

Test-local routine.

Definition at line 19 of file test_install_check.c.

20{
21 const char *petsc_dir = getenv("PETSC_DIR");
22
23 PetscFunctionBeginUser;
24 PetscCheck(petsc_dir && petsc_dir[0] != '\0', PETSC_COMM_SELF, PICURV_TEST_ERR_ENVIRONMENT,
25 "PETSC_DIR is not set in the environment.");
26 PetscFunctionReturn(0);
27}
#define PICURV_TEST_ERR_ENVIRONMENT
Here is the caller graph for this function:

◆ TestBasicPetscObjects()

static PetscErrorCode TestBasicPetscObjects ( void  )
static

Test-local routine.

Definition at line 32 of file test_install_check.c.

33{
34 DM da = NULL, swarm = NULL;
35 Vec vec = NULL;
36
37 PetscFunctionBeginUser;
38 PetscCall(DMDACreate3d(PETSC_COMM_WORLD,
39 DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE,
40 DMDA_STENCIL_BOX,
41 3, 3, 3,
42 PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE,
43 1, 1,
44 NULL, NULL, NULL,
45 &da));
46 PetscCall(DMSetUp(da));
47 PetscCall(DMCreateGlobalVector(da, &vec));
48
49 PetscCall(DMCreate(PETSC_COMM_WORLD, &swarm));
50 PetscCall(DMSetType(swarm, DMSWARM));
51 PetscCall(DMSetDimension(swarm, 3));
52 PetscCall(DMSwarmSetType(swarm, DMSWARM_BASIC));
53 PetscCall(DMSwarmSetCellDM(swarm, da));
54 PetscCall(DMSwarmRegisterPetscDatatypeField(swarm, "position", 3, PETSC_REAL));
55 PetscCall(DMSwarmFinalizeFieldRegister(swarm));
56 PetscCall(DMSwarmSetLocalSizes(swarm, 1, 0));
57
58 PetscCall(VecDestroy(&vec));
59 PetscCall(DMDestroy(&swarm));
60 PetscCall(DMDestroy(&da));
61 PetscFunctionReturn(0);
62}
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Entry point for this unit-test binary.

Definition at line 67 of file test_install_check.c.

68{
69 PetscErrorCode ierr;
70 const PicurvTestCase cases[] = {
71 {"environment-visible", TestEnvironmentVisible},
72 {"basic-petsc-objects", TestBasicPetscObjects},
73 };
74
75 ierr = PetscInitialize(&argc, &argv, NULL, "PICurv installation validation");
76 if (ierr) {
77 return (int)ierr;
78 }
79
80 ierr = PicurvRunTests("doctor", cases, sizeof(cases) / sizeof(cases[0]));
81 if (ierr) {
82 PetscFinalize();
83 return (int)ierr;
84 }
85
86 ierr = PetscFinalize();
87 return (int)ierr;
88}
static PetscErrorCode TestBasicPetscObjects(void)
Test-local routine.
static PetscErrorCode TestEnvironmentVisible(void)
Test-local routine.
PetscErrorCode PicurvRunTests(const char *suite_name, const PicurvTestCase *cases, size_t case_count)
Shared test-support routine.
Named test case descriptor consumed by PicurvRunTests.
Here is the call graph for this function: