rsp_regr_su_log.c 2.56 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 and1();
int and2();
int andi1();
int lui1();
int nor1();
int nor2();
int or1();
int or2();
int ori1();
int xor1();
int xor2();
int xori1();

/*
 * An array of tests, each of which corresponds to a separate menu
 * item callable from the master ide menu.
 */
static TEST_REF TestRefs[] = {
  {"and1", RSP_TEST_BASE+0, and1},
  {"and2", RSP_TEST_BASE+1, and2},
  {"andi1", RSP_TEST_BASE+2, andi1},
  {"lui1", RSP_TEST_BASE+3, lui1},
  {"nor1", RSP_TEST_BASE+4, nor1},
  {"nor2", RSP_TEST_BASE+5, nor2},
  {"or1", RSP_TEST_BASE+6, or1},
  {"or2", RSP_TEST_BASE+7, or2},
  {"ori1", RSP_TEST_BASE+8, ori1},
  {"xor1", RSP_TEST_BASE+9, xor1},
  {"xor2", RSP_TEST_BASE+10, xor2},
  {"xori1", RSP_TEST_BASE+11, xori1},
    {"",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_su_log(void) {rsp_regr(TestRefs);}

/*
 * Tests
 */

int and1() {return generic_rsp_regression("tests/and1");}
int and2() {return generic_rsp_regression("tests/and2");}
int andi1() {return generic_rsp_regression("tests/andi1");}
int lui1() {return generic_rsp_regression("tests/lui1");}
int nor1() {return generic_rsp_regression("tests/nor1");}
int nor2() {return generic_rsp_regression("tests/nor2");}
int or1() {return generic_rsp_regression("tests/or1");}
int or2() {return generic_rsp_regression("tests/or2");}
int ori1() {return generic_rsp_regression("tests/ori1");}
int xor1() {return generic_rsp_regression("tests/xor1");}
int xor2() {return generic_rsp_regression("tests/xor2");}
int xori1() {return generic_rsp_regression("tests/xori1");}