rsp_regr_pipe.c 11.7 KB
#include <sys/types.h>
#ifdef __sgi__
#include <sys/sbd.h>
#endif
#include <sys/stat.h>
#include <sys/mman.h>
#ifdef __sgi__
#include <sys/sema.h>
#endif
#include <netinet/in.h>

#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <getopt.h>

#include <rcp.h>
#include <rsp.h>

/* From $ROOT/usr/include/ide, which is installed from PR/diags/include */
#include "diag.h"
#include "dbg_comm.h"

#define RSP_TEST_BASE	001

static int NumFailures = 0;

/* From rsp_regr_common.c: */
extern int generic_rsp_regression (const char *file_name);
extern void imem_init(FILE *file_p);
extern int rsp_regrInit();
extern int rsp_regrDo(TEST_REF *test_ref);
extern int rsp_regr(TEST_REF TestRefs[]);

int iltest1();
int iltest2();
int iltest3();
int iltest4();
int iltest5();
int iltest6();
int iltest7();
int iltest8();
int iltest9();
int iltest10();
int iltest11();
int iltest12();
int iltest13();
int iltest14();
int iltest15();
int iltest16();
int iltest17();
int iltest18();
int iltest19();
int iltest20();
int iltest21();
int iltest22();
int iltest23();
int iltest24();
int iltest25();
int di_ctlhz000();
int di_ctlhz001();
int di_ctlhz002();
int di_ctlhz010();
int di_ctlhz011();
int di_ctlhz012();
int di_ctlhz100();
int di_ctlhz101();
int di_ctlhz102();
int di_ctlhz110();
int di_ctlhz111();
int di_ctlhz112();
int di_ldst00();
int di_ldst01();
int di_ldst02();
int di_ldst03();
int di_ldst10();
int di_ldst11();
int di_ldst12();
int di_ldst13();
int di_ldst20();
int di_ldst21();
int di_ldst22();
int di_ldst23();
int di_ldst30();
int di_ldst31();
int di_ldst32();
int di_ldst33();
int di_norm00();
int di_norm01();
int di_norm02();
int di_norm03();
int di_norm10();
int di_norm11();
int di_norm12();
int di_norm13();
int di_norm20();
int di_norm21();
int di_norm22();
int di_norm23();
int di_norm30();
int di_norm31();
int di_norm32();
int di_norm33();
int di_reghz0();
int di_reghz1();
int di_reghz2();
int di_reghz3();
int bpmult();
int bptest0();
int bptest1();
int bptest2();
int bptest3();
int bptest4();


/*
 * An array of tests, each of which corresponds to a separate menu
 * item callable from the master ide menu.
 */
