golang.org/x/build@v0.0.0-20240506185731-218518f32b70/internal/coordinator/schedule/span_test.go (about)

     1  // Copyright 2021 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build linux || darwin
     6  
     7  package schedule
     8  
     9  import (
    10  	"testing"
    11  )
    12  
    13  type fakeEventTimeLogger struct {
    14  	event   string
    15  	optText []string
    16  }
    17  
    18  func (l *fakeEventTimeLogger) LogEventTime(event string, optText ...string) {
    19  	l.event = event
    20  	l.optText = optText
    21  }
    22  
    23  func TestSpan(t *testing.T) {
    24  	l := &fakeEventTimeLogger{}
    25  	event := "log_event"
    26  	s := CreateSpan(l, event, "a", "b", "c")
    27  	if err := s.Done(nil); err != nil {
    28  		t.Fatalf("Span.Done() = %s; want no error", err)
    29  	}
    30  	if l.event != "finish_"+event {
    31  		t.Errorf("EventTimeLogger.event = %q, want %q", l.event, "finish_"+event)
    32  	}
    33  	if len(l.optText) == 0 {
    34  		t.Errorf("EventTimeLogger.optText = %+v; want entries", l.optText)
    35  	}
    36  }