Преглед на файлове

Fix nebula-cert tests on darwin and windows

This fixes a couple issues:

- NoSuchFileError not defined for darwin.
- ca_test and sign_test do a bunch of filesystem specific tests that
  error differently on Windows. Just disable these tests on Windows for
  now.
- Make the signcert test more deterministic by only testing one existing
  file at a time.
Wade Simmons преди 5 години
родител
ревизия
b39a0f422d
променени са 3 файла, в които са добавени 15 реда и са изтрити 0 реда
  1. 2 0
      cmd/nebula-cert/ca_test.go
  2. 9 0
      cmd/nebula-cert/sign_test.go
  3. 4 0
      cmd/nebula-cert/test_darwin.go

+ 2 - 0
cmd/nebula-cert/ca_test.go

@@ -1,3 +1,5 @@
+// +build !windows
+
 package main
 package main
 
 
 import (
 import (

+ 9 - 0
cmd/nebula-cert/sign_test.go

@@ -1,3 +1,5 @@
+// +build !windows
+
 package main
 package main
 
 
 import (
 import (
@@ -262,6 +264,7 @@ func Test_signCert(t *testing.T) {
 	assert.Nil(t, signCert(args, ob, eb))
 	assert.Nil(t, signCert(args, ob, eb))
 
 
 	// test that we won't overwrite existing key file
 	// test that we won't overwrite existing key file
+	os.Remove(crtF.Name())
 	ob.Reset()
 	ob.Reset()
 	eb.Reset()
 	eb.Reset()
 	args = []string{"-ca-crt", caCrtF.Name(), "-ca-key", caKeyF.Name(), "-name", "test", "-ip", "1.1.1.1/24", "-out-crt", crtF.Name(), "-out-key", keyF.Name(), "-duration", "100m", "-subnets", "10.1.1.1/32, ,   10.2.2.2/32   ,   ,  ,, 10.5.5.5/32", "-groups", "1,,   2    ,        ,,,3,4,5"}
 	args = []string{"-ca-crt", caCrtF.Name(), "-ca-key", caKeyF.Name(), "-name", "test", "-ip", "1.1.1.1/24", "-out-crt", crtF.Name(), "-out-key", keyF.Name(), "-duration", "100m", "-subnets", "10.1.1.1/32, ,   10.2.2.2/32   ,   ,  ,, 10.5.5.5/32", "-groups", "1,,   2    ,        ,,,3,4,5"}
@@ -269,6 +272,12 @@ func Test_signCert(t *testing.T) {
 	assert.Empty(t, ob.String())
 	assert.Empty(t, ob.String())
 	assert.Empty(t, eb.String())
 	assert.Empty(t, eb.String())
 
 
+	// create valid cert/key for overwrite tests
+	os.Remove(keyF.Name())
+	os.Remove(crtF.Name())
+	args = []string{"-ca-crt", caCrtF.Name(), "-ca-key", caKeyF.Name(), "-name", "test", "-ip", "1.1.1.1/24", "-out-crt", crtF.Name(), "-out-key", keyF.Name(), "-duration", "100m", "-subnets", "10.1.1.1/32, ,   10.2.2.2/32   ,   ,  ,, 10.5.5.5/32", "-groups", "1,,   2    ,        ,,,3,4,5"}
+	assert.Nil(t, signCert(args, ob, eb))
+
 	// test that we won't overwrite existing certificate file
 	// test that we won't overwrite existing certificate file
 	os.Remove(keyF.Name())
 	os.Remove(keyF.Name())
 	ob.Reset()
 	ob.Reset()

+ 4 - 0
cmd/nebula-cert/test_darwin.go

@@ -0,0 +1,4 @@
+package main
+
+const NoSuchFileError = "no such file or directory"
+const NoSuchDirError = "no such file or directory"