pike.git / bin / test_pike.pike

version» Context lines:

pike.git/bin/test_pike.pike:1:   #!/usr/local/bin/pike    - /* $Id: test_pike.pike,v 1.22 1999/03/12 01:11:55 hubbe Exp $ */ + /* $Id: test_pike.pike,v 1.23 1999/04/08 22:19:01 hubbe Exp $ */      import Stdio;      #if !efun(_verify_internals)   #define _verify_internals()   #endif      int foo(string opt)   {    if(opt=="" || !opt) return 1;    return (int)opt;   }      mapping(string:int) cond_cache=([]);      #if constant(thread_create)   #define HAVE_DEBUG   #endif    -  + void bzot(string test) + { +  int line=1; +  int tmp=strlen(test)-1; +  while(test[tmp]=='\n') tmp--; +  foreach(test[..tmp]/"\n",string s) +  werror("%3d: %s\n",line++,s); + } +    int main(int argc, string *argv)   {    int e, verbose, successes, errors, t, check;    string *tests,tmp;    program testprogram;    int start, fail, mem;    int loop=1;    int end=0x7fffffff;    string extra_info="";    int shift;
pike.git/bin/test_pike.pike:158:    continue;    }    }       sscanf(test,"%s\n%s",type,test);    sscanf(type,"%*s expected result: %s",type);       if(verbose)    {    werror("Doing test %d (%d total)%s\n",e+1,successes+errors+1,extra_info); -  if(verbose>1) -  werror(test+"\n"); +  if(verbose>1) bzot(test);    }       if(check > 1) _verify_internals();       shift++;    shift%=3;    string fname = argv[f] + ": Test " + (e + 1) +    " (shift " + shift + ")";       string widener = ([ 0:"",    1:"\nint \x30c6\x30b9\x30c8=0;\n",    2:"\nint \x10001=0;\n" ])[shift%3];       switch(type)    {    case "COMPILE":    if(catch(compile_string(test + widener, fname)))    {    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    errors++;    }else{    successes++;    }    break;       case "COMPILE_ERROR":    master()->set_inhibit_compile_errors(1);    if(catch(compile_string(test + widener, fname)))    {    successes++;    }else{    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    errors++;    }    master()->set_inhibit_compile_errors(0);    break;       case "EVAL_ERROR":    master()->set_inhibit_compile_errors(1);    if(catch(clone(compile_string(test + widener, fname))->a()))    {    successes++;    }else{    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    errors++;    }    master()->set_inhibit_compile_errors(0);    break;       default:    mixed err;    if (err = catch{    o=clone(compile_string(test + widener,fname));   
pike.git/bin/test_pike.pike:241:    errors++;    break;    }       switch(type)    {    case "FALSE":    if(a)    {    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    werror(sprintf("o->a(): %O\n",a));    errors++;    }else{    successes++;    }    break;       case "TRUE":    if(!a)    {    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    werror(sprintf("o->a(): %O\n",a));    errors++;    }else{    successes++;    }    break;       case "RUN":    successes++;    break;       case "EQ":    if(a!=b)    {    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    werror(sprintf("o->a(): %O\n",a));    werror(sprintf("o->b(): %O\n",b));    errors++;    }else{    successes++;    }    break;       case "EQUAL":    if(!equal(a,b))    {    werror(fname + " failed.\n"); -  werror(test+"\n"); +  bzot(test);    werror(sprintf("o->a(): %O\n",a));    werror(sprintf("o->b(): %O\n",b));    errors++;    }else{    successes++;    }    break;       default:    werror(sprintf("%s: Unknown test type (%O).\n", fname, type));