solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

commit 45c22aac382e7f3c9b57a2ff9009a72579d092ce
parent 72a8dd5280ccc1ff2c312003dae8bcd1cce93974
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon, 20 Mar 2017 15:15:26 +0100

Make exclusive the -p, -r and -g options

Diffstat:
Msrc/solstice_args.c | 14+++++++++++++-
Msrc/test_solstice_args.c | 18++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/solstice_args.c b/src/solstice_args.c @@ -551,7 +551,19 @@ solstice_args_init(struct solstice_args* args, const int argc, char** argv) } if(args->dump_format != SOLSTICE_ARGS_DUMP_NONE && args->rendering) { - fprintf(stderr, "The '-g' and '-r' options are exclusive\n"); + fprintf(stderr, "The '-g' and '-r' options are exclusives.\n"); + res = RES_BAD_ARG; + goto error; + } + + if(args->dump_format != SOLSTICE_ARGS_DUMP_NONE && args->dump_paths) { + fprintf(stderr, "The '-g' and '-p' options are exclusives.\n"); + res = RES_BAD_ARG; + goto error; + } + + if(args->dump_paths && args->rendering) { + fprintf(stderr, "The '-p' and '-r' options are exclusives.\n"); res = RES_BAD_ARG; goto error; } diff --git a/src/test_solstice_args.c b/src/test_solstice_args.c @@ -565,6 +565,14 @@ test_dump(void) cmd = cmd_create(0, "test", "-g", "format=obj:split", NULL); CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); cmd_delete(cmd); + + cmd = cmd_create(0, "test", "-g", "format=obj", "-r", "up=0,0,1", NULL); + CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); + cmd_delete(cmd); + + cmd = cmd_create(0, "test", "-g", "format=obj", "-p", "default", NULL); + CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); + cmd_delete(cmd); } static void @@ -650,6 +658,16 @@ test_dump_paths(void) cmd = cmd_create(0, "test", "-D", "0,90", "-p", NULL); CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); cmd_delete(cmd); + + cmd = cmd_create(0, "test", "-D", "0,90", "-p", "default:srlen=1:irlen=2:", + "-r", "up=0,0,1", NULL); + CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); + cmd_delete(cmd); + + cmd = cmd_create(0, "test", "-D", "0,90", "-p", "default:srlen=1:irlen=2:", + "-g", "format=obj", NULL); + CHECK(solstice_args_init(&args, cmd_size(cmd), cmd), RES_BAD_ARG); + cmd_delete(cmd); } int