diff --git a/common/common.cpp b/common/common.cpp index d48aafe91..303d3ded5 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1843,7 +1843,7 @@ std::vector gpt_params_parser_init(gpt_params & params, llama_example [](gpt_params & params, const std::string & value) { params.model_alias = value; } - ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_MODEL")); + ).set_examples({LLAMA_EXAMPLE_SERVER})); add_opt(llama_arg( {"-m", "--model"}, "FNAME", ex == LLAMA_EXAMPLE_EXPORT_LORA diff --git a/tests/test-arg-parser.cpp b/tests/test-arg-parser.cpp index 714a98d66..9ad91acc0 100644 --- a/tests/test-arg-parser.cpp +++ b/tests/test-arg-parser.cpp @@ -16,7 +16,9 @@ int main(void) { try { auto options = gpt_params_parser_init(params, (enum llama_example)ex); std::unordered_set seen_args; + std::unordered_set seen_env_vars; for (const auto & opt : options) { + // check for args duplications for (const auto & arg : opt.args) { if (seen_args.find(arg) == seen_args.end()) { seen_args.insert(arg); @@ -25,6 +27,15 @@ int main(void) { exit(1); } } + // check for env var duplications + if (opt.env) { + if (seen_env_vars.find(opt.env) == seen_env_vars.end()) { + seen_env_vars.insert(opt.env); + } else { + fprintf(stderr, "test-arg-parser: found different handlers for the same env var: %s", opt.env); + exit(1); + } + } } } catch (std::exception & e) { printf("%s\n", e.what());