* Report evaluation errors per job, and don't bail out if a job fails
[?]
Mar 7, 2009, 2:06 PM
7YCFGMZBCWDOOO3DHSJ3ZWPUWFMEO6OLQGDZWLULAPER3YZOYUJACDependencies
- [2]
KD5237CU* eval-jobs now efficiently evaluates all Hydra jobs from a - [3]
4LWGZL33 - [4]
4N5APGRG* Start of a helper tool to evaluate job expressions efficiently.
Change contents
- edit in src/c/eval-jobs.cc at line 65
}static void showArgsUsed(XMLWriter & doc, const ATermMap & argsUsed){foreach (ATermMap::const_iterator, i, argsUsed) {XMLAttrs xmlAttrs2;xmlAttrs2["name"] = aterm2String(i->key);xmlAttrs2["value"] = showValue(i->value);doc.writeEmptyElement("arg", xmlAttrs2);} - replacement in src/c/eval-jobs.cc at line 79
static void findJobs(EvalState & state, XMLWriter & doc,static void findJobsWrapped(EvalState & state, XMLWriter & doc, - replacement in src/c/eval-jobs.cc at line 113
foreach (ATermMap::const_iterator, i, argsUsed) {XMLAttrs xmlAttrs2;xmlAttrs2["name"] = aterm2String(i->key);xmlAttrs2["value"] = showValue(i->value);doc.writeEmptyElement("arg", xmlAttrs2);}showArgsUsed(doc, argsUsed); - replacement in src/c/eval-jobs.cc at line 128
printMsg(lvlError, format("unknown value: %1%") % showValue(e));throw TypeError(format("unknown value: %1%") % showValue(e));}static void findJobs(EvalState & state, XMLWriter & doc,const ATermMap & argsUsed, const ATermMap & argsLeft,Expr e, const string & attrPath){try {findJobsWrapped(state, doc, argsUsed, argsLeft, e, attrPath);} catch (Error & e) {XMLAttrs xmlAttrs;xmlAttrs["location"] = attrPath;xmlAttrs["msg"] = e.msg();XMLOpenElement _(doc, "error", xmlAttrs);showArgsUsed(doc, argsUsed);} - replacement in src/c/eval-jobs.cc at line 156
if (arg == "--arg") {if (arg == "--arg" || arg == "--argstr") { - replacement in src/c/eval-jobs.cc at line 165
Expr e = parseExprFromString(state, value, absPath("."));Expr e = arg == "--arg"? parseExprFromString(state, value, absPath(".")): makeStr(value);