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; 99647a07eSDavid Medina const char *backend = argv[1]; 10e07206deSjeremylt const char *resource; 11e07206deSjeremylt 129647a07eSDavid Medina CeedInit(backend, &ceed); 13e07206deSjeremylt 14e07206deSjeremylt CeedGetResource(ceed, &resource); 159647a07eSDavid Medina 16*d1d35e2fSjeremylt const size_t resource_length = strlen(resource); 17*d1d35e2fSjeremylt const bool is_exact_match = strcmp(resource, backend) == 0; 18*d1d35e2fSjeremylt const bool is_match_with_query_arguments = 19ded9b81dSJeremy L Thompson // LCOV_EXCL_START 20*d1d35e2fSjeremylt !is_exact_match 21*d1d35e2fSjeremylt && memcmp(resource, backend, resource_length) == 0 22*d1d35e2fSjeremylt && backend[resource_length] == ':'; 23ded9b81dSJeremy L Thompson // LCOV_EXCL_STOP 249647a07eSDavid Medina 25*d1d35e2fSjeremylt if (!is_exact_match && !is_match_with_query_arguments) { 26e07206deSjeremylt // LCOV_EXCL_START 27e07206deSjeremylt return CeedError(ceed, 1, "Incorrect full resource name: %s != %s", 289647a07eSDavid Medina resource, backend); 29e07206deSjeremylt // LCOV_EXCL_STOP 309647a07eSDavid Medina } 31e07206deSjeremylt 32e07206deSjeremylt CeedDestroy(&ceed); 33e07206deSjeremylt return 0; 34e07206deSjeremylt } 35