1e07206deSjeremylt /// @file 2e07206deSjeremylt /// Test return of a CEED object full resource name 3e07206deSjeremylt /// \test Test return of a CEED object full resource name 4e07206deSjeremylt #include <string.h> 5e07206deSjeremylt #include <ceed.h> 6e07206deSjeremylt 7e07206deSjeremylt int main(int argc, char **argv) { 8e07206deSjeremylt Ceed ceed; 9*9647a07eSDavid Medina const char *backend = argv[1]; 10e07206deSjeremylt const char *resource; 11e07206deSjeremylt 12*9647a07eSDavid Medina CeedInit(backend, &ceed); 13e07206deSjeremylt 14e07206deSjeremylt CeedGetResource(ceed, &resource); 15*9647a07eSDavid Medina 16*9647a07eSDavid Medina const size_t resourceLength = strlen(resource); 17*9647a07eSDavid Medina const bool isExactMatch = strcmp(resource, backend) == 0; 18*9647a07eSDavid Medina const bool isMatchWithQueryArguments = ( 19*9647a07eSDavid Medina !isExactMatch 20*9647a07eSDavid Medina && memcmp(resource, backend, resourceLength) == 0 21*9647a07eSDavid Medina && backend[resourceLength] == ':' 22*9647a07eSDavid Medina ); 23*9647a07eSDavid Medina 24*9647a07eSDavid Medina if (!isExactMatch && !isMatchWithQueryArguments) { 25e07206deSjeremylt // LCOV_EXCL_START 26e07206deSjeremylt return CeedError(ceed, 1, "Incorrect full resource name: %s != %s", 27*9647a07eSDavid Medina resource, backend); 28e07206deSjeremylt // LCOV_EXCL_STOP 29*9647a07eSDavid Medina } 30e07206deSjeremylt 31e07206deSjeremylt CeedDestroy(&ceed); 32e07206deSjeremylt return 0; 33e07206deSjeremylt } 34