Пример #1
0
 public static int Main(string[] args)
 {
     try {
         ReadArgs(args);
         var tr = new TAPRunner();
         tr.CompileAndRun(tr.Expand(Paths));
         tr.ShowTotals();
         VLog(2, "EXIT {0}", tr.Exit);
         return(Zero?0:tr.Exit);
     } catch (Exception e) {
         ELog(e.ToString());
         return(1);
     }
 }
Пример #2
0
    static int Main() {
        Plan(4);
        var paths=new string[] {"t\\12many.cs.notcs","t\\12few.cs.notcs"};
        var sw=new StringWriter();
        sw.NewLine="\r\n";
        TAPApp.Out=sw;
        TAPApp.Subject="u";
        try {
            TAPRunner r=new TAPRunner();
            r.CompileAndRun(paths.Select(x=>new ScriptPath(TAPApp.FixPathSep(x),null)));
            var cs=TAPParser.Total;
            Is(cs.NPlanned,2);
            Is(cs.NOk,2);
            Is(cs.Mismatch,true);
            r.ShowTotals();
            Like(sw.ToString(),@"did not match number of tests\.
.*planned: 2 run: 2\b");
        } catch(Exception) {
            Dump("mismatch sw",sw);
            throw;
        }
        return 0;
    }
Пример #3
0
 public static int Main(string[] args) {
     try {
         ReadArgs(args);
         var tr=new TAPRunner();
         tr.CompileAndRun(tr.Expand(Paths));
         tr.ShowTotals();
         VLog(2,"EXIT {0}",tr.Exit);
         return Zero?0:tr.Exit;
     } catch(Exception e) {
         ELog(e.ToString());
         return 1;
     }
 }
Пример #4
0
 static Action MkMetatest(string expstr,string source) {
     source=TAPApp.FixPathSep(source);
     string[] expected=expstr.Split(new []{"\r\n"},StringSplitOptions.None).Select<string,string>(PreProc).Where(x=>x!=null).ToArray();
     NPlanned+=expected.Length;
     return ()=>{
         var sw=new StringWriter();
         TAPApp.Out=sw;
         TAPApp.Subject="u";
         try {
             TAPRunner r=new TAPRunner();
             Diag(source);
             r.CompileAndRun(new []{new ScriptPath(source,null)});
             var sr=new StringReader(sw.GetStringBuilder().ToString());
             int idx=0;
             do {
                 string s=sr.ReadLine();
                 if(s==null) break;
                 if(idx>=expected.Length) {
                     Diag("output has more lines than expected-arr: "+s);
                 } else {
                     Match m=ReRe.Match(expected[idx]);
                     if(m.Success) {
                         string re=m.Groups[1].Value;
                         Like(s,re);
                     } else {
                         Is(s,expected[idx]);
                     }
                 }
                 ++idx;
             } while(true);
         } catch(Exception) {
             Diag("sw contains "+Regex.Replace(sw.GetStringBuilder().ToString(),"^","#>> ",RegexOptions.Multiline));
             throw;
         }
     };
 }