golang.org/x/sys@v0.9.0/windows/svc/eventlog/log_test.go (about)

     1  // Copyright 2012 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 windows
     6  // +build windows
     7  
     8  package eventlog_test
     9  
    10  import (
    11  	"testing"
    12  
    13  	"golang.org/x/sys/windows/svc/eventlog"
    14  )
    15  
    16  func TestLog(t *testing.T) {
    17  	if testing.Short() {
    18  		t.Skip("skipping test in short mode - it modifies system logs")
    19  	}
    20  
    21  	const name = "mylog"
    22  	const supports = eventlog.Error | eventlog.Warning | eventlog.Info
    23  	err := eventlog.InstallAsEventCreate(name, supports)
    24  	if err != nil {
    25  		t.Fatalf("Install failed: %s", err)
    26  	}
    27  	defer func() {
    28  		err = eventlog.Remove(name)
    29  		if err != nil {
    30  			t.Fatalf("Remove failed: %s", err)
    31  		}
    32  	}()
    33  
    34  	l, err := eventlog.Open(name)
    35  	if err != nil {
    36  		t.Fatalf("Open failed: %s", err)
    37  	}
    38  	defer l.Close()
    39  
    40  	err = l.Info(1, "info")
    41  	if err != nil {
    42  		t.Fatalf("Info failed: %s", err)
    43  	}
    44  	err = l.Warning(2, "warning")
    45  	if err != nil {
    46  		t.Fatalf("Warning failed: %s", err)
    47  	}
    48  	err = l.Error(3, "error")
    49  	if err != nil {
    50  		t.Fatalf("Error failed: %s", err)
    51  	}
    52  }