static TEST_REF TestRefs[] = {
  {"iltest1", 		RSP_TEST_BASE+0, iltest1},
  {"iltest2", 		RSP_TEST_BASE+1, iltest2},
  {"iltest3", 		RSP_TEST_BASE+2, iltest3},
  {"iltest4", 		RSP_TEST_BASE+3, iltest4},
  {"iltest5", 		RSP_TEST_BASE+4, iltest5},
  {"iltest6", 		RSP_TEST_BASE+5, iltest6},
  {"iltest7", 		RSP_TEST_BASE+6, iltest7},
  {"iltest8", 		RSP_TEST_BASE+7, iltest8},
  {"iltest9", 		RSP_TEST_BASE+8, iltest9},
  {"iltest10", 		RSP_TEST_BASE+9, iltest10},
  {"iltest11", 		RSP_TEST_BASE+10, iltest11},
  {"iltest12", 		RSP_TEST_BASE+11, iltest12},
  {"iltest13", 		RSP_TEST_BASE+12, iltest13},
  {"iltest14", 		RSP_TEST_BASE+13, iltest14},
  {"iltest15", 		RSP_TEST_BASE+14, iltest15},
  {"iltest16", 		RSP_TEST_BASE+15, iltest16},
  {"iltest17", 		RSP_TEST_BASE+16, iltest17},
  {"iltest18", 		RSP_TEST_BASE+17, iltest18},
  {"iltest19", 		RSP_TEST_BASE+18, iltest19},
  {"iltest20", 		RSP_TEST_BASE+19, iltest20},
  {"iltest21", 		RSP_TEST_BASE+20, iltest21},
  {"iltest22", 		RSP_TEST_BASE+21, iltest22},
  {"iltest23", 		RSP_TEST_BASE+22, iltest23},
  {"iltest24", 		RSP_TEST_BASE+23, iltest24},
  {"iltest25", 		RSP_TEST_BASE+24, iltest25},
  {"di_ctlhz000", 	RSP_TEST_BASE+25, di_ctlhz000},
  {"di_ctlhz001", 	RSP_TEST_BASE+26, di_ctlhz000},
  {"di_ctlhz002", 	RSP_TEST_BASE+27, di_ctlhz002},
  {"di_ctlhz010", 	RSP_TEST_BASE+28, di_ctlhz010},
  {"di_ctlhz011", 	RSP_TEST_BASE+29, di_ctlhz011},
  {"di_ctlhz012", 	RSP_TEST_BASE+30, di_ctlhz012},
  {"di_ctlhz100", 	RSP_TEST_BASE+31, di_ctlhz100},
  {"di_ctlhz101", 	RSP_TEST_BASE+32, di_ctlhz101},
  {"di_ctlhz102", 	RSP_TEST_BASE+33, di_ctlhz102},
  {"di_ctlhz110", 	RSP_TEST_BASE+34, di_ctlhz110},
  {"di_ctlhz111", 	RSP_TEST_BASE+35, di_ctlhz111},
  {"di_ctlhz112", 	RSP_TEST_BASE+36, di_ctlhz112},
  {"di_ldst00", 	RSP_TEST_BASE+37, di_ldst00},
  {"di_ldst01", 	RSP_TEST_BASE+38, di_ldst01},
  {"di_ldst02", 	RSP_TEST_BASE+39, di_ldst02},
  {"di_ldst03", 	RSP_TEST_BASE+40, di_ldst03},
  {"di_ldst10", 	RSP_TEST_BASE+41, di_ldst10},
  {"di_ldst11", 	RSP_TEST_BASE+42, di_ldst11},
  {"di_ldst12", 	RSP_TEST_BASE+43, di_ldst12},
  {"di_ldst13", 	RSP_TEST_BASE+44, di_ldst13},
  {"di_ldst20", 	RSP_TEST_BASE+45, di_ldst20},
  {"di_ldst21", 	RSP_TEST_BASE+46, di_ldst21},
  {"di_ldst22", 	RSP_TEST_BASE+47, di_ldst22},
  {"di_ldst23", 	RSP_TEST_BASE+48, di_ldst23},
  {"di_ldst30", 	RSP_TEST_BASE+49, di_ldst30},
  {"di_ldst31", 	RSP_TEST_BASE+50, di_ldst31},
  {"di_ldst32", 	RSP_TEST_BASE+51, di_ldst32},
  {"di_ldst33", 	RSP_TEST_BASE+52, di_ldst33},
  {"di_norm00", 	RSP_TEST_BASE+53, di_norm00},
  {"di_norm01", 	RSP_TEST_BASE+54, di_norm01},
  {"di_norm02", 	RSP_TEST_BASE+55, di_norm02},
  {"di_norm03", 	RSP_TEST_BASE+56, di_norm03},
  {"di_norm10", 	RSP_TEST_BASE+57, di_norm10},
  {"di_norm11", 	RSP_TEST_BASE+58, di_norm11},
  {"di_norm12", 	RSP_TEST_BASE+59, di_norm12},
  {"di_norm13", 	RSP_TEST_BASE+60, di_norm13},
  {"di_norm20", 	RSP_TEST_BASE+61, di_norm20},
  {"di_norm21", 	RSP_TEST_BASE+62, di_norm21},
  {"di_norm22", 	RSP_TEST_BASE+63, di_norm22},
  {"di_norm23", 	RSP_TEST_BASE+64, di_norm23},
  {"di_norm30", 	RSP_TEST_BASE+65, di_norm30},
  {"di_norm31", 	RSP_TEST_BASE+66, di_norm31},
  {"di_norm32", 	RSP_TEST_BASE+67, di_norm32},
  {"di_norm33", 	RSP_TEST_BASE+68, di_norm33},
  {"di_reghz0", 	RSP_TEST_BASE+69, di_reghz0},
  {"di_reghz1", 	RSP_TEST_BASE+70, di_reghz1},
  {"di_reghz2", 	RSP_TEST_BASE+71, di_reghz2},
  {"di_reghz3", 	RSP_TEST_BASE+72, di_reghz3},
  {"bpmult", 		RSP_TEST_BASE+73, bpmult},
  {"bptest0", 		RSP_TEST_BASE+74, bptest0},
  {"bptest1", 		RSP_TEST_BASE+75, bptest1},
  {"bptest2", 		RSP_TEST_BASE+76, bptest2},
  {"bptest3", 		RSP_TEST_BASE+77, bptest3},
  {"bptest4", 		RSP_TEST_BASE+78, bptest4},
    {"",0,0}
};

