From 2a9180d2aead4f97c04ce995e5a871e4c7d48f4f Mon Sep 17 00:00:00 2001 From: Aaron Jensen Date: Mon, 7 Nov 2022 09:53:24 -0500 Subject: [PATCH] Executables exit with script's exit code on failure --- message-db.gemspec | 1 + script_init.rb | 11 +++++++++++ scripts/mdb-clear-messages | 6 ++---- scripts/mdb-create-db | 6 ++---- scripts/mdb-delete-db | 6 ++---- scripts/mdb-install-functions | 6 ++---- scripts/mdb-install-indexes | 6 ++---- scripts/mdb-install-privileges | 6 ++---- scripts/mdb-install-views | 6 ++---- scripts/mdb-print-category-type-summary | 6 ++---- scripts/mdb-print-message-store-version | 6 ++---- scripts/mdb-print-messages | 6 ++---- scripts/mdb-print-stream-summary | 6 ++---- scripts/mdb-print-stream-type-summary | 6 ++---- scripts/mdb-print-type-category-summary | 6 ++---- scripts/mdb-print-type-stream-summary | 6 ++---- scripts/mdb-print-type-summary | 6 ++---- scripts/mdb-recreate-db | 10 +++------- scripts/mdb-write-test-message | 6 ++---- 19 files changed, 47 insertions(+), 71 deletions(-) create mode 100644 script_init.rb diff --git a/message-db.gemspec b/message-db.gemspec index ea14186..3969fe1 100644 --- a/message-db.gemspec +++ b/message-db.gemspec @@ -11,6 +11,7 @@ Gem::Specification.new do |s| s.licenses = ['MIT'] s.files = Dir.glob('{database}/**/*') + s.files << 'script_init.rb' s.executables = Dir.glob('scripts/mdb-*').map(&File.method(:basename)) s.bindir = 'scripts' end diff --git a/script_init.rb b/script_init.rb new file mode 100644 index 0000000..85b2416 --- /dev/null +++ b/script_init.rb @@ -0,0 +1,11 @@ +def run_database_script(script_filename) + root = File.expand_path 'database', __dir__ + script_filepath = File.join root, script_filename + + success = system(script_filepath) + + if not success + exit_status = $?.exitstatus + exit exit_status + end +end diff --git a/scripts/mdb-clear-messages b/scripts/mdb-clear-messages index 64a529b..75047f3 100755 --- a/scripts/mdb-clear-messages +++ b/scripts/mdb-clear-messages @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'clear-messages.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'clear-messages.sh' diff --git a/scripts/mdb-create-db b/scripts/mdb-create-db index 970a497..6597c52 100755 --- a/scripts/mdb-create-db +++ b/scripts/mdb-create-db @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'install.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'install.sh' diff --git a/scripts/mdb-delete-db b/scripts/mdb-delete-db index 1177be8..c635809 100755 --- a/scripts/mdb-delete-db +++ b/scripts/mdb-delete-db @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'uninstall.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'uninstall.sh' diff --git a/scripts/mdb-install-functions b/scripts/mdb-install-functions index db0628b..e903629 100755 --- a/scripts/mdb-install-functions +++ b/scripts/mdb-install-functions @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'install-functions.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'install-functions.sh' diff --git a/scripts/mdb-install-indexes b/scripts/mdb-install-indexes index 75f1fba..7d39b97 100755 --- a/scripts/mdb-install-indexes +++ b/scripts/mdb-install-indexes @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'install-indexes.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'install-indexes.sh' diff --git a/scripts/mdb-install-privileges b/scripts/mdb-install-privileges index 5717940..daf5d79 100755 --- a/scripts/mdb-install-privileges +++ b/scripts/mdb-install-privileges @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'install-privileges.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'install-privileges.sh' diff --git a/scripts/mdb-install-views b/scripts/mdb-install-views index 32641d0..c737e51 100755 --- a/scripts/mdb-install-views +++ b/scripts/mdb-install-views @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'install-views.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'install-views.sh' diff --git a/scripts/mdb-print-category-type-summary b/scripts/mdb-print-category-type-summary index b2db9f4..1fd7840 100755 --- a/scripts/mdb-print-category-type-summary +++ b/scripts/mdb-print-category-type-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-category-type-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-category-type-summary.sh' diff --git a/scripts/mdb-print-message-store-version b/scripts/mdb-print-message-store-version index 451d544..5313101 100755 --- a/scripts/mdb-print-message-store-version +++ b/scripts/mdb-print-message-store-version @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-message-store-version.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-message-store-version.sh' diff --git a/scripts/mdb-print-messages b/scripts/mdb-print-messages index 17e5924..73b1ab6 100755 --- a/scripts/mdb-print-messages +++ b/scripts/mdb-print-messages @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-messages.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-messages.sh' diff --git a/scripts/mdb-print-stream-summary b/scripts/mdb-print-stream-summary index 97ae027..8c7a6d2 100755 --- a/scripts/mdb-print-stream-summary +++ b/scripts/mdb-print-stream-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-stream-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-stream-summary.sh' diff --git a/scripts/mdb-print-stream-type-summary b/scripts/mdb-print-stream-type-summary index 65f7467..26b60d7 100755 --- a/scripts/mdb-print-stream-type-summary +++ b/scripts/mdb-print-stream-type-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-stream-type-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-stream-type-summary.sh' diff --git a/scripts/mdb-print-type-category-summary b/scripts/mdb-print-type-category-summary index f3e3386..e500dfa 100755 --- a/scripts/mdb-print-type-category-summary +++ b/scripts/mdb-print-type-category-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-type-category-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-type-category-summary.sh' diff --git a/scripts/mdb-print-type-stream-summary b/scripts/mdb-print-type-stream-summary index 9fbcfff..1979b03 100755 --- a/scripts/mdb-print-type-stream-summary +++ b/scripts/mdb-print-type-stream-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-type-stream-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-type-stream-summary.sh' diff --git a/scripts/mdb-print-type-summary b/scripts/mdb-print-type-summary index 6a87d7b..2c38b75 100755 --- a/scripts/mdb-print-type-summary +++ b/scripts/mdb-print-type-summary @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'print-type-summary.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'print-type-summary.sh' diff --git a/scripts/mdb-recreate-db b/scripts/mdb-recreate-db index e276fa7..a518972 100755 --- a/scripts/mdb-recreate-db +++ b/scripts/mdb-recreate-db @@ -1,11 +1,7 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ +require_relative '../script_init' -script_filename = 'uninstall.sh' -script_filepath = File.join root, script_filename -system script_filepath +run_database_script 'uninstall.sh' -script_filename = 'install.sh' -script_filepath = File.join root, script_filename -system script_filepath +run_database_script 'install.sh' diff --git a/scripts/mdb-write-test-message b/scripts/mdb-write-test-message index 3c8612d..75047f3 100755 --- a/scripts/mdb-write-test-message +++ b/scripts/mdb-write-test-message @@ -1,7 +1,5 @@ #!/usr/bin/env ruby -root = File.expand_path '../database', __dir__ -script_filename = 'write-test-message.sh' -script_filepath = File.join root, script_filename +require_relative '../script_init' -system script_filepath +run_database_script 'clear-messages.sh'