From 2d8d1ae4ef0b46385981dc6936a586dca7e4bf45 Mon Sep 17 00:00:00 2001 From: Arpad Ryszka Date: Mon, 26 Jun 2017 00:20:54 +0200 Subject: [PATCH] disable tracing --- boot.go | 10 +++++----- boot_test.go | 9 +++------ char.go | 14 +++++++------- choice.go | 16 ++++++++-------- eskip_test.go | 2 +- json_test.go | 2 +- parse_test.go | 19 ++++++++++--------- sequence.go | 14 +++++++------- syntax.go | 8 ++++++-- trace.go | 24 +++++++++++++----------- 10 files changed, 61 insertions(+), 57 deletions(-) diff --git a/boot.go b/boot.go index 1d1bdc9..65c4a34 100644 --- a/boot.go +++ b/boot.go @@ -187,8 +187,8 @@ func defineAllBoot(s *Syntax, defs [][]string) error { return nil } -func initBoot(t Trace, definitions [][]string) (*Syntax, error) { - s := NewSyntax(t) +func initBoot(definitions [][]string) (*Syntax, error) { + s := NewSyntax() if err := defineAllBoot(s, definitions); err != nil { return nil, err } @@ -196,8 +196,8 @@ func initBoot(t Trace, definitions [][]string) (*Syntax, error) { return s, s.Init() } -func bootSyntax(t Trace) (*Syntax, error) { - b, err := initBoot(t, bootDefinitions) +func bootSyntax() (*Syntax, error) { + b, err := initBoot(bootDefinitions) if err != nil { return nil, err } @@ -214,6 +214,6 @@ func bootSyntax(t Trace) (*Syntax, error) { return nil, err } - s := NewSyntax(t) + s := NewSyntax() return s, define(s, doc) } diff --git a/boot_test.go b/boot_test.go index bdebf74..0287ac1 100644 --- a/boot_test.go +++ b/boot_test.go @@ -6,9 +6,7 @@ import ( ) func TestBoot(t *testing.T) { - var trace Trace - - b, err := initBoot(trace, bootDefinitions) + b, err := initBoot(bootDefinitions) if err != nil { t.Error(err) return @@ -28,8 +26,7 @@ func TestBoot(t *testing.T) { return } - // trace = NewTrace(1) - s0 := NewSyntax(trace) + s0 := NewSyntax() if err := define(s0, n0); err != nil { t.Error(err) return @@ -58,7 +55,7 @@ func TestBoot(t *testing.T) { return } - s1 := NewSyntax(trace) + s1 := NewSyntax() if err := define(s1, n1); err != nil { t.Error(err) return diff --git a/char.go b/char.go index 3397388..d2f8cf2 100644 --- a/char.go +++ b/char.go @@ -73,22 +73,22 @@ func (p *charParser) match(t rune) bool { } func (p *charParser) parse(t Trace, c *context) { - t = t.Extend(p.name) - t.Out1("parsing char", c.offset) + // t = t.Extend(p.name) + // t.Out1("parsing char", c.offset) if p.commit&Documentation != 0 { - t.Out1("fail, doc") + // t.Out1("fail, doc") c.fail(c.offset) return } - if m, ok := c.fromCache(p.name); ok { - t.Out1("found in cache, match:", m) + if _, ok := c.fromCache(p.name); ok { + // t.Out1("found in cache, match:", m) return } if tok, ok := c.token(); ok && p.match(tok) { - t.Out1("success", string(tok)) + // t.Out1("success", string(tok)) n := newNode(p.name, p.commit, c.offset, c.offset+1) c.cache.set(c.offset, p.name, n) for _, includedBy := range p.includedBy { @@ -98,7 +98,7 @@ func (p *charParser) parse(t Trace, c *context) { c.success(n) return } else { - t.Out1("fail", string(tok)) + // t.Out1("fail", string(tok)) c.cache.set(c.offset, p.name, nil) c.fail(c.offset) return diff --git a/choice.go b/choice.go index 56c6b38..7c7830a 100644 --- a/choice.go +++ b/choice.go @@ -93,22 +93,22 @@ func (p *choiceParser) cacheIncluded(c *context, n *Node) { } func (p *choiceParser) parse(t Trace, c *context) { - t = t.Extend(p.name) - t.Out1("parsing choice", c.offset) + // t = t.Extend(p.name) + // t.Out1("parsing choice", c.offset) if p.commit&Documentation != 0 { - t.Out1("fail, doc") + // t.Out1("fail, doc") c.fail(c.offset) return } - if m, ok := c.fromCache(p.name); ok { - t.Out1("found in cache, match:", m) + if _, ok := c.fromCache(p.name); ok { + // t.Out1("found in cache, match:", m) return } if c.excluded(c.offset, p.name) { - t.Out1("excluded") + // t.Out1("excluded") c.fail(c.offset) return } @@ -149,12 +149,12 @@ func (p *choiceParser) parse(t Trace, c *context) { } if match { - t.Out1("choice, success") + // t.Out1("choice, success") c.success(node) return } - t.Out1("fail") + // t.Out1("fail") c.cache.set(node.from, p.name, nil) c.fail(node.from) } diff --git a/eskip_test.go b/eskip_test.go index cee6401..c5e3340 100644 --- a/eskip_test.go +++ b/eskip_test.go @@ -727,7 +727,7 @@ func TestEskip(t *testing.T) { r := generateEskip(1 << 9) e := eskip.Print(true, r...) b := bytes.NewBufferString(e) - s, err := testSyntax("eskip.parser", 0) + s, err := testSyntax("eskip.parser", -1) if err != nil { t.Error(err) return diff --git a/json_test.go b/json_test.go index eb449e0..b5279e4 100644 --- a/json_test.go +++ b/json_test.go @@ -509,7 +509,7 @@ func TestRandomJSON(t *testing.T) { buf := bytes.NewBuffer(b) - s, err := testSyntax("json.parser", 0) + s, err := testSyntax("json.parser", -1) if err != nil { t.Error(err) return diff --git a/parse_test.go b/parse_test.go index a94b805..7f5b5bf 100644 --- a/parse_test.go +++ b/parse_test.go @@ -18,9 +18,7 @@ type testItem struct { } func testSyntaxReader(r io.Reader, traceLevel int) (*Syntax, error) { - trace := NewTrace(0) - - b, err := bootSyntax(trace) + b, err := bootSyntax() if err != nil { return nil, err } @@ -30,8 +28,12 @@ func testSyntaxReader(r io.Reader, traceLevel int) (*Syntax, error) { return nil, err } - trace = NewTrace(traceLevel) - s := NewSyntax(trace) + var trace Trace = NopTrace{} + if traceLevel >= 0 { + trace = NewTrace(traceLevel) + } + + s := NewSyntaxTrace(trace) if err := define(s, doc); err != nil { return nil, err } @@ -189,7 +191,7 @@ func testStringTrace(t *testing.T, s string, traceLevel int, tests []testItem) { } func testString(t *testing.T, s string, tests []testItem) { - testStringTrace(t, s, 0, tests) + testStringTrace(t, s, -1, tests) } func testTrace(t *testing.T, file, rootName string, traceLevel int, tests []testItem) { @@ -204,7 +206,7 @@ func testTrace(t *testing.T, file, rootName string, traceLevel int, tests []test } func test(t *testing.T, file, rootName string, tests []testItem) { - testTrace(t, file, rootName, 0, tests) + testTrace(t, file, rootName, -1, tests) } func TestRecursion(t *testing.T) { @@ -358,10 +360,9 @@ func TestSequence(t *testing.T) { }}, ) - testStringTrace( + testString( t, `A = "a" | (A?)*`, - 1, []testItem{{ msg: "sequence in choice with redundant quantifier", text: "aaa", diff --git a/sequence.go b/sequence.go index a4914b1..ac9c3f5 100644 --- a/sequence.go +++ b/sequence.go @@ -114,17 +114,17 @@ func (p *sequenceParser) cacheIncluded(c *context, n *Node) { } func (p *sequenceParser) parse(t Trace, c *context) { - t = t.Extend(p.name) - t.Out1("parsing sequence", c.offset) + // t = t.Extend(p.name) + // t.Out1("parsing sequence", c.offset) if p.commit&Documentation != 0 { - t.Out1("fail, doc") + // t.Out1("fail, doc") c.fail(c.offset) return } if c.excluded(c.offset, p.name) { - t.Out1("excluded") + // t.Out1("excluded") c.fail(c.offset) return } @@ -140,7 +140,7 @@ func (p *sequenceParser) parse(t Trace, c *context) { for len(items) > 0 { m, ok := c.fromCache(items[0].nodeName()) if ok { - t.Out1("sequence item found in cache, match:", m, items[0].nodeName(), c.offset) + // t.Out1("sequence item found in cache, match:", m, items[0].nodeName(), c.offset) } else { items[0].parse(t, c) m = c.match @@ -148,7 +148,7 @@ func (p *sequenceParser) parse(t Trace, c *context) { if !m { if currentCount < ranges[0][0] { - t.Out1("fail, item failed") + // t.Out1("fail, item failed") c.cache.set(node.from, p.name, nil) c.fail(node.from) return @@ -172,7 +172,7 @@ func (p *sequenceParser) parse(t Trace, c *context) { } } - t.Out1("success, items parsed") + // t.Out1("success, items parsed") c.cache.set(node.from, p.name, node) for _, includedBy := range p.includedBy { diff --git a/syntax.go b/syntax.go index 8872dc6..051e3c1 100644 --- a/syntax.go +++ b/syntax.go @@ -46,9 +46,13 @@ func duplicateDefinition(name string) error { return fmt.Errorf("duplicate definition: %s", name) } -func NewSyntax(t Trace) *Syntax { +func NewSyntax() *Syntax { + return NewSyntaxTrace(nil) +} + +func NewSyntaxTrace(t Trace) *Syntax { if t == nil { - t = NewTrace(0) + t = NopTrace{} } return &Syntax{ diff --git a/trace.go b/trace.go index 04f7e97..223a6a6 100644 --- a/trace.go +++ b/trace.go @@ -6,6 +6,7 @@ import ( ) type Trace interface { + OutN(int, ...interface{}) Out(...interface{}) Out1(...interface{}) Out2(...interface{}) @@ -27,8 +28,8 @@ func NewTrace(level int) *DefaultTrace { } } -func (t *DefaultTrace) printlnLevel(l int, a ...interface{}) { - if l > t.level { +func (t *DefaultTrace) OutN(level int, a ...interface{}) { + if level > t.level { return } @@ -36,19 +37,19 @@ func (t *DefaultTrace) printlnLevel(l int, a ...interface{}) { } func (t *DefaultTrace) Out(a ...interface{}) { - t.printlnLevel(0, a...) + t.OutN(0, a...) } func (t *DefaultTrace) Out1(a ...interface{}) { - t.printlnLevel(1, a...) + t.OutN(1, a...) } func (t *DefaultTrace) Out2(a ...interface{}) { - t.printlnLevel(2, a...) + t.OutN(2, a...) } func (t *DefaultTrace) Out3(a ...interface{}) { - t.printlnLevel(3, a...) + t.OutN(3, a...) } func (t *DefaultTrace) Extend(name string) Trace { @@ -65,8 +66,9 @@ func (t *DefaultTrace) Extend(name string) Trace { } } -func (NopTrace) Out(...interface{}) {} -func (NopTrace) Out1(...interface{}) {} -func (NopTrace) Out2(...interface{}) {} -func (NopTrace) Out3(...interface{}) {} -func (t NopTrace) Extend(string) Trace { return t } +func (NopTrace) OutN(int, ...interface{}) {} +func (NopTrace) Out(...interface{}) {} +func (NopTrace) Out1(...interface{}) {} +func (NopTrace) Out2(...interface{}) {} +func (NopTrace) Out3(...interface{}) {} +func (t NopTrace) Extend(string) Trace { return t }