TEST(TestScriptFetcher, HandleSimple) { TemporaryDir tmp_dir; TemporaryFile cmdFile(tmp_dir.createFile()); cmdFile.writeString( "#!/bin/sh\n" "echo foo\n" "echo bar\n" ); PCHECK(chmod(cmdFile.getFilename().c_str(), 0700) == 0); Config config(dynamic::object ("resources", dynamic::object) ("nodes", dynamic::object ("levels", {"level1"}) ("node_source", "script") ("node_source_prefs", dynamic::object ("parent_level", "instance") ("script", cmdFile.getFilename().native()) ) ) ); Nodes nodes; NodesLoader::_fetchNodesImpl(config, &nodes); auto it = nodes.begin(); ASSERT_EQ(nodes.getInstance(), (*it).get()); ++it; ASSERT_NE(it, nodes.end()); ASSERT_EQ("foo", (*it)->name()); ASSERT_EQ(nodes.getInstance(), (*it)->parent()); ++it; ASSERT_NE(it, nodes.end()); ASSERT_EQ("bar", (*it)->name()); ASSERT_EQ(nodes.getInstance(), (*it)->parent()); ++it; ASSERT_EQ(it, nodes.end()); }