mirror of
https://github.com/tailscale/tailscale.git
synced 2025-01-08 09:07:44 +00:00
4224b3f731
Fixes #1478 Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com>
29 lines
769 B
Go
29 lines
769 B
Go
// Copyright (c) 2021 Tailscale Inc & AUTHORS All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package controlclient
|
|
|
|
import (
|
|
"os/exec"
|
|
"regexp"
|
|
"testing"
|
|
)
|
|
|
|
func TestOsVersionWindows(t *testing.T) {
|
|
out, err := exec.Command("cmd", "/c", "ver").Output()
|
|
if err != nil {
|
|
t.Fatalf("`ver` error: %v", err)
|
|
}
|
|
// Extract the version number from the output, and isolate the first three parts (major.minor.build)
|
|
rx := regexp.MustCompile(`(\d+\.\d+\.\d+)(\.\d+)?`)
|
|
m := rx.FindStringSubmatch(string(out))
|
|
if m == nil {
|
|
t.Fatalf("no version number in `ver` output: %q", out)
|
|
}
|
|
got := osVersionWindows()
|
|
if m[1] != got {
|
|
t.Errorf("osVersionWindows got %q want %q", got, m[1])
|
|
}
|
|
}
|