blob: fb5c69ff1ba402b4ac4a4870c37f986dc19d13a6 [file] [log] [blame]
/* Testing code for C routines. */
/* $Id$ */
/* Use this as a place to more directly test C routines, without going
* to the trouble of installing/compiling the whole thing in mod_rivet,
* and using with Apache. */
/* Rivet config */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <tcl.h>
#include "httpd.h"
int
Rivet_Parser_Test
(
ClientData clientData,
Tcl_Interp *interp,
int objc,
Tcl_Obj *CONST objv[])
{
Tcl_Obj *outbuf = NULL;
FILE *testfile = NULL;
if (objc != 2)
{
Tcl_WrongNumArgs(interp, 1, objv, "filename");
return TCL_ERROR;
}
testfile = fopen(Tcl_GetString(objv[1]), "r");
if (testfile == NULL)
{
Tcl_AddErrorInfo(interp, Tcl_PosixError(interp));
return TCL_ERROR;
}
outbuf = Tcl_NewStringObj("", 0);
Rivet_Parser(outbuf, testfile);
return TCL_OK;
}
int
Cleanup
(
ClientData clientData,
Tcl_Interp *interp,
int objc,
Tcl_Obj *CONST objv[])
{
printf("cleaning up\n");
return TCL_OK;
}
int
Testing_Init(Tcl_Interp *interp)
{
Tcl_CreateObjCommand(interp, "parsertest", Rivet_Parser_Test,
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
Tcl_CreateObjCommand(interp, "cleanup", Cleanup,
(ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
Tcl_PkgProvide(interp, "rivettesting", "1.0");
return TCL_OK;
}