├── CONTRIBUTING.md ├── LICENSE ├── example-bash_unit ├── .gitignore ├── install.sh ├── readme.md ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh ├── test.sh └── test │ ├── assertion_showcase.sh │ ├── e2e_test.sh │ ├── mocks │ └── date │ ├── setup_and_teardown.sh │ ├── unit_test.sh │ └── util │ └── customasserts.sh ├── example-bashunit ├── .env ├── .gitignore ├── README.md ├── install.sh ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh ├── test.sh └── tests │ └── unit_test.sh ├── example-bats ├── .gitignore ├── install.sh ├── readme.md ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh ├── test.sh └── test │ ├── assertion_showcase.bats │ ├── e2e_test.bats │ ├── mocks │ └── date │ ├── setup_and_teardown.bats │ ├── unit_test.bats │ ├── unit_test_strict.bats │ └── util │ └── customasserts.bash ├── example-shellspec ├── .gitignore ├── .shellspec ├── install.sh ├── readme.md ├── spec │ ├── assertion_showcase_spec.sh │ ├── e2e_test_spec.sh │ ├── mocks │ │ └── date │ ├── setup_and_teardown_spec.sh │ ├── spec_helper.sh │ ├── support │ │ └── custom_matcher.sh │ └── unit_test_spec.sh ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh └── test.sh ├── example-shpec ├── .gitignore ├── install.sh ├── readme.md ├── shpec │ ├── e2e_test_shpec.sh │ ├── matchers │ │ └── ice_price.sh │ ├── mocks │ │ └── date │ ├── showcase_shpec.sh │ └── unit_test_shpec.sh ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh └── test.sh ├── example-shunit2 ├── .gitignore ├── install.sh ├── readme.md ├── src │ ├── file-report.sh │ ├── ice_cream_price.sh │ └── myfun.sh ├── test.sh └── test │ ├── assertion_showcase.sh │ ├── e2e_test.sh │ ├── mocks │ └── date │ ├── setup_and_teardown.sh │ └── unit_test.sh ├── mocking ├── src │ └── greeting.sh └── test │ ├── mocks │ └── date │ ├── test-alias-date.sh │ ├── test-alias-own.sh │ ├── test-export-date.sh │ ├── test-export-own.sh │ └── test-pathoverride-date.sh ├── readme.md ├── stdio ├── src │ └── interactive_greeter.sh └── test │ └── test_stdio.sh └── strictmode ├── readme.md ├── src ├── using_e.sh ├── using_no_e.sh ├── using_no_u.sh └── using_u.sh └── test ├── unit_test_script_using_e_o_pipefail.sh └── unit_test_script_using_u.sh /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/LICENSE -------------------------------------------------------------------------------- /example-bash_unit/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | build 3 | -------------------------------------------------------------------------------- /example-bash_unit/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/install.sh -------------------------------------------------------------------------------- /example-bash_unit/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/readme.md -------------------------------------------------------------------------------- /example-bash_unit/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/src/file-report.sh -------------------------------------------------------------------------------- /example-bash_unit/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-bash_unit/src/myfun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/src/myfun.sh -------------------------------------------------------------------------------- /example-bash_unit/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test.sh -------------------------------------------------------------------------------- /example-bash_unit/test/assertion_showcase.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test/assertion_showcase.sh -------------------------------------------------------------------------------- /example-bash_unit/test/e2e_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test/e2e_test.sh -------------------------------------------------------------------------------- /example-bash_unit/test/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "${DATE_MOCK_REPLY}" 4 | 5 | -------------------------------------------------------------------------------- /example-bash_unit/test/setup_and_teardown.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test/setup_and_teardown.sh -------------------------------------------------------------------------------- /example-bash_unit/test/unit_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test/unit_test.sh -------------------------------------------------------------------------------- /example-bash_unit/test/util/customasserts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bash_unit/test/util/customasserts.sh -------------------------------------------------------------------------------- /example-bashunit/.env: -------------------------------------------------------------------------------- 1 | DEFAULT_PATH=tests 2 | -------------------------------------------------------------------------------- /example-bashunit/.gitignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | -------------------------------------------------------------------------------- /example-bashunit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/README.md -------------------------------------------------------------------------------- /example-bashunit/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/install.sh -------------------------------------------------------------------------------- /example-bashunit/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/src/file-report.sh -------------------------------------------------------------------------------- /example-bashunit/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-bashunit/src/myfun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function myfun() { 4 | echo "Hello!" 5 | } 6 | -------------------------------------------------------------------------------- /example-bashunit/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/test.sh -------------------------------------------------------------------------------- /example-bashunit/tests/unit_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bashunit/tests/unit_test.sh -------------------------------------------------------------------------------- /example-bats/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | build 3 | -------------------------------------------------------------------------------- /example-bats/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/install.sh -------------------------------------------------------------------------------- /example-bats/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/readme.md -------------------------------------------------------------------------------- /example-bats/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/src/file-report.sh -------------------------------------------------------------------------------- /example-bats/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-bats/src/myfun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/src/myfun.sh -------------------------------------------------------------------------------- /example-bats/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test.sh -------------------------------------------------------------------------------- /example-bats/test/assertion_showcase.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/assertion_showcase.bats -------------------------------------------------------------------------------- /example-bats/test/e2e_test.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/e2e_test.bats -------------------------------------------------------------------------------- /example-bats/test/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "${DATE_MOCK_REPLY}" 4 | 5 | -------------------------------------------------------------------------------- /example-bats/test/setup_and_teardown.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/setup_and_teardown.bats -------------------------------------------------------------------------------- /example-bats/test/unit_test.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/unit_test.bats -------------------------------------------------------------------------------- /example-bats/test/unit_test_strict.bats: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/unit_test_strict.bats -------------------------------------------------------------------------------- /example-bats/test/util/customasserts.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-bats/test/util/customasserts.bash -------------------------------------------------------------------------------- /example-shellspec/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | build 3 | -------------------------------------------------------------------------------- /example-shellspec/.shellspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/.shellspec -------------------------------------------------------------------------------- /example-shellspec/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/install.sh -------------------------------------------------------------------------------- /example-shellspec/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/readme.md -------------------------------------------------------------------------------- /example-shellspec/spec/assertion_showcase_spec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/assertion_showcase_spec.sh -------------------------------------------------------------------------------- /example-shellspec/spec/e2e_test_spec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/e2e_test_spec.sh -------------------------------------------------------------------------------- /example-shellspec/spec/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "${DATE_MOCK_REPLY}" 4 | 5 | -------------------------------------------------------------------------------- /example-shellspec/spec/setup_and_teardown_spec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/setup_and_teardown_spec.sh -------------------------------------------------------------------------------- /example-shellspec/spec/spec_helper.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/spec_helper.sh -------------------------------------------------------------------------------- /example-shellspec/spec/support/custom_matcher.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/support/custom_matcher.sh -------------------------------------------------------------------------------- /example-shellspec/spec/unit_test_spec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/spec/unit_test_spec.sh -------------------------------------------------------------------------------- /example-shellspec/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/src/file-report.sh -------------------------------------------------------------------------------- /example-shellspec/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-shellspec/src/myfun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/src/myfun.sh -------------------------------------------------------------------------------- /example-shellspec/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shellspec/test.sh -------------------------------------------------------------------------------- /example-shpec/.gitignore: -------------------------------------------------------------------------------- 1 | lib -------------------------------------------------------------------------------- /example-shpec/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/install.sh -------------------------------------------------------------------------------- /example-shpec/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/readme.md -------------------------------------------------------------------------------- /example-shpec/shpec/e2e_test_shpec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/shpec/e2e_test_shpec.sh -------------------------------------------------------------------------------- /example-shpec/shpec/matchers/ice_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/shpec/matchers/ice_price.sh -------------------------------------------------------------------------------- /example-shpec/shpec/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "${DATE_MOCK_REPLY}" 4 | 5 | -------------------------------------------------------------------------------- /example-shpec/shpec/showcase_shpec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/shpec/showcase_shpec.sh -------------------------------------------------------------------------------- /example-shpec/shpec/unit_test_shpec.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/shpec/unit_test_shpec.sh -------------------------------------------------------------------------------- /example-shpec/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/src/file-report.sh -------------------------------------------------------------------------------- /example-shpec/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-shpec/src/myfun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/src/myfun.sh -------------------------------------------------------------------------------- /example-shpec/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shpec/test.sh -------------------------------------------------------------------------------- /example-shunit2/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | build 3 | -------------------------------------------------------------------------------- /example-shunit2/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/install.sh -------------------------------------------------------------------------------- /example-shunit2/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/readme.md -------------------------------------------------------------------------------- /example-shunit2/src/file-report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/src/file-report.sh -------------------------------------------------------------------------------- /example-shunit2/src/ice_cream_price.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/src/ice_cream_price.sh -------------------------------------------------------------------------------- /example-shunit2/src/myfun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/src/myfun.sh -------------------------------------------------------------------------------- /example-shunit2/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/test.sh -------------------------------------------------------------------------------- /example-shunit2/test/assertion_showcase.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/test/assertion_showcase.sh -------------------------------------------------------------------------------- /example-shunit2/test/e2e_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/test/e2e_test.sh -------------------------------------------------------------------------------- /example-shunit2/test/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "${DATE_MOCK_REPLY}" 4 | 5 | -------------------------------------------------------------------------------- /example-shunit2/test/setup_and_teardown.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/test/setup_and_teardown.sh -------------------------------------------------------------------------------- /example-shunit2/test/unit_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/example-shunit2/test/unit_test.sh -------------------------------------------------------------------------------- /mocking/src/greeting.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/src/greeting.sh -------------------------------------------------------------------------------- /mocking/test/mocks/date: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Friday" 4 | 5 | -------------------------------------------------------------------------------- /mocking/test/test-alias-date.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/test/test-alias-date.sh -------------------------------------------------------------------------------- /mocking/test/test-alias-own.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/test/test-alias-own.sh -------------------------------------------------------------------------------- /mocking/test/test-export-date.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/test/test-export-date.sh -------------------------------------------------------------------------------- /mocking/test/test-export-own.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/test/test-export-own.sh -------------------------------------------------------------------------------- /mocking/test/test-pathoverride-date.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/mocking/test/test-pathoverride-date.sh -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/readme.md -------------------------------------------------------------------------------- /stdio/src/interactive_greeter.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/stdio/src/interactive_greeter.sh -------------------------------------------------------------------------------- /stdio/test/test_stdio.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/stdio/test/test_stdio.sh -------------------------------------------------------------------------------- /strictmode/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/readme.md -------------------------------------------------------------------------------- /strictmode/src/using_e.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/src/using_e.sh -------------------------------------------------------------------------------- /strictmode/src/using_no_e.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/src/using_no_e.sh -------------------------------------------------------------------------------- /strictmode/src/using_no_u.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/src/using_no_u.sh -------------------------------------------------------------------------------- /strictmode/src/using_u.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/src/using_u.sh -------------------------------------------------------------------------------- /strictmode/test/unit_test_script_using_e_o_pipefail.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/test/unit_test_script_using_e_o_pipefail.sh -------------------------------------------------------------------------------- /strictmode/test/unit_test_script_using_u.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dodie/testing-in-bash/HEAD/strictmode/test/unit_test_script_using_u.sh --------------------------------------------------------------------------------