From ca1b3485cbf227faa46fcbb8db8b2385bc46a702 Mon Sep 17 00:00:00 2001 From: Tyler Treat Date: Mon, 10 Jul 2017 12:21:01 -0500 Subject: [PATCH 1/2] Fix "error opening file" errors in tests for Windows This sort of just punts on the problem by not creating log files in the tests, but it seemed like the simplest solution. --- server/configs/cluster.conf | 1 - server/configs/reload/authorization_1.conf | 1 - server/configs/reload/authorization_2.conf | 1 - server/configs/reload/basic.conf | 1 - server/configs/reload/max_connections.conf | 1 - server/configs/reload/max_payload.conf | 1 - server/configs/reload/multiple_users_1.conf | 1 - server/configs/reload/multiple_users_2.conf | 1 - server/configs/reload/reload.conf | 1 - server/configs/reload/reload_unsupported.conf | 1 - server/configs/reload/single_user_authentication_1.conf | 1 - server/configs/reload/single_user_authentication_2.conf | 1 - server/configs/reload/test.conf | 1 - server/configs/reload/tls_test.conf | 1 - server/configs/reload/tls_verify_test.conf | 1 - server/configs/reload/token_authentication_1.conf | 1 - server/configs/reload/token_authentication_2.conf | 1 - server/configs/test.conf | 1 - server/opts_test.go | 3 --- server/reload_test.go | 6 ------ server/routes_test.go | 1 - server/signal_test.go | 1 + 22 files changed, 1 insertion(+), 28 deletions(-) diff --git a/server/configs/cluster.conf b/server/configs/cluster.conf index cc134fef..4462f07d 100644 --- a/server/configs/cluster.conf +++ b/server/configs/cluster.conf @@ -11,7 +11,6 @@ authorization { } pid_file: '/tmp/nats_cluster_test.pid' -log_file: '/tmp/nats_cluster_test.log' cluster { host: 127.0.0.1 diff --git a/server/configs/reload/authorization_1.conf b/server/configs/reload/authorization_1.conf index 4368d3e9..35635a5b 100644 --- a/server/configs/reload/authorization_1.conf +++ b/server/configs/reload/authorization_1.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { # Our role based permissions. diff --git a/server/configs/reload/authorization_2.conf b/server/configs/reload/authorization_2.conf index 054607e4..a3d869a9 100644 --- a/server/configs/reload/authorization_2.conf +++ b/server/configs/reload/authorization_2.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { # Our role based permissions. diff --git a/server/configs/reload/basic.conf b/server/configs/reload/basic.conf index 0eedea75..6334f5de 100644 --- a/server/configs/reload/basic.conf +++ b/server/configs/reload/basic.conf @@ -1,4 +1,3 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" diff --git a/server/configs/reload/max_connections.conf b/server/configs/reload/max_connections.conf index c7917616..d0ef2ee1 100644 --- a/server/configs/reload/max_connections.conf +++ b/server/configs/reload/max_connections.conf @@ -1,6 +1,5 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" max_connections: 1 diff --git a/server/configs/reload/max_payload.conf b/server/configs/reload/max_payload.conf index d1eed424..4cc21757 100644 --- a/server/configs/reload/max_payload.conf +++ b/server/configs/reload/max_payload.conf @@ -1,6 +1,5 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" max_payload: 1 diff --git a/server/configs/reload/multiple_users_1.conf b/server/configs/reload/multiple_users_1.conf index 896bc739..ee0ff4bf 100644 --- a/server/configs/reload/multiple_users_1.conf +++ b/server/configs/reload/multiple_users_1.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { users = [ diff --git a/server/configs/reload/multiple_users_2.conf b/server/configs/reload/multiple_users_2.conf index c59b03ad..701c2ee7 100644 --- a/server/configs/reload/multiple_users_2.conf +++ b/server/configs/reload/multiple_users_2.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { users = [ diff --git a/server/configs/reload/reload.conf b/server/configs/reload/reload.conf index b24c2a42..d48cba7e 100644 --- a/server/configs/reload/reload.conf +++ b/server/configs/reload/reload.conf @@ -6,7 +6,6 @@ trace: true # enable on reload logtime: true # enable on reload syslog: true # enable on reload remote_syslog: "udp://localhost:514" # change on reload -log_file: "/tmp/gnatsd-2.log" # change on reload pid_file: "/tmp/gnatsd.pid" # change on reload max_control_line: 512 # change on reload diff --git a/server/configs/reload/reload_unsupported.conf b/server/configs/reload/reload_unsupported.conf index b7a94046..3a27c771 100644 --- a/server/configs/reload/reload_unsupported.conf +++ b/server/configs/reload/reload_unsupported.conf @@ -4,4 +4,3 @@ debug: false trace: true logtime: true # logtime not supported on config reload -log_file: "/tmp/gnatsd.log" diff --git a/server/configs/reload/single_user_authentication_1.conf b/server/configs/reload/single_user_authentication_1.conf index 7033f9b0..70eb6020 100644 --- a/server/configs/reload/single_user_authentication_1.conf +++ b/server/configs/reload/single_user_authentication_1.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { user: tyler diff --git a/server/configs/reload/single_user_authentication_2.conf b/server/configs/reload/single_user_authentication_2.conf index 1951df2d..8f5ff78d 100644 --- a/server/configs/reload/single_user_authentication_2.conf +++ b/server/configs/reload/single_user_authentication_2.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { user: derek diff --git a/server/configs/reload/test.conf b/server/configs/reload/test.conf index b056ff60..dda95745 100644 --- a/server/configs/reload/test.conf +++ b/server/configs/reload/test.conf @@ -4,7 +4,6 @@ debug: false trace: false logtime: false -log_file: "/tmp/gnatsd.log" cluster { listen: localhost:-1 diff --git a/server/configs/reload/tls_test.conf b/server/configs/reload/tls_test.conf index 227368df..b741470a 100644 --- a/server/configs/reload/tls_test.conf +++ b/server/configs/reload/tls_test.conf @@ -3,7 +3,6 @@ # Simple TLS config file listen: localhost:-1 -log_file: "/tmp/gnatsd.log" tls { cert_file: "./configs/certs/server.pem" diff --git a/server/configs/reload/tls_verify_test.conf b/server/configs/reload/tls_verify_test.conf index bdfe3313..7b7d340f 100644 --- a/server/configs/reload/tls_verify_test.conf +++ b/server/configs/reload/tls_verify_test.conf @@ -3,7 +3,6 @@ # Simple TLS config file listen: localhost:-1 -log_file: "/tmp/gnatsd.log" tls { cert_file: "./configs/certs/cert.new.pem" diff --git a/server/configs/reload/token_authentication_1.conf b/server/configs/reload/token_authentication_1.conf index 328a44b2..cde4e122 100644 --- a/server/configs/reload/token_authentication_1.conf +++ b/server/configs/reload/token_authentication_1.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { token: T0pS3cr3t diff --git a/server/configs/reload/token_authentication_2.conf b/server/configs/reload/token_authentication_2.conf index 49f29c1c..564add05 100644 --- a/server/configs/reload/token_authentication_2.conf +++ b/server/configs/reload/token_authentication_2.conf @@ -1,7 +1,6 @@ # Copyright 2017 Apcera Inc. All rights reserved. listen: localhost:-1 -log_file: "/tmp/gnatsd.log" authorization { token: passw0rd diff --git a/server/configs/test.conf b/server/configs/test.conf index 24ecba41..13c4865c 100644 --- a/server/configs/test.conf +++ b/server/configs/test.conf @@ -16,7 +16,6 @@ authorization { debug: false trace: true logtime: false -log_file: "/tmp/gnatsd.log" syslog: true remote_syslog: "udp://foo.com:33" diff --git a/server/opts_test.go b/server/opts_test.go index 241684a1..77aeb035 100644 --- a/server/opts_test.go +++ b/server/opts_test.go @@ -64,7 +64,6 @@ func TestConfigFile(t *testing.T) { Trace: true, Logtime: false, HTTPPort: 8222, - LogFile: "/tmp/gnatsd.log", PidFile: "/tmp/gnatsd.pid", ProfPort: 6543, Syslog: true, @@ -220,7 +219,6 @@ func TestMergeOverrides(t *testing.T) { Trace: true, Logtime: false, HTTPPort: DEFAULT_HTTP_PORT, - LogFile: "/tmp/gnatsd.log", PidFile: "/tmp/gnatsd.pid", ProfPort: 6789, Syslog: true, @@ -714,7 +712,6 @@ func TestOptionsClone(t *testing.T) { Trace: true, Logtime: false, HTTPPort: DEFAULT_HTTP_PORT, - LogFile: "/tmp/gnatsd.log", PidFile: "/tmp/gnatsd.pid", ProfPort: 6789, Syslog: true, diff --git a/server/reload_test.go b/server/reload_test.go index 54a07660..2a048ec8 100644 --- a/server/reload_test.go +++ b/server/reload_test.go @@ -44,7 +44,6 @@ func TestConfigReloadUnsupported(t *testing.T) { Debug: false, Trace: false, Logtime: false, - LogFile: "/tmp/gnatsd.log", MaxControlLine: 1024, MaxPayload: 1048576, MaxConn: 65536, @@ -102,7 +101,6 @@ func TestConfigReloadInvalidConfig(t *testing.T) { Debug: false, Trace: false, Logtime: false, - LogFile: "/tmp/gnatsd.log", MaxControlLine: 1024, MaxPayload: 1048576, MaxConn: 65536, @@ -160,7 +158,6 @@ func TestConfigReload(t *testing.T) { Debug: false, Trace: false, Logtime: false, - LogFile: "/tmp/gnatsd.log", MaxControlLine: 1024, MaxPayload: 1048576, MaxConn: 65536, @@ -202,9 +199,6 @@ func TestConfigReload(t *testing.T) { if !updated.Logtime { t.Fatal("Expected Logtime to be true") } - if updated.LogFile != "/tmp/gnatsd-2.log" { - t.Fatalf("LogFile is incorrect.\nexpected: /tmp/gnatsd-2.log\ngot: %s", updated.LogFile) - } if !updated.Syslog { t.Fatal("Expected Syslog to be true") } diff --git a/server/routes_test.go b/server/routes_test.go index 2a2862d5..68e14405 100644 --- a/server/routes_test.go +++ b/server/routes_test.go @@ -36,7 +36,6 @@ func TestRouteConfig(t *testing.T) { NoAdvertise: true, ConnectRetries: 2, }, - LogFile: "/tmp/nats_cluster_test.log", PidFile: "/tmp/nats_cluster_test.pid", } diff --git a/server/signal_test.go b/server/signal_test.go index a4cd0457..4757fa06 100644 --- a/server/signal_test.go +++ b/server/signal_test.go @@ -67,6 +67,7 @@ func TestSignalToReloadConfig(t *testing.T) { if err != nil { t.Fatalf("Error processing config file: %v", err) } + opts.NoLog = true s := RunServer(opts) defer s.Shutdown() From cae6b0b23a0f8c0fdb99a518144f6566c701c22e Mon Sep 17 00:00:00 2001 From: Ivan Kozlovic Date: Mon, 10 Jul 2017 16:33:19 -0600 Subject: [PATCH 2/2] Some fixes Use include so that we can have logfile and remote sys log tested on platforms other than Windows. Added some missing defer server.Shutdown() statements. --- server/configs/reload/reload.conf | 3 ++- server/reload_test.go | 29 +++++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/server/configs/reload/reload.conf b/server/configs/reload/reload.conf index d48cba7e..20c78bcf 100644 --- a/server/configs/reload/reload.conf +++ b/server/configs/reload/reload.conf @@ -1,11 +1,12 @@ # Copyright 2017 Apcera Inc. All rights reserved. +include 'platform.conf' + # logging options debug: true # enable on reload trace: true # enable on reload logtime: true # enable on reload syslog: true # enable on reload -remote_syslog: "udp://localhost:514" # change on reload pid_file: "/tmp/gnatsd.pid" # change on reload max_control_line: 512 # change on reload diff --git a/server/reload_test.go b/server/reload_test.go index 2a048ec8..6fff4535 100644 --- a/server/reload_test.go +++ b/server/reload_test.go @@ -4,10 +4,12 @@ package server import ( "fmt" + "io/ioutil" "net" "os" "path/filepath" "reflect" + "runtime" "strings" "testing" "time" @@ -33,6 +35,7 @@ func TestConfigReloadNoConfigFile(t *testing.T) { func TestConfigReloadUnsupported(t *testing.T) { server, opts, config := newServerWithSymlinkConfig(t, "tmp.conf", "./configs/reload/test.conf") defer os.Remove(config) + defer server.Shutdown() loaded := server.ConfigTime() @@ -90,6 +93,7 @@ func TestConfigReloadUnsupported(t *testing.T) { func TestConfigReloadInvalidConfig(t *testing.T) { server, opts, config := newServerWithSymlinkConfig(t, "tmp.conf", "./configs/reload/test.conf") defer os.Remove(config) + defer server.Shutdown() loaded := server.ConfigTime() @@ -145,8 +149,21 @@ func TestConfigReloadInvalidConfig(t *testing.T) { // Ensure Reload returns nil and the config is changed on success. func TestConfigReload(t *testing.T) { + var content []byte + if runtime.GOOS != "windows" { + content = []byte(` + remote_syslog: "udp://localhost:514" # change on reload + log_file: "/tmp/gnatsd-2.log" # change on reload + `) + } + platformConf := "platform.conf" + defer os.Remove(platformConf) + if err := ioutil.WriteFile(platformConf, content, 0666); err != nil { + t.Fatalf("Unable to write config file: %v", err) + } server, opts, config := newServerWithSymlinkConfig(t, "tmp.conf", "./configs/reload/test.conf") defer os.Remove(config) + defer server.Shutdown() loaded := server.ConfigTime() @@ -202,8 +219,13 @@ func TestConfigReload(t *testing.T) { if !updated.Syslog { t.Fatal("Expected Syslog to be true") } - if updated.RemoteSyslog != "udp://localhost:514" { - t.Fatalf("RemoteSyslog is incorrect.\nexpected: udp://localhost:514\ngot: %s", updated.RemoteSyslog) + if runtime.GOOS != "windows" { + if updated.RemoteSyslog != "udp://localhost:514" { + t.Fatalf("RemoteSyslog is incorrect.\nexpected: udp://localhost:514\ngot: %s", updated.RemoteSyslog) + } + if updated.LogFile != "/tmp/gnatsd-2.log" { + t.Fatalf("LogFile is incorrect.\nexpected: /tmp/gnatsd-2.log\ngot: %s", updated.LogFile) + } } if updated.TLSConfig == nil { t.Fatal("Expected TLSConfig to be non-nil") @@ -1086,6 +1108,7 @@ func TestConfigReloadChangePermissions(t *testing.T) { func TestConfigReloadClusterHostUnsupported(t *testing.T) { server, _, config := newServerWithSymlinkConfig(t, "tmp.conf", "./configs/reload/srv_a_1.conf") defer os.Remove(config) + defer server.Shutdown() // Attempt to change cluster listen host. if err := os.Remove(config); err != nil { @@ -1106,6 +1129,7 @@ func TestConfigReloadClusterHostUnsupported(t *testing.T) { func TestConfigReloadClusterPortUnsupported(t *testing.T) { server, _, config := newServerWithSymlinkConfig(t, "tmp.conf", "./configs/reload/srv_a_1.conf") defer os.Remove(config) + defer server.Shutdown() // Attempt to change cluster listen port. if err := os.Remove(config); err != nil { @@ -1319,6 +1343,7 @@ func TestConfigReloadDisableClusterAuthorization(t *testing.T) { func TestConfigReloadClusterRoutes(t *testing.T) { srvb, srvbOpts, srvbConfig := runServerWithSymlinkConfig(t, "tmp_b.conf", "./configs/reload/srv_b_1.conf") defer os.Remove(srvbConfig) + defer srvb.Shutdown() srva, srvaOpts, srvaConfig := runServerWithSymlinkConfig(t, "tmp_a.conf", "./configs/reload/srv_a_1.conf") defer os.Remove(srvaConfig)