/* * Copyright (c) 2020 Triad National Security, LLC. * All rights reserved. * * Copyright (c) 2021 Nanook Consulting. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /* Test of namespace and rank validity */ #include "pmix.h" #include "test_common.h" pmix_proc_t this_proc; int main(int argc, char *argv[]) { size_t ninfo = 0; test_params l_params; validation_params v_params; /* Handles all setup that's required prior to calling PMIx_Init() */ pmixt_pre_init(argc, argv, &l_params, &v_params, NULL); /* initialization */ PMIXT_CHECK(PMIx_Init(&this_proc, NULL, ninfo), l_params, v_params); /* Handles everything that needs to happen after PMIx_Init() */ pmixt_post_init(&this_proc, &l_params, &v_params); /* Check that our validation side-channel (passed from server to client as argument) * has the same values as this_proc */ if (!(0 == strncmp(v_params.pmix_nspace, this_proc.nspace, PMIX_MAX_NSLEN))) { TEST_ERROR(("Client ns %s validation ns: %s rank %d: nspace validation failed", this_proc.nspace, v_params.pmix_nspace, v_params.pmix_rank)); exit(1); } if (!(v_params.pmix_rank == this_proc.rank)) { TEST_ERROR(("Client ns %s rank %d validation rank: %d: rank validation failed", this_proc.nspace, this_proc.rank, v_params.pmix_rank)); exit(1); } TEST_VERBOSE( ("nspace validated: %s, rank validated: %d", v_params.pmix_nspace, v_params.pmix_rank)); PMIXT_CHECK(PMIx_Finalize(NULL, 0), l_params, v_params); /* Handles cleanup */ pmixt_post_finalize(&this_proc, &l_params, &v_params); }