home *** CD-ROM | disk | FTP | other *** search
- /*--------------------------------------------------------------------*/
- /* s c r t e s t */
- /* */
- /* login Script test driver for UUPC/extended */
- /* */
- /* Copyright (c) Andrew H. Derbyshire */
- /* */
- /* May be distributed freely if original source and */
- /* documentation files are included. Please direct all */
- /* questions on UUPC/extended to help@kew.com. */
- /*--------------------------------------------------------------------*/
-
- /*--------------------------------------------------------------------*/
- /* You know it's a REAL bitch if I write a test driver for it. */
- /*--------------------------------------------------------------------*/
-
-
- /*--------------------------------------------------------------------*/
- /* System include files */
- /*--------------------------------------------------------------------*/
-
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <assert.h>
- #include <conio.h>
-
- /*--------------------------------------------------------------------*/
- /* UUPC/extended included files */
- /*--------------------------------------------------------------------*/
-
- #include "lib.h"
- #include "hlib.h"
- #include "script.h"
-
- void slowwrite( char *s, int len);
-
- /*--------------------------------------------------------------------*/
- /* m a i n */
- /* */
- /* Main program for driver */
- /*--------------------------------------------------------------------*/
-
- void main( int argc, char **argv)
- {
- int result;
- char **failure = NULL;
-
- assert( argc > 1 );
- if (argc > 2)
- failure = &argv[2];
-
- result = expectstr( argv[1], 30, failure );
- printf("Result of operation is %d",result);
- exit(0);
-
- } /* main */
-
- /*--------------------------------------------------------------------*/
- /* Replacement for UUPC/extended logging function */
- /*--------------------------------------------------------------------*/
-
- #pragma argsused
-
- void printmsg(int level, char *fmt, ...)
- {
- va_list arg_ptr;
-
- va_start(arg_ptr,fmt);
- vfprintf(stdout, fmt, arg_ptr);
- putchar('\n');
- }
-
- void bugout( const size_t lineno, const char *fname )
- {
- printmsg(0,"Program aborting at line %d in file %s",
- lineno, fname );
- fcloseall();
- exit(69);
- } /*bugout */
-
- /*--------------------------------------------------------------------*/
- /* s r e a d */
- /* */
- /* Fake serial port read */
- /*--------------------------------------------------------------------*/
-
- extern unsigned int sread(char *buffer,
- unsigned int wanted,
- unsigned int timeout)
- {
- int c;
- int needed = wanted;
- printf("sread(%d,%d):",wanted,timeout);
-
- while(needed-- > 0)
- {
- c = getch();
- if ( c == '.' )
- return -1;
- else
- *buffer++ = c;
- }
-
- putchar('\n');
-
- return wanted;
- }
-
- int swrite(char *data, unsigned int len)
- {
- int needed = len;
- printf("swrite:");
- while ( needed-- )
- putchar( *data++ );
- putchar('\n');
- return len;
- }
-
- void ssendbrk(unsigned int duration)
- {
- printf("BREAK %d\n",duration);
- }
-
- /*--------------------------------------------------------------------*/
- /* s l o w w r i t e */
- /* */
- /* Write characters to the serial port at a configurable */
- /* snail's pace. */
- /*--------------------------------------------------------------------*/
-
- void slowwrite( char *s, int len)
- {
- swrite( s , len );
- } /* slowwrite */
-
- #pragma argsused
-
- void SIOSpeed(BPS bps)
- {
- printf("SIOSPEED\n");
-
- } /*SIOSpeed*/
-