//==========================================================================
|
//==========================================================================
|
//
|
//
|
// tcdiag.cxx
|
// tcdiag.cxx
|
//
|
//
|
// Kernel diag test harness.
|
// Kernel diag test harness.
|
//
|
//
|
//==========================================================================
|
//==========================================================================
|
//####ECOSGPLCOPYRIGHTBEGIN####
|
//####ECOSGPLCOPYRIGHTBEGIN####
|
// -------------------------------------------
|
// -------------------------------------------
|
// This file is part of eCos, the Embedded Configurable Operating System.
|
// This file is part of eCos, the Embedded Configurable Operating System.
|
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
|
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
|
//
|
//
|
// eCos is free software; you can redistribute it and/or modify it under
|
// eCos is free software; you can redistribute it and/or modify it under
|
// the terms of the GNU General Public License as published by the Free
|
// the terms of the GNU General Public License as published by the Free
|
// Software Foundation; either version 2 or (at your option) any later version.
|
// Software Foundation; either version 2 or (at your option) any later version.
|
//
|
//
|
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
|
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// for more details.
|
// for more details.
|
//
|
//
|
// You should have received a copy of the GNU General Public License along
|
// You should have received a copy of the GNU General Public License along
|
// with eCos; if not, write to the Free Software Foundation, Inc.,
|
// with eCos; if not, write to the Free Software Foundation, Inc.,
|
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
//
|
//
|
// As a special exception, if other files instantiate templates or use macros
|
// As a special exception, if other files instantiate templates or use macros
|
// or inline functions from this file, or you compile this file and link it
|
// or inline functions from this file, or you compile this file and link it
|
// with other works to produce a work based on this file, this file does not
|
// with other works to produce a work based on this file, this file does not
|
// by itself cause the resulting work to be covered by the GNU General Public
|
// by itself cause the resulting work to be covered by the GNU General Public
|
// License. However the source code for this file must still be made available
|
// License. However the source code for this file must still be made available
|
// in accordance with section (3) of the GNU General Public License.
|
// in accordance with section (3) of the GNU General Public License.
|
//
|
//
|
// This exception does not invalidate any other reasons why a work based on
|
// This exception does not invalidate any other reasons why a work based on
|
// this file might be covered by the GNU General Public License.
|
// this file might be covered by the GNU General Public License.
|
//
|
//
|
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
|
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
|
// at http://sources.redhat.com/ecos/ecos-license/
|
// at http://sources.redhat.com/ecos/ecos-license/
|
// -------------------------------------------
|
// -------------------------------------------
|
//####ECOSGPLCOPYRIGHTEND####
|
//####ECOSGPLCOPYRIGHTEND####
|
//==========================================================================
|
//==========================================================================
|
//#####DESCRIPTIONBEGIN####
|
//#####DESCRIPTIONBEGIN####
|
//
|
//
|
// Author(s): dsm
|
// Author(s): dsm
|
// Contributors: dsm
|
// Contributors: dsm
|
// Date: 1998-03-17
|
// Date: 1998-03-17
|
// Description: Test harness implementation that uses the kernel's
|
// Description: Test harness implementation that uses the kernel's
|
// diag channel. This is intended for manual testing
|
// diag channel. This is intended for manual testing
|
// of the kernel.
|
// of the kernel.
|
//####DESCRIPTIONEND####
|
//####DESCRIPTIONEND####
|
|
|
#include <testcase.h>
|
#include <testcase.h>
|
#include <diag.h>
|
#include <diag.h>
|
|
|
bool cyg_test_is_simulator=false; // infrastructure changes as necessary
|
bool cyg_test_is_simulator=false; // infrastructure changes as necessary
|
|
|
void cyg_test_init()
|
void cyg_test_init()
|
{
|
{
|
diag_init();
|
diag_init();
|
}
|
}
|
|
|
void cyg_test_output(int status, char *msg, int line, char *file)
|
void cyg_test_output(int status, char *msg, int line, char *file)
|
{
|
{
|
char *st;
|
char *st;
|
|
|
switch (status) {
|
switch (status) {
|
case 0:
|
case 0:
|
st = "FAIL:";
|
st = "FAIL:";
|
break;
|
break;
|
case 1:
|
case 1:
|
st = "PASS:";
|
st = "PASS:";
|
break;
|
break;
|
case 2:
|
case 2:
|
st = "EXIT:";
|
st = "EXIT:";
|
break;
|
break;
|
case 3:
|
case 3:
|
st = "INFO:";
|
st = "INFO:";
|
break;
|
break;
|
}
|
}
|
|
|
diag_write_string(st);
|
diag_write_string(st);
|
diag_write_char('<');
|
diag_write_char('<');
|
diag_write_string(msg);
|
diag_write_string(msg);
|
diag_write_string("> Line: ");
|
diag_write_string("> Line: ");
|
diag_write_dec(line);
|
diag_write_dec(line);
|
diag_write_string(", File: ");
|
diag_write_string(", File: ");
|
diag_write_string(file);
|
diag_write_string(file);
|
diag_write_char('\n');
|
diag_write_char('\n');
|
|
|
}
|
}
|
|
|
// This is an appropriate function to set a breakpoint on
|
// This is an appropriate function to set a breakpoint on
|
void cyg_test_exit()
|
void cyg_test_exit()
|
{
|
{
|
for(;;)
|
for(;;)
|
;
|
;
|
}
|
}
|
// EOF tcdiag.cxx
|
// EOF tcdiag.cxx
|
|
|