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