windows/svc: use separate (and more descriptive) service names in tests

Notably, the DisplayName field was set to the same thing in both
sys.TestExample and mrg.TestMyService, which may explain the collision
reported in golang/go#59298.

Moreover, the adjective ”my” conveys no information whatsoever — we
shouldn't use it in tests or examples.

Also skip the tests that install services if GO_BUILDER_NAME is not
set, to reduce the likelihood of 'go test all' in a user's working
directory being mistaken for a malicious or compromised program.

Fixes golang/go#59298.

Change-Id: Ib00bf7400bfaa34e1a1d49125c43b97019b53c82
Reviewed-on: https://go-review.googlesource.com/c/sys/+/481015
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
This commit is contained in:
Bryan C. Mills
2023-05-04 17:52:42 +00:00
committed by Gopher Robot
parent ca59edaa5a
commit 1911637744
4 changed files with 30 additions and 21 deletions
+6 -2
View File
@@ -15,6 +15,7 @@
package main
import (
"flag"
"fmt"
"log"
"os"
@@ -33,8 +34,11 @@ func usage(errmsg string) {
os.Exit(2)
}
var svcName = "exampleservice"
func main() {
const svcName = "myservice"
flag.StringVar(&svcName, "name", svcName, "name of the service")
flag.Parse()
inService, err := svc.IsWindowsService()
if err != nil {
@@ -55,7 +59,7 @@ func main() {
runService(svcName, true)
return
case "install":
err = installService(svcName, "my service")
err = installService(svcName, "example service")
case "remove":
err = removeService(svcName)
case "start":