static int failed_tests[512];

/*
 * diagnostic entry point:
 *
 * Each separately invokable ide diagnostic command corresponds to an
 * independent ".c" module; the entry point herein must match
 * the test name as specified in the rspcmd.awk script.  These command
 * names correspond to the names you see from the ide menu.  For this
 * module, there will be an ide command "rsp_regr".
 */

int rsp_regr_pipe(void) {rsp_regr(TestRefs);}

/*
 * Tests
 */

int iltest1() {return generic_rsp_regression("pipetests/iltest1");}
int iltest2() {return generic_rsp_regression("pipetests/iltest2");}
int iltest3() {return generic_rsp_regression("pipetests/iltest3");}
int iltest4() {return generic_rsp_regression("pipetests/iltest4");}
int iltest5() {return generic_rsp_regression("pipetests/iltest5");}
int iltest6() {return generic_rsp_regression("pipetests/iltest6");}
int iltest7() {return generic_rsp_regression("pipetests/iltest7");}
int iltest8() {return generic_rsp_regression("pipetests/iltest8");}
int iltest9() {return generic_rsp_regression("pipetests/iltest9");}
int iltest10() {return generic_rsp_regression("pipetests/iltest10");}
int iltest11() {return generic_rsp_regression("pipetests/iltest11");}
int iltest12() {return generic_rsp_regression("pipetests/iltest12");}
int iltest13() {return generic_rsp_regression("pipetests/iltest13");}
int iltest14() {return generic_rsp_regression("pipetests/iltest14");}
int iltest15() {return generic_rsp_regression("pipetests/iltest15");}
int iltest16() {return generic_rsp_regression("pipetests/iltest16");}
int iltest17() {return generic_rsp_regression("pipetests/iltest17");}
int iltest18() {return generic_rsp_regression("pipetests/iltest18");}
int iltest19() {return generic_rsp_regression("pipetests/iltest19");}
int iltest20() {return generic_rsp_regression("pipetests/iltest20");}
int iltest21() {return generic_rsp_regression("pipetests/iltest21");}
int iltest22() {return generic_rsp_regression("pipetests/iltest22");}
int iltest23() {return generic_rsp_regression("pipetests/iltest23");}
int iltest24() {return generic_rsp_regression("pipetests/iltest24");}
int iltest25() {return generic_rsp_regression("pipetests/iltest25");}
int di_ctlhz000() {return generic_rsp_regression("pipetests/di_ctlhz000");}
int di_ctlhz001() {return generic_rsp_regression("pipetests/di_ctlhz000");}
int di_ctlhz002() {return generic_rsp_regression("pipetests/di_ctlhz002");}
int di_ctlhz010() {return generic_rsp_regression("pipetests/di_ctlhz010");}
int di_ctlhz011() {return generic_rsp_regression("pipetests/di_ctlhz011");}
int di_ctlhz012() {return generic_rsp_regression("pipetests/di_ctlhz012");}
int di_ctlhz100() {return generic_rsp_regression("pipetests/di_ctlhz100");}
int di_ctlhz101() {return generic_rsp_regression("pipetests/di_ctlhz101");}
int di_ctlhz102() {return generic_rsp_regression("pipetests/di_ctlhz102");}
int di_ctlhz110() {return generic_rsp_regression("pipetests/di_ctlhz110");}
int di_ctlhz111() {return generic_rsp_regression("pipetests/di_ctlhz111");}
int di_ctlhz112() {return generic_rsp_regression("pipetests/di_ctlhz112");}
int di_ldst00() {return generic_rsp_regression("pipetests/di_ldst00");}
int di_ldst01() {return generic_rsp_regression("pipetests/di_ldst01");}
int di_ldst02() {return generic_rsp_regression("pipetests/di_ldst02");}
int di_ldst03() {return generic_rsp_regression("pipetests/di_ldst03");}
int di_ldst10() {return generic_rsp_regression("pipetests/di_ldst10");}
int di_ldst11() {return generic_rsp_regression("pipetests/di_ldst11");}
int di_ldst12() {return generic_rsp_regression("pipetests/di_ldst12");}
int di_ldst13() {return generic_rsp_regression("pipetests/di_ldst13");}
int di_ldst20() {return generic_rsp_regression("pipetests/di_ldst20");}
int di_ldst21() {return generic_rsp_regression("pipetests/di_ldst21");}
int di_ldst22() {return generic_rsp_regression("pipetests/di_ldst22");}
int di_ldst23() {return generic_rsp_regression("pipetests/di_ldst23");}
int di_ldst30() {return generic_rsp_regression("pipetests/di_ldst30");}
int di_ldst31() {return generic_rsp_regression("pipetests/di_ldst31");}
int di_ldst32() {return generic_rsp_regression("pipetests/di_ldst32");}
int di_ldst33() {return generic_rsp_regression("pipetests/di_ldst33");}
int di_norm00() {return generic_rsp_regression("pipetests/di_norm00");}
int di_norm01() {return generic_rsp_regression("pipetests/di_norm01");}
int di_norm02() {return generic_rsp_regression("pipetests/di_norm02");}
int di_norm03() {return generic_rsp_regression("pipetests/di_norm03");}
int di_norm10() {return generic_rsp_regression("pipetests/di_norm10");}
int di_norm11() {return generic_rsp_regression("pipetests/di_norm11");}
int di_norm12() {return generic_rsp_regression("pipetests/di_norm12");}
int di_norm13() {return generic_rsp_regression("pipetests/di_norm13");}
int di_norm20() {return generic_rsp_regression("pipetests/di_norm20");}
int di_norm21() {return generic_rsp_regression("pipetests/di_norm21");}
int di_norm22() {return generic_rsp_regression("pipetests/di_norm22");}
int di_norm23() {return generic_rsp_regression("pipetests/di_norm23");}
int di_norm30() {return generic_rsp_regression("pipetests/di_norm30");}
int di_norm31() {return generic_rsp_regression("pipetests/di_norm31");}
int di_norm32() {return generic_rsp_regression("pipetests/di_norm32");}
int di_norm33() {return generic_rsp_regression("pipetests/di_norm33");}
int di_reghz0() {return generic_rsp_regression("pipetests/di_reghz0");}
int di_reghz1() {return generic_rsp_regression("pipetests/di_reghz1");}
int di_reghz2() {return generic_rsp_regression("pipetests/di_reghz2");}
int di_reghz3() {return generic_rsp_regression("pipetests/di_reghz3");}
int bpmult() {return generic_rsp_regression("pipetests/bpmult");}
int bptest0() {return generic_rsp_regression("pipetests/bptest0");}
int bptest1() {return generic_rsp_regression("pipetests/bptest1");}
int bptest2() {return generic_rsp_regression("pipetests/bptest2");}
int bptest3() {return generic_rsp_regression("pipetests/bptest3");}
int bptest4() {return generic_rsp_regression("pipetests/bptest4");}