From 61b489ff9aa6950ae804a6dffe1bbd47de6de444 Mon Sep 17 00:00:00 2001 From: Alessandro Franceschi Date: Thu, 22 Mar 2018 17:23:08 +0100 Subject: [PATCH 1/4] Less verbos tp test output --- templates/tp.erb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/tp.erb b/templates/tp.erb index 7e71154..a7ad21a 100644 --- a/templates/tp.erb +++ b/templates/tp.erb @@ -12,6 +12,8 @@ else TINYDATA_DIR = '/etc/puppetlabs/code/modules/tinydata/data' end +command_redir = ' > /dev/null 2>&1' + TP_APPS = Dir.entries(TP_APP_DIR).reject { |f| File.directory?(f) } # Trap CTRL+C cleanly (in tp log) @@ -48,7 +50,7 @@ def tp_test(app) puts puts "### #{app} status" if File.exists?(TP_TEST_DIR + "/#{app}") - system(TP_TEST_DIR + "/#{app}") + system(TP_TEST_DIR + "/#{app}" + command_redir) result = $? if result == 0 puts "\e[32m# Test #{app}: OK \e[0m\n" @@ -59,13 +61,13 @@ def tp_test(app) else if settings['package_name'] and settings['package_name'] != "" Array(settings['package_name']).each do |s| - system("<%= @options['check_package_command'] %> " + s + " 2> /dev/null") + system("<%= @options['check_package_command'] %> " + s + " " + command_redir) end end if settings['service_name'] and settings['service_name'] != "" Array(settings['service_name']).each do |s| - system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>") + system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>" + command_redir) end result = $? if result == 0 From 6688bd8373ac276694680a420b7d8df8a87e0f07 Mon Sep 17 00:00:00 2001 From: Alessandro Franceschi Date: Thu, 22 Mar 2018 23:10:59 +0100 Subject: [PATCH 2/4] Fixes and cosmetics to tp test --- templates/tp.erb | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/templates/tp.erb b/templates/tp.erb index a7ad21a..5a31774 100644 --- a/templates/tp.erb +++ b/templates/tp.erb @@ -12,7 +12,7 @@ else TINYDATA_DIR = '/etc/puppetlabs/code/modules/tinydata/data' end -command_redir = ' > /dev/null 2>&1' +COMMAND_REDIR = ' > /dev/null 2>&1' TP_APPS = Dir.entries(TP_APP_DIR).reject { |f| File.directory?(f) } @@ -47,35 +47,48 @@ end def tp_test(app) begin settings = check_yaml app - puts - puts "### #{app} status" +# puts +# puts "### #{app} status" if File.exists?(TP_TEST_DIR + "/#{app}") - system(TP_TEST_DIR + "/#{app}" + command_redir) + system(TP_TEST_DIR + "/#{app}" + COMMAND_REDIR) result = $? if result == 0 - puts "\e[32m# Test #{app}: OK \e[0m\n" + puts "\e[32m- #{app}: test OK \e[0m\n" else - puts "\e[41m# Test #{app}: ERROR #\e[0m\n" + puts "\e[31m- #{app}: test ERROR \e[0m\n" end $error_exit = 1 if result != 0 else if settings['package_name'] and settings['package_name'] != "" Array(settings['package_name']).each do |s| - system("<%= @options['check_package_command'] %> " + s + " " + command_redir) + if settings['package_provider'] == 'gem' + system("gem list | grep " + s + " " + COMMAND_REDIR) + elsif settings['package_provider'] == 'pip' + system("pip list | grep " + s + " " + COMMAND_REDIR) + else + system("<%= @options['check_package_command'] %> " + s + " " + COMMAND_REDIR) + end + result = $? + if result == 0 + puts "\e[32m- #{app}: package #{s} OK \e[0m\n" + else + puts "\e[31m- #{app}: package #{s} FAILURE \e[0m\n" + end + $error_exit = 1 if result != 0 end end if settings['service_name'] and settings['service_name'] != "" Array(settings['service_name']).each do |s| - system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>" + command_redir) + system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>" + COMMAND_REDIR) + result = $? + if result == 0 + puts "\e[32m- #{app}: service #{s} OK \e[0m\n" + else + puts "\e[31m- #{app}: service #{s} FAILURE \e[0m\n" + end + $error_exit = 1 if result != 0 end - result = $? - if result == 0 - puts "\e[32m# Test #{app}: OK \e[0m\n" - else - puts "\e[41m# Test #{app}: ERROR #\e[0m\n" - end - $error_exit = 1 if result != 0 end end rescue @@ -96,7 +109,7 @@ when 'test' if $error_exit == 0 puts "\n\e[32m### ALL TESTS PASSED ###\e[0m\n" else - puts "\n\e[41m### SOME TESTS FAILED ###\e[0m\n" + puts "\n\e[31m### SOME TESTS FAILED ###\e[0m\n" end exit($error_exit) From 0ade520669dd8a33391a9515123815ed0a91d936 Mon Sep 17 00:00:00 2001 From: Alessandro Franceschi Date: Fri, 23 Mar 2018 11:08:16 +0100 Subject: [PATCH 3/4] More on tp test --- manifests/test.pp | 11 +++++--- templates/tp.erb | 64 ++++++++++++++++++++++++----------------------- 2 files changed, 41 insertions(+), 34 deletions(-) diff --git a/manifests/test.pp b/manifests/test.pp index fa5387b..75e7152 100644 --- a/manifests/test.pp +++ b/manifests/test.pp @@ -7,7 +7,10 @@ Variant[Boolean,String] $ensure = present, - String $template = 'tp/test/acceptance.erb', + Variant[Undef,String,Array] $source = undef, + Variant[Undef,String,Array] $template = undef, + Variant[Undef,String] $epp = undef, + Variant[Undef,String] $content = undef, Hash $options_hash = { }, Hash $settings_hash = { }, @@ -47,13 +50,15 @@ $array_service_name=any2array($settings['service_name']) $array_tcp_port=any2array($settings['tcp_port']) - if $template != '' { + $file_content = tp_content($content, $template, $epp) + if $file_content != '' { file { "${base_dir}/${title}": ensure => $ensure, mode => '0755', owner => 'root', group => 'root', - content => template($template), + content => $file_content, + source => $source, tag => 'tp_test', } } diff --git a/templates/tp.erb b/templates/tp.erb index 5a31774..fe70353 100644 --- a/templates/tp.erb +++ b/templates/tp.erb @@ -47,48 +47,50 @@ end def tp_test(app) begin settings = check_yaml app -# puts -# puts "### #{app} status" + + # Run custom test script if exists if File.exists?(TP_TEST_DIR + "/#{app}") system(TP_TEST_DIR + "/#{app}" + COMMAND_REDIR) result = $? if result == 0 - puts "\e[32m- #{app}: test OK \e[0m\n" + puts "- #{app}: \e[32mtest #{TP_TEST_DIR}/#{app} OK \e[0m\n" else - puts "\e[31m- #{app}: test ERROR \e[0m\n" + puts "- #{app}: \e[31mtest ERROR \e[0m\n" end $error_exit = 1 if result != 0 - else - if settings['package_name'] and settings['package_name'] != "" - Array(settings['package_name']).each do |s| - if settings['package_provider'] == 'gem' - system("gem list | grep " + s + " " + COMMAND_REDIR) - elsif settings['package_provider'] == 'pip' - system("pip list | grep " + s + " " + COMMAND_REDIR) - else - system("<%= @options['check_package_command'] %> " + s + " " + COMMAND_REDIR) - end - result = $? - if result == 0 - puts "\e[32m- #{app}: package #{s} OK \e[0m\n" - else - puts "\e[31m- #{app}: package #{s} FAILURE \e[0m\n" - end - $error_exit = 1 if result != 0 + end + + # Check package if defined + if settings['package_name'] and settings['package_name'] != "" + Array(settings['package_name']).each do |s| + if settings['package_provider'] == 'gem' + system("gem list | grep " + s + " " + COMMAND_REDIR) + elsif settings['package_provider'] == 'pip' + system("pip list | grep " + s + " " + COMMAND_REDIR) + else + system("<%= @options['check_package_command'] %> " + s + " " + COMMAND_REDIR) end + result = $? + if result == 0 + puts "- #{app}: \e[32mpackage #{s} OK \e[0m\n" + else + puts "- #{app}: \e[31mpackage #{s} FAILURE \e[0m\n" + end + $error_exit = 1 if result != 0 end + end - if settings['service_name'] and settings['service_name'] != "" - Array(settings['service_name']).each do |s| - system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>" + COMMAND_REDIR) - result = $? - if result == 0 - puts "\e[32m- #{app}: service #{s} OK \e[0m\n" - else - puts "\e[31m- #{app}: service #{s} FAILURE \e[0m\n" - end - $error_exit = 1 if result != 0 + # Check service if defined + if settings['service_name'] and settings['service_name'] != "" + Array(settings['service_name']).each do |s| + system("<%= @options['check_service_command'] %> " + s + " <%= @options['check_service_command_post'] %>" + COMMAND_REDIR) + result = $? + if result == 0 + puts "- #{app}: \e[32mservice #{s} OK \e[0m\n" + else + puts "- #{app}: \e[31mservice #{s} FAILURE \e[0m\n" end + $error_exit = 1 if result != 0 end end rescue From 0b465ba962fda3fe25bff76b97061e9be898ffc2 Mon Sep 17 00:00:00 2001 From: Alessandro Franceschi Date: Fri, 23 Mar 2018 15:05:47 +0100 Subject: [PATCH 4/4] minors --- templates/tp.erb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/tp.erb b/templates/tp.erb index fe70353..f2cdd28 100644 --- a/templates/tp.erb +++ b/templates/tp.erb @@ -53,9 +53,9 @@ def tp_test(app) system(TP_TEST_DIR + "/#{app}" + COMMAND_REDIR) result = $? if result == 0 - puts "- #{app}: \e[32mtest #{TP_TEST_DIR}/#{app} OK \e[0m\n" + puts "- #{app}: \e[32m#{TP_TEST_DIR}/#{app} OK \e[0m\n" else - puts "- #{app}: \e[31mtest ERROR \e[0m\n" + puts "- #{app}: \e[31m#{TP_TEST_DIR}/#{app} ERROR \e[0m\n" end $error_exit = 1 if result != 0 end @@ -74,7 +74,7 @@ def tp_test(app) if result == 0 puts "- #{app}: \e[32mpackage #{s} OK \e[0m\n" else - puts "- #{app}: \e[31mpackage #{s} FAILURE \e[0m\n" + puts "- #{app}: \e[31mpackage #{s} ERROR \e[0m\n" end $error_exit = 1 if result != 0 end @@ -88,7 +88,7 @@ def tp_test(app) if result == 0 puts "- #{app}: \e[32mservice #{s} OK \e[0m\n" else - puts "- #{app}: \e[31mservice #{s} FAILURE \e[0m\n" + puts "- #{app}: \e[31mservice #{s} ERROR \e[0m\n" end $error_exit = 1 if result != 0 end @@ -109,9 +109,9 @@ when 'test' app.send("tp_test", app) end if $error_exit == 0 - puts "\n\e[32m### ALL TESTS PASSED ###\e[0m\n" + puts "\n\e[32mAll tests OK\e[0m\n" else - puts "\n\e[31m### SOME TESTS FAILED ###\e[0m\n" + puts "\n\e[31mSome test in ERROR\e[0m\n" end exit($error_exit)