diff options
author | Mu Qiao <qiaomuf@gentoo.org> | 2012-03-27 19:53:09 +0800 |
---|---|---|
committer | Mu Qiao <qiaomuf@gentoo.org> | 2012-05-26 18:40:50 +0800 |
commit | 846f3e937c727996a114045f06f5a0c5ab660619 (patch) | |
tree | e283bb09c793ec1e919c78692b662c6d16133f47 | |
parent | Builtin: handle __export_funcs_var in inherit (diff) | |
download | libbash-846f3e937c727996a114045f06f5a0c5ab660619.tar.gz libbash-846f3e937c727996a114045f06f5a0c5ab660619.tar.bz2 libbash-846f3e937c727996a114045f06f5a0c5ab660619.zip |
Builtin: improve error output for some builtins
-rw-r--r-- | src/builtins/declare_builtin.cpp | 8 | ||||
-rw-r--r-- | src/builtins/shopt_builtin.cpp | 6 | ||||
-rw-r--r-- | src/builtins/source_builtin.cpp | 2 | ||||
-rw-r--r-- | src/builtins/tests/declare_tests.cpp | 8 | ||||
-rw-r--r-- | src/builtins/tests/shopt_tests.cpp | 6 |
5 files changed, 15 insertions, 15 deletions
diff --git a/src/builtins/declare_builtin.cpp b/src/builtins/declare_builtin.cpp index 1c85d61..db955c4 100644 --- a/src/builtins/declare_builtin.cpp +++ b/src/builtins/declare_builtin.cpp @@ -32,18 +32,18 @@ int declare_builtin::exec(const std::vector<std::string>& bash_args) { if(bash_args.empty()) { - throw libbash::illegal_argument_exception("Arguments required for declare"); + throw libbash::illegal_argument_exception("declare: arguments required"); return 1; } else if(bash_args[0].size() != 2) { - throw libbash::unsupported_exception("Multiple arguments are not supported"); + throw libbash::unsupported_exception("declare: multiple arguments are not supported"); return 1; } if(bash_args[0][0] != '-' && bash_args[0][0] != '+') { - throw libbash::illegal_argument_exception("Invalid option for declare builtin"); + throw libbash::illegal_argument_exception("declare: invalid option"); return 1; } @@ -108,7 +108,7 @@ int declare_builtin::exec(const std::vector<std::string>& bash_args) throw libbash::unsupported_exception("declare " + bash_args[0] + " is not supported yet"); return 1; default: - throw libbash::illegal_argument_exception("Unrecognized option for declare: " + bash_args[0]); + throw libbash::illegal_argument_exception("declare: unrecognized option: " + bash_args[0]); return 1; } } diff --git a/src/builtins/shopt_builtin.cpp b/src/builtins/shopt_builtin.cpp index fd9e581..1e3da70 100644 --- a/src/builtins/shopt_builtin.cpp +++ b/src/builtins/shopt_builtin.cpp @@ -42,9 +42,9 @@ void shopt_builtin::print_opts() const int shopt_builtin::exec(const std::vector<std::string>& bash_args) { if(bash_args.empty()) - throw libbash::illegal_argument_exception("Arguments required for shopt"); + throw libbash::illegal_argument_exception("shopt: arguments required"); else if(bash_args[0].size() != 2) - throw libbash::unsupported_exception("Multiple arguments are not supported"); + throw libbash::unsupported_exception("shopt: multiple arguments are not supported"); switch(bash_args[0][1]) { @@ -61,7 +61,7 @@ int shopt_builtin::exec(const std::vector<std::string>& bash_args) case 'o': throw libbash::unsupported_exception("shopt " + bash_args[0] + " is not supported yet"); default: - throw libbash::illegal_argument_exception("Unrecognized option for shopt: " + bash_args[0]); + throw libbash::illegal_argument_exception("shopt: unrecognized option: " + bash_args[0]); } return 0; diff --git a/src/builtins/source_builtin.cpp b/src/builtins/source_builtin.cpp index 91f3397..7af4f91 100644 --- a/src/builtins/source_builtin.cpp +++ b/src/builtins/source_builtin.cpp @@ -65,7 +65,7 @@ namespace { int source_builtin::exec(const std::vector<std::string>& bash_args) { if(bash_args.size() == 0) - throw libbash::illegal_argument_exception("should provide one argument for source builtin"); + throw libbash::illegal_argument_exception("source: argument required"); const std::string& original_path = _walker.resolve<std::string>("0"); _walker.define("0", bash_args.front(), true); diff --git a/src/builtins/tests/declare_tests.cpp b/src/builtins/tests/declare_tests.cpp index 686c816..19347ac 100644 --- a/src/builtins/tests/declare_tests.cpp +++ b/src/builtins/tests/declare_tests.cpp @@ -54,10 +54,10 @@ namespace TEST(declare_builtin_test, invalid_arguments) { - test_declare<libbash::illegal_argument_exception>("Arguments required for declare", {}); - test_declare<libbash::unsupported_exception>("Multiple arguments are not supported", {"-ap"}); - test_declare<libbash::illegal_argument_exception>("Invalid option for declare builtin", {"_a"}); - test_declare<libbash::illegal_argument_exception>("Unrecognized option for declare: -L", {"-L"}); + test_declare<libbash::illegal_argument_exception>("declare: arguments required", {}); + test_declare<libbash::unsupported_exception>("declare: multiple arguments are not supported", {"-ap"}); + test_declare<libbash::illegal_argument_exception>("declare: invalid option", {"_a"}); + test_declare<libbash::illegal_argument_exception>("declare: unrecognized option: -L", {"-L"}); } TEST(declare_builtin_test, _F) diff --git a/src/builtins/tests/shopt_tests.cpp b/src/builtins/tests/shopt_tests.cpp index dc43dee..af2915b 100644 --- a/src/builtins/tests/shopt_tests.cpp +++ b/src/builtins/tests/shopt_tests.cpp @@ -69,8 +69,8 @@ TEST(shopt_builtin_test, enable_extglob) TEST(shopt_builtin_test, invalid_argument) { - test_shopt_builtin<libbash::illegal_argument_exception>("Arguments required for shopt", {}); - test_shopt_builtin<libbash::unsupported_exception>("Multiple arguments are not supported", {"-so"}); + test_shopt_builtin<libbash::illegal_argument_exception>("shopt: arguments required", {}); + test_shopt_builtin<libbash::unsupported_exception>("shopt: multiple arguments are not supported", {"-so"}); test_shopt_builtin<libbash::unsupported_exception>("shopt -q is not supported yet", {"-q"}); - test_shopt_builtin<libbash::illegal_argument_exception>("Unrecognized option for shopt: -d", {"-d"}); + test_shopt_builtin<libbash::illegal_argument_exception>("shopt: unrecognized option: -d", {"-d"}); } |