@@ -45,7 +45,11 @@ teardown() {
4545
4646@test " $SUITE : error if nonexistent module specified" {
4747 run " $TEST_GO_SCRIPT " ' bogus-test-module'
48- assert_failure ' ERROR: Unknown module: bogus-test-module'
48+
49+ local expected=(' ERROR: Module bogus-test-module not found at:'
50+ " $TEST_GO_SCRIPT :3 main" )
51+ local IFS=$' \n '
52+ assert_failure " ${expected[*]} "
4953}
5054
5155@test " $SUITE : import modules successfully" {
@@ -73,12 +77,33 @@ teardown() {
7377}
7478
7579@test " $SUITE : error if module contains errors" {
76- echo " This is a totally broken module." >> " ${TEST_MODULES[1]} "
80+ local module=" ${IMPORTS[1]} "
81+ local module_file=" ${TEST_MODULES[2]} "
82+
83+ echo " This is a totally broken module." > " $module_file "
84+ run " $TEST_GO_SCRIPT " " ${IMPORTS[@]} "
85+
86+ local expected=(" ${IMPORTS[0]##*/ } loaded"
87+ " $module_file : line 1: This: command not found"
88+ " ERROR: Failed to import $module module from $module_file at:"
89+ " $TEST_GO_SCRIPT :3 main" )
90+ local IFS=$' \n '
91+ assert_failure " ${expected[*]} "
92+ }
93+
94+ @test " $SUITE : error if module returns an error" {
95+ local module=" ${IMPORTS[1]} "
96+ local module_file=" ${TEST_MODULES[2]} "
97+ local error_message=' These violent delights have violent ends...'
98+
99+ echo " echo '$error_message ' >&2" > " $module_file "
100+ echo " return 1" >> " $module_file "
77101 run " $TEST_GO_SCRIPT " " ${IMPORTS[@]} "
78102
79103 local expected=(" ${IMPORTS[0]##*/ } loaded"
80- " ${TEST_MODULES[1]} : line 2: This: command not found"
81- " ERROR: Module import failed for: ${TEST_MODULES[1]} " )
104+ " $error_message "
105+ " ERROR: Failed to import $module module from $module_file at:"
106+ " $TEST_GO_SCRIPT :3 main" )
82107 local IFS=$' \n '
83108 assert_failure " ${expected[*]} "
84109}
0 commit comments