1*9560d06aSjeremylt /// @file 2*9560d06aSjeremylt /// Test creation, copying, and destruction of a CEED object 3*9560d06aSjeremylt /// \test Test creation, copying, and destruction of a CEED object 4*9560d06aSjeremylt #include <ceed.h> 5*9560d06aSjeremylt 6*9560d06aSjeremylt int main(int argc, char **argv) { 7*9560d06aSjeremylt Ceed ceed, ceed_2; 8*9560d06aSjeremylt 9*9560d06aSjeremylt CeedInit(argv[1], &ceed); 10*9560d06aSjeremylt CeedInit("/cpu/self/ref/serial", &ceed_2); 11*9560d06aSjeremylt 12*9560d06aSjeremylt CeedReferenceCopy(ceed, &ceed_2); // This destroys the previous ceed_2 13*9560d06aSjeremylt if (ceed != ceed_2) 14*9560d06aSjeremylt // LCOV_EXCL_START 15*9560d06aSjeremylt printf("Error copying Ceed reference."); 16*9560d06aSjeremylt // LCOV_EXCL_STOP 17*9560d06aSjeremylt 18*9560d06aSjeremylt CeedDestroy(&ceed); 19*9560d06aSjeremylt 20*9560d06aSjeremylt CeedMemType type; 21*9560d06aSjeremylt CeedGetPreferredMemType(ceed_2, &type); // Second reference still valid 22*9560d06aSjeremylt 23*9560d06aSjeremylt CeedDestroy(&ceed_2); // Both references should be destroyed 24*9560d06aSjeremylt return 0; 25*9560d06aSjeremylt } 26