~a-schlapsi/nunit-3.0/linux-makefile

« back to all changes in this revision

Viewing changes to src/framework/NUnitLite/StackFilter.cs

  • Committer: Andreas Schlapsi
  • Date: 2010-01-23 23:14:05 UTC
  • mfrom: (18.1.137 work)
  • Revision ID: a.schlapsi@gmx.at-20100123231405-17deqoh18nfnbq1j
Merged with trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// ***********************************************************************
2
 
// Copyright (c) 2007 Charlie Poole
3
 
//
4
 
// Permission is hereby granted, free of charge, to any person obtaining
5
 
// a copy of this software and associated documentation files (the
6
 
// "Software"), to deal in the Software without restriction, including
7
 
// without limitation the rights to use, copy, modify, merge, publish,
8
 
// distribute, sublicense, and/or sell copies of the Software, and to
9
 
// permit persons to whom the Software is furnished to do so, subject to
10
 
// the following conditions:
11
 
// 
12
 
// The above copyright notice and this permission notice shall be
13
 
// included in all copies or substantial portions of the Software.
14
 
// 
15
 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
 
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
 
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
 
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
 
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
 
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
 
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
 
// ***********************************************************************
23
 
 
24
 
using System;
25
 
using System.IO;
26
 
 
27
 
namespace NUnit.Framework
28
 
{
29
 
    /// <summary>
30
 
    /// Static class used to filter stack entries before they are displayed
31
 
    /// </summary>
32
 
    public class StackFilter
33
 
    {
34
 
        /// <summary>
35
 
        /// Filter a raw stack trace
36
 
        /// </summary>
37
 
        /// <param name="rawTrace">The original trace</param>
38
 
        /// <returns>The filtered trace</returns>
39
 
        public static string Filter(string rawTrace)
40
 
        {
41
 
            if (rawTrace == null) return null;
42
 
 
43
 
            StringReader sr = new StringReader(rawTrace);
44
 
            StringWriter sw = new StringWriter();
45
 
 
46
 
            string line;
47
 
            while ((line = sr.ReadLine()) != null && line.IndexOf("NUnit.Framework.Assert")>=0) 
48
 
                /*Skip*/;
49
 
 
50
 
            while (line != null)
51
 
            {
52
 
                sw.WriteLine(line);
53
 
                line = sr.ReadLine();
54
 
            }
55
 
 
56
 
            return sw.ToString();;
57
 
        }
58
 
    }
59
 
}