automate test results and add test support routines.
This commit was SVN r2008.
Этот коммит содержится в:
родитель
6c40301350
Коммит
46dd816c1f
@ -13,6 +13,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "support.h"
|
||||
|
||||
#include "include/constants.h"
|
||||
#include "util/sys_info.h"
|
||||
@ -21,6 +22,11 @@
|
||||
#include "mca/base/base.h"
|
||||
#include "mca/ns/base/base.h"
|
||||
|
||||
/* output files needed by the test */
|
||||
static FILE *test_out=NULL;
|
||||
|
||||
static char *cmd_str="diff ./test_ns_replica_out ./test_ns_replica_out_std";
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
ompi_process_name_t *test_name;
|
||||
@ -30,104 +36,150 @@ int main(int argc, char **argv)
|
||||
bool multi, hidden;
|
||||
int i, j;
|
||||
char *tmp;
|
||||
int result; /* result from system call */
|
||||
|
||||
test_init("test_ns_replica");
|
||||
|
||||
test_out = fopen( "test_ns_replica_out", "w+" );
|
||||
if( test_out == NULL ) {
|
||||
test_failure("test_ns_replica couldn't open test file failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ompi_process_info.seed = true;
|
||||
|
||||
/* startup the MCA */
|
||||
if (OMPI_SUCCESS == mca_base_open()) {
|
||||
fprintf(stderr, "MCA started\n");
|
||||
fprintf(test_out, "MCA started\n");
|
||||
} else {
|
||||
fprintf(stderr, "MCA could not start - please report error to bugs@open-mpi.org\n");
|
||||
fprintf(test_out, "MCA could not start - please report error to bugs@open-mpi.org\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* open the name server */
|
||||
if (OMPI_SUCCESS == mca_ns_base_open()) {
|
||||
fprintf(stderr, "NS opened\n");
|
||||
fprintf(test_out, "NS opened\n");
|
||||
test_success();
|
||||
} else {
|
||||
fprintf(stderr, "NS could not open\n");
|
||||
fprintf(test_out, "NS could not open\n");
|
||||
test_failure("test_ns_replica mca_ns_base_open failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* startup the name server */
|
||||
if (OMPI_SUCCESS != mca_ns_base_select(&multi, &hidden)) {
|
||||
fprintf(stderr, "NS could not start\n");
|
||||
fprintf(test_out, "NS could not start\n");
|
||||
test_failure("test_ns_replica mca_ns_base_select failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "NS started\n");
|
||||
fprintf(test_out, "NS started\n");
|
||||
test_success();
|
||||
}
|
||||
|
||||
/* create a name */
|
||||
test_name = ompi_name_server.create_process_name(0, 1, 1);
|
||||
if (NULL == test_name) { /* got error */
|
||||
fprintf(stderr, "create process name failed\n");
|
||||
fprintf(test_out, "create process name failed\n");
|
||||
test_failure("test_ns_replica ompi_name_server create_process_name failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "got process name: %0X %0X %0X\n", test_name->cellid, test_name->jobid, test_name->vpid);
|
||||
fprintf(test_out, "got process name: %0X %0X %0X\n",
|
||||
test_name->cellid, test_name->jobid, test_name->vpid);
|
||||
test_success();
|
||||
}
|
||||
|
||||
/* convert a string to a name */
|
||||
tmp = strdup("1234.5678.9AEF");
|
||||
test_name = ompi_name_server.convert_string_to_process_name(tmp);
|
||||
if (NULL == test_name) { /* got error */
|
||||
fprintf(stderr, "convert string to process name failed\n");
|
||||
fprintf(test_out, "convert string to process name failed\n");
|
||||
test_failure("test_ns_replica ompi_name_server convert_string_to_process_name failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "got process name: %0X(%ld) %0X(%ld) %0X(%ld)\n", test_name->cellid, test_name->cellid,
|
||||
test_name->jobid, test_name->jobid, test_name->vpid, test_name->vpid);
|
||||
fprintf(test_out, "got process name: %0X(%ld) %0X(%ld) %0X(%ld)\n",
|
||||
(int)test_name->cellid, (long int)test_name->cellid, (int)test_name->jobid,
|
||||
(long int)test_name->jobid, (unsigned int)test_name->vpid,
|
||||
(long int)test_name->vpid);
|
||||
test_success();
|
||||
}
|
||||
|
||||
/* create a cellid */
|
||||
cell = ompi_name_server.create_cellid();
|
||||
if (0 == cell) { /* got error */
|
||||
fprintf(stderr, "create cellid: error\n");
|
||||
test_failure("test_ns_replica ompi_name_server test create_cellid");
|
||||
fprintf(test_out, "create cellid: error\n");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "cellid created: %d\n", cell);
|
||||
fprintf(test_out, "cellid created: %d\n", cell);
|
||||
test_success();
|
||||
}
|
||||
|
||||
for (i=0; i<10; i++) { /* loop through */
|
||||
/* create jobid */
|
||||
job = ompi_name_server.create_jobid();
|
||||
if (0 == job) { /* got error */
|
||||
fprintf(stderr, "create jobid: error\n");
|
||||
fprintf(test_out, "create jobid: error\n");
|
||||
test_failure("test_ns_replica ompi_name_server create_jobid failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "jobid created: %d\n", job);
|
||||
fprintf(test_out, "jobid created: %d\n", job);
|
||||
test_success();
|
||||
}
|
||||
|
||||
for (j=0; j<5; j++) { /* loop through several vpid ranges */
|
||||
/* get range of vpids */
|
||||
vpid = ompi_name_server.reserve_range(job, 250);
|
||||
if (0 == vpid) { /* got error */
|
||||
fprintf(stderr, "get range: error\n");
|
||||
fprintf(test_out, "get range: error\n");
|
||||
test_failure("test_ns_replica ompi_name_server reserve_range failed");
|
||||
test_finalize();
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "range reserved: %d\n", vpid);
|
||||
fprintf(test_out, "range reserved: %d\n", vpid);
|
||||
test_success();
|
||||
}
|
||||
|
||||
/* create a name */
|
||||
test_name = ompi_name_server.create_process_name((mca_ns_base_cellid_t)i, job, vpid);
|
||||
test_name = ompi_name_server.create_process_name((mca_ns_base_cellid_t)i,
|
||||
job, vpid);
|
||||
|
||||
/* get and print its string values */
|
||||
tmp = ompi_name_server.get_proc_name_string(test_name);
|
||||
fprintf(stderr, "(%d) strings: name - %s\n", i, tmp);
|
||||
fprintf(test_out, "(%d) strings: name - %s\n", i, tmp);
|
||||
tmp = ompi_name_server.get_vpid_string(test_name);
|
||||
fprintf(stderr, "\tvpid: %s\n", tmp);
|
||||
fprintf(test_out, "\tvpid: %s\n", tmp);
|
||||
tmp = ompi_name_server.get_jobid_string(test_name);
|
||||
fprintf(stderr, "\tjobid: %s\n", tmp);
|
||||
fprintf(test_out, "\tjobid: %s\n", tmp);
|
||||
tmp = ompi_name_server.get_cellid_string(test_name);
|
||||
fprintf(stderr, "\tcellid: %s\n", tmp);
|
||||
fprintf(test_out, "\tcellid: %s\n", tmp);
|
||||
|
||||
/* get and print its numeric values */
|
||||
vpid = ompi_name_server.get_vpid(test_name);
|
||||
job = ompi_name_server.get_jobid(test_name);
|
||||
cell = ompi_name_server.get_cellid(test_name);
|
||||
fprintf(stderr, "(%d) ints cell %0X(%ld) job %0X(%ld) vpid %0x(%ld)\n\n", i,
|
||||
cell, cell, job, job, vpid, vpid);
|
||||
}
|
||||
fprintf(test_out, "(%d) ints cell %0X(%ld) job %0X(%ld) vpid %0x(%ld)\n\n",
|
||||
i, cell, (long int)cell, job, (long int)job, vpid, (long int)vpid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fclose( test_out );
|
||||
result = system( cmd_str );
|
||||
if( result == 0 ) {
|
||||
test_success();
|
||||
}
|
||||
else {
|
||||
test_failure( "test_ns_replica ompi_name_server get_proc_name_string, etc failed");
|
||||
}
|
||||
|
||||
test_finalize();
|
||||
|
||||
return(0);
|
||||
}
|
||||
|
366
test/mca/ns/test_ns_replica_out_std
Обычный файл
366
test/mca/ns/test_ns_replica_out_std
Обычный файл
@ -0,0 +1,366 @@
|
||||
MCA started
|
||||
NS opened
|
||||
NS started
|
||||
got process name: 0 1 1
|
||||
got process name: 1234(4660) 5678(22136) 9AEF(39663)
|
||||
cellid created: 1
|
||||
jobid created: 1
|
||||
range reserved: 1
|
||||
(0) strings: name - 0.1.1
|
||||
vpid: 1
|
||||
jobid: 1
|
||||
cellid: 0
|
||||
(0) ints cell 0(0) job 1(1) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(0) strings: name - 0.1.FB
|
||||
vpid: FB
|
||||
jobid: 1
|
||||
cellid: 0
|
||||
(0) ints cell 0(0) job 1(1) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(0) strings: name - 0.1.1F5
|
||||
vpid: 1F5
|
||||
jobid: 1
|
||||
cellid: 0
|
||||
(0) ints cell 0(0) job 1(1) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(0) strings: name - 0.1.2EF
|
||||
vpid: 2EF
|
||||
jobid: 1
|
||||
cellid: 0
|
||||
(0) ints cell 0(0) job 1(1) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(0) strings: name - 0.1.3E9
|
||||
vpid: 3E9
|
||||
jobid: 1
|
||||
cellid: 0
|
||||
(0) ints cell 0(0) job 1(1) vpid 3e9(1001)
|
||||
|
||||
jobid created: 2
|
||||
range reserved: 1
|
||||
(1) strings: name - 1.2.1
|
||||
vpid: 1
|
||||
jobid: 2
|
||||
cellid: 1
|
||||
(1) ints cell 1(1) job 2(2) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(1) strings: name - 1.2.FB
|
||||
vpid: FB
|
||||
jobid: 2
|
||||
cellid: 1
|
||||
(1) ints cell 1(1) job 2(2) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(1) strings: name - 1.2.1F5
|
||||
vpid: 1F5
|
||||
jobid: 2
|
||||
cellid: 1
|
||||
(1) ints cell 1(1) job 2(2) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(1) strings: name - 1.2.2EF
|
||||
vpid: 2EF
|
||||
jobid: 2
|
||||
cellid: 1
|
||||
(1) ints cell 1(1) job 2(2) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(1) strings: name - 1.2.3E9
|
||||
vpid: 3E9
|
||||
jobid: 2
|
||||
cellid: 1
|
||||
(1) ints cell 1(1) job 2(2) vpid 3e9(1001)
|
||||
|
||||
jobid created: 3
|
||||
range reserved: 1
|
||||
(2) strings: name - 2.3.1
|
||||
vpid: 1
|
||||
jobid: 3
|
||||
cellid: 2
|
||||
(2) ints cell 2(2) job 3(3) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(2) strings: name - 2.3.FB
|
||||
vpid: FB
|
||||
jobid: 3
|
||||
cellid: 2
|
||||
(2) ints cell 2(2) job 3(3) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(2) strings: name - 2.3.1F5
|
||||
vpid: 1F5
|
||||
jobid: 3
|
||||
cellid: 2
|
||||
(2) ints cell 2(2) job 3(3) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(2) strings: name - 2.3.2EF
|
||||
vpid: 2EF
|
||||
jobid: 3
|
||||
cellid: 2
|
||||
(2) ints cell 2(2) job 3(3) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(2) strings: name - 2.3.3E9
|
||||
vpid: 3E9
|
||||
jobid: 3
|
||||
cellid: 2
|
||||
(2) ints cell 2(2) job 3(3) vpid 3e9(1001)
|
||||
|
||||
jobid created: 4
|
||||
range reserved: 1
|
||||
(3) strings: name - 3.4.1
|
||||
vpid: 1
|
||||
jobid: 4
|
||||
cellid: 3
|
||||
(3) ints cell 3(3) job 4(4) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(3) strings: name - 3.4.FB
|
||||
vpid: FB
|
||||
jobid: 4
|
||||
cellid: 3
|
||||
(3) ints cell 3(3) job 4(4) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(3) strings: name - 3.4.1F5
|
||||
vpid: 1F5
|
||||
jobid: 4
|
||||
cellid: 3
|
||||
(3) ints cell 3(3) job 4(4) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(3) strings: name - 3.4.2EF
|
||||
vpid: 2EF
|
||||
jobid: 4
|
||||
cellid: 3
|
||||
(3) ints cell 3(3) job 4(4) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(3) strings: name - 3.4.3E9
|
||||
vpid: 3E9
|
||||
jobid: 4
|
||||
cellid: 3
|
||||
(3) ints cell 3(3) job 4(4) vpid 3e9(1001)
|
||||
|
||||
jobid created: 5
|
||||
range reserved: 1
|
||||
(4) strings: name - 4.5.1
|
||||
vpid: 1
|
||||
jobid: 5
|
||||
cellid: 4
|
||||
(4) ints cell 4(4) job 5(5) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(4) strings: name - 4.5.FB
|
||||
vpid: FB
|
||||
jobid: 5
|
||||
cellid: 4
|
||||
(4) ints cell 4(4) job 5(5) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(4) strings: name - 4.5.1F5
|
||||
vpid: 1F5
|
||||
jobid: 5
|
||||
cellid: 4
|
||||
(4) ints cell 4(4) job 5(5) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(4) strings: name - 4.5.2EF
|
||||
vpid: 2EF
|
||||
jobid: 5
|
||||
cellid: 4
|
||||
(4) ints cell 4(4) job 5(5) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(4) strings: name - 4.5.3E9
|
||||
vpid: 3E9
|
||||
jobid: 5
|
||||
cellid: 4
|
||||
(4) ints cell 4(4) job 5(5) vpid 3e9(1001)
|
||||
|
||||
jobid created: 6
|
||||
range reserved: 1
|
||||
(5) strings: name - 5.6.1
|
||||
vpid: 1
|
||||
jobid: 6
|
||||
cellid: 5
|
||||
(5) ints cell 5(5) job 6(6) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(5) strings: name - 5.6.FB
|
||||
vpid: FB
|
||||
jobid: 6
|
||||
cellid: 5
|
||||
(5) ints cell 5(5) job 6(6) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(5) strings: name - 5.6.1F5
|
||||
vpid: 1F5
|
||||
jobid: 6
|
||||
cellid: 5
|
||||
(5) ints cell 5(5) job 6(6) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(5) strings: name - 5.6.2EF
|
||||
vpid: 2EF
|
||||
jobid: 6
|
||||
cellid: 5
|
||||
(5) ints cell 5(5) job 6(6) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(5) strings: name - 5.6.3E9
|
||||
vpid: 3E9
|
||||
jobid: 6
|
||||
cellid: 5
|
||||
(5) ints cell 5(5) job 6(6) vpid 3e9(1001)
|
||||
|
||||
jobid created: 7
|
||||
range reserved: 1
|
||||
(6) strings: name - 6.7.1
|
||||
vpid: 1
|
||||
jobid: 7
|
||||
cellid: 6
|
||||
(6) ints cell 6(6) job 7(7) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(6) strings: name - 6.7.FB
|
||||
vpid: FB
|
||||
jobid: 7
|
||||
cellid: 6
|
||||
(6) ints cell 6(6) job 7(7) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(6) strings: name - 6.7.1F5
|
||||
vpid: 1F5
|
||||
jobid: 7
|
||||
cellid: 6
|
||||
(6) ints cell 6(6) job 7(7) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(6) strings: name - 6.7.2EF
|
||||
vpid: 2EF
|
||||
jobid: 7
|
||||
cellid: 6
|
||||
(6) ints cell 6(6) job 7(7) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(6) strings: name - 6.7.3E9
|
||||
vpid: 3E9
|
||||
jobid: 7
|
||||
cellid: 6
|
||||
(6) ints cell 6(6) job 7(7) vpid 3e9(1001)
|
||||
|
||||
jobid created: 8
|
||||
range reserved: 1
|
||||
(7) strings: name - 7.8.1
|
||||
vpid: 1
|
||||
jobid: 8
|
||||
cellid: 7
|
||||
(7) ints cell 7(7) job 8(8) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(7) strings: name - 7.8.FB
|
||||
vpid: FB
|
||||
jobid: 8
|
||||
cellid: 7
|
||||
(7) ints cell 7(7) job 8(8) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(7) strings: name - 7.8.1F5
|
||||
vpid: 1F5
|
||||
jobid: 8
|
||||
cellid: 7
|
||||
(7) ints cell 7(7) job 8(8) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(7) strings: name - 7.8.2EF
|
||||
vpid: 2EF
|
||||
jobid: 8
|
||||
cellid: 7
|
||||
(7) ints cell 7(7) job 8(8) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(7) strings: name - 7.8.3E9
|
||||
vpid: 3E9
|
||||
jobid: 8
|
||||
cellid: 7
|
||||
(7) ints cell 7(7) job 8(8) vpid 3e9(1001)
|
||||
|
||||
jobid created: 9
|
||||
range reserved: 1
|
||||
(8) strings: name - 8.9.1
|
||||
vpid: 1
|
||||
jobid: 9
|
||||
cellid: 8
|
||||
(8) ints cell 8(8) job 9(9) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(8) strings: name - 8.9.FB
|
||||
vpid: FB
|
||||
jobid: 9
|
||||
cellid: 8
|
||||
(8) ints cell 8(8) job 9(9) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(8) strings: name - 8.9.1F5
|
||||
vpid: 1F5
|
||||
jobid: 9
|
||||
cellid: 8
|
||||
(8) ints cell 8(8) job 9(9) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(8) strings: name - 8.9.2EF
|
||||
vpid: 2EF
|
||||
jobid: 9
|
||||
cellid: 8
|
||||
(8) ints cell 8(8) job 9(9) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(8) strings: name - 8.9.3E9
|
||||
vpid: 3E9
|
||||
jobid: 9
|
||||
cellid: 8
|
||||
(8) ints cell 8(8) job 9(9) vpid 3e9(1001)
|
||||
|
||||
jobid created: 10
|
||||
range reserved: 1
|
||||
(9) strings: name - 9.A.1
|
||||
vpid: 1
|
||||
jobid: A
|
||||
cellid: 9
|
||||
(9) ints cell 9(9) job A(10) vpid 1(1)
|
||||
|
||||
range reserved: 251
|
||||
(9) strings: name - 9.A.FB
|
||||
vpid: FB
|
||||
jobid: A
|
||||
cellid: 9
|
||||
(9) ints cell 9(9) job A(10) vpid fb(251)
|
||||
|
||||
range reserved: 501
|
||||
(9) strings: name - 9.A.1F5
|
||||
vpid: 1F5
|
||||
jobid: A
|
||||
cellid: 9
|
||||
(9) ints cell 9(9) job A(10) vpid 1f5(501)
|
||||
|
||||
range reserved: 751
|
||||
(9) strings: name - 9.A.2EF
|
||||
vpid: 2EF
|
||||
jobid: A
|
||||
cellid: 9
|
||||
(9) ints cell 9(9) job A(10) vpid 2ef(751)
|
||||
|
||||
range reserved: 1001
|
||||
(9) strings: name - 9.A.3E9
|
||||
vpid: 3E9
|
||||
jobid: A
|
||||
cellid: 9
|
||||
(9) ints cell 9(9) job A(10) vpid 3e9(1001)
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user