From 5ac170a5c8af27bd5e76beb587a001d7648548d6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 24 Jul 2016 21:20:47 -0400 Subject: Fix crash when initial test graph does not exist --- tests/ingen_test.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/ingen_test.cpp b/tests/ingen_test.cpp index 71529454..1ebb897f 100644 --- a/tests/ingen_test.cpp +++ b/tests/ingen_test.cpp @@ -149,9 +149,15 @@ main(int argc, char** argv) } // Get start graph and commands file options - char* real_start_graph = realpath((const char*)load.get_body(), NULL); - const std::string start_graph = real_start_graph; - const std::string cmds_file_path = (const char*)execute.get_body(); + const char* load_path = (const char*)load.get_body(); + char* real_start_graph = realpath(load_path, NULL); + if (!real_start_graph) { + cerr << "error: initial graph '" << load_path << "' does not exist" << endl; + return EXIT_FAILURE; + } + + const std::string start_graph = real_start_graph; + const std::string cmds_file_path = (const char*)execute.get_body(); free(real_start_graph); // Load modules @@ -167,7 +173,7 @@ main(int argc, char** argv) // Load patch if (!world->parser()->parse_file(world, world->interface().get(), start_graph)) { cerr << "error: failed to load initial graph " << start_graph << endl; - return 1; + return EXIT_FAILURE; } while (world->engine()->pending_events()) { world->engine()->run(4096); @@ -252,5 +258,5 @@ main(int argc, char** argv) world->engine()->deactivate(); delete world; - return 0; + return EXIT_SUCCESS; } -- cgit v1.2.1