From 2b27c68c84b46a763e9ae913641c50ff2520553a Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Fri, 21 Aug 2020 11:59:11 +0100 Subject: [PATCH 01/18] add exec_wrapper function --- lib/codeql.js | 3 ++- lib/codeql.js.map | 2 +- lib/exec_wrapper.js | 41 +++++++++++++++++++++++++++++++++++++++++ lib/exec_wrapper.js.map | 1 + src/codeql.ts | 3 ++- src/exec_wrapper.ts | 39 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 lib/exec_wrapper.js create mode 100644 lib/exec_wrapper.js.map create mode 100644 src/exec_wrapper.ts diff --git a/lib/codeql.js b/lib/codeql.js index 3c7cf10c8..ac970b209 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -22,6 +22,7 @@ const globalutil = __importStar(require("util")); const v4_1 = __importDefault(require("uuid/v4")); const api = __importStar(require("./api-client")); const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool! +const exec_wrapper_1 = require("./exec_wrapper"); const util = __importStar(require("./util")); /** * Stores the CodeQL object, and is populated by `setupCodeQL` or `getCodeQL`. @@ -298,7 +299,7 @@ function getCodeQLForCmd(cmd) { ]); }, finalizeDatabase: async function (databasePath) { - await exec.exec(cmd, [ + await exec_wrapper_1.exec_wrapper(cmd, [ 'database', 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 9856e6957..2f12f0571 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsC;AACtC,oDAAsC;AACtC,2DAA6C;AAE7C,+DAAiD;AACjD,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,+CAAiC;AACjC,iDAAmC;AACnC,iDAA6B;AAE7B,kDAAoC;AACpC,0DAA4C,CAAC,2CAA2C;AACxF,iDAA8C;AAE9C,6CAA+B;AA8E/B;;;GAGG;AACH,IAAI,YAAY,GAAuB,SAAS,CAAC;AAEjD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC;AACrD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAEhE,SAAS,yBAAyB;IAChC,iDAAiD;IACjD,+EAA+E;IAC/E,+GAA+G;IAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvE,kFAAkF;IAClF,kFAAkF;IAClF,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC9E,OAAO,gCAAgC,CAAC;KACzC;IACD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,uBAAuB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,wBAAwB,GAAG;QAC/B,yCAAyC;QACzC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,sBAAsB,CAAC;QAClD,kDAAkD;QAClD,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,gCAAgC,CAAC;QAC5D,wCAAwC;QACxC,CAAC,IAAI,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC/D,CAAC;IACF,oCAAoC;IACpC,gHAAgH;IAChH,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjH,KAAK,IAAI,cAAc,IAAI,qBAAqB,EAAE;QAChD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC;QAC1C,8GAA8G;QAC9G,IAAI,MAAM,KAAK,IAAI,CAAC,qBAAqB,IAAI,UAAU,KAAK,gCAAgC,EAAE;YAC5F,MAAM;SACP;QACD,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;gBACpE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,qBAAqB;aAC3B,CAAC,CAAC;YACH,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACrC,IAAI,CAAC,IAAI,CAAC,0BAA0B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;oBACxG,OAAO,KAAK,CAAC,GAAG,CAAC;iBAClB;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,+BAA+B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC3G;KACF;IACD,OAAO,sBAAsB,gCAAgC,sBAAsB,qBAAqB,IAAI,kBAAkB,EAAE,CAAC;AACnI,CAAC;AAED,4FAA4F;AAC5F,+FAA+F;AAC/F,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAkB;IAClE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,YAAM,EAAE,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAA4B,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CACP,4BAA4B,GAAG,WAAW,QAAQ,CAAC,OAAO,CAAC,UAAU,aAAa,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,CACpH,CAAC;QACF,MAAM,GAAG,CAAC;KACX;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,WAAW;IAC/B,IAAI;QACF,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,IAAI,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAExF,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,MAAM,0BAA0B,EAAE,CAAC;aAChD;YAED,MAAM,OAAO,GAAa,EAAC,MAAM,EAAE,0BAA0B,EAAC,CAAC;YAC/D,wEAAwE;YACxE,0DAA0D;YAC1D,mDAAmD;YACnD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,CAAC,EAAE;gBACxD,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACpD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;aACxD;YACD,IAAI,UAAU,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,6BAA6B,UAAU,YAAY,CAAC,CAAC;YAEhE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/D,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACtF;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,SAAS,IAAI,MAAM,CAAC;SACrB;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;QAED,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC;KAErB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AA7CD,kCA6CC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAE7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,iCAAiC,CAAC,CAAC;KAC/E;IAED,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC1B,IAAI,CAAC,KAAK,CAAC,kBAAkB,OAAO,gEAAgE,OAAO,GAAG,CAAC,CAAC;QAChH,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;KAC9B;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,iDAAiD,OAAO,UAAU,CAAC,CAAC;KAC/G;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AApBD,kDAoBC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;KACrC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AALD,8BAKC;AAED,SAAS,eAAe,CACtB,aAA8B,EAC9B,UAAkB,EAClB,qBAAyB;IACzB,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;QACnD,IAAI,qBAAqB,KAAK,SAAS,EAAE;YACvC,OAAO,qBAAqB,CAAC;SAC9B;QACD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,+BAA+B,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,OAAO,WAAkB,CAAC;KAC3B;IACD,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,aAA8B;IACtD,YAAY,GAAG;QACb,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3E,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,sBAAsB,EAAE,eAAe,CAAC,aAAa,EAAE,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC;KACnE,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAbD,8BAaC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,yEAAyE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAND,0CAMC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO;QACL,OAAO,EAAE;YACP,OAAO,GAAG,CAAC;QACb,CAAC;QACD,YAAY,EAAE,KAAK;YACjB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB,EAAE,YAAgC;YACjF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,YAAY;gBACZ,GAAG,eAAe;gBAClB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,OAAO,CAAC,QAAQ;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;gBACxC,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB,EAAE,UAAkB;YACvF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,MAAM;gBACN,YAAY;gBACZ,aAAa,GAAG,QAAQ;gBACxB,gBAAgB,GAAG,UAAU;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,QAAkB;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAChF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9E,+DAA+D;YAC/D,0FAA0F;YAC1F,qDAAqD;YACrD,8EAA8E;YAC9E,gHAAgH;YAChH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,wBAAwB,EAAE,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1I,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,sBAAsB,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB;YAC7E,yBAAyB;YACzB,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CACb,GAAG,EACH;gBACE,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,aAAa,GAAG,QAAQ;gBACxB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClD;aACF,CAAC,CAAC;YAEL,oBAAoB;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;YAEzF,oBAAoB;YACpB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,YAAY;gBACZ,IAAI;gBACJ,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,EAAE,KAAK,WAAU,YAAoB;YACnD,MAAM,2BAAY,CAAC,GAAG,EAAE;gBACtB,UAAU;gBACV,UAAU;gBACV,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnD,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,cAAc,EAAE,KAAK,WAAU,OAAiB,EAAE,eAAmC;YACnF,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,GAAG,OAAO;gBACV,qBAAqB;gBACrB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;aACnD;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE;gBAC/B,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,CAAC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,eAAe,EAAE,KAAK,WAAU,YAAoB,EAAE,SAAiB,EAAE,UAAkB;YACzF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,SAAS;gBACT,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,cAAc,EAAE;gBACrB,YAAY;gBACZ,uBAAuB;gBACvB,WAAW,GAAG,SAAS;gBACvB,yBAAyB;gBACzB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAClD,UAAU;aACX,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC5C,IAAI,OAAO,GAAiB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC3D,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAA2C,eAAe,CACxD,OAAY,EACZ,IAAc,EACd,QAAkB;;IAClB;;;;OAIG;IACH,SAAS,cAAc,CAAC,OAAY,EAAE,QAAkB;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,GAAG,GACP,0BAA0B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,GACP,yBAAyB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;aACtB;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,GAAG,cAAc,OAAC,OAAO,0CAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnC,eAAe,OAAC,OAAO,0CAAG,IAAI,CAAC,CAAC,CAAC,SAAG,IAAI,0CAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAjCD,0CAiCC"} \ No newline at end of file diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js new file mode 100644 index 000000000..cabf03f5e --- /dev/null +++ b/lib/exec_wrapper.js @@ -0,0 +1,41 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const exec = __importStar(require("@actions/exec")); +async function exec_wrapper(commandLine, args, options) { + var _a; + const originalListener = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners; + let stdout = ''; + let stderr = ''; + let listeners = { + stdout: (data) => { + var _a, _b, _c; + stdout += data.toString(); + // NB change behaviour to only write to stdout/err if no listener passed + process.stdout.write(data); + (_c = (_a = originalListener) === null || _a === void 0 ? void 0 : (_b = _a).stdout) === null || _c === void 0 ? void 0 : _c.call(_b, data); + }, + stderr: (data) => { + var _a, _b, _c; + stderr += data.toString(); + process.stderr.write(data); + (_c = (_a = originalListener) === null || _a === void 0 ? void 0 : (_b = _a).stderr) === null || _c === void 0 ? void 0 : _c.call(_b, data); + } + }; + const returnCode = await exec.exec(commandLine, args, { + listeners: listeners, + ...options + }); + if (stderr === stdout) { + console.log('foo bar'); + } + return returnCode; +} +exports.exec_wrapper = exec_wrapper; +//# sourceMappingURL=exec_wrapper.js.map \ No newline at end of file diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map new file mode 100644 index 000000000..a05333309 --- /dev/null +++ b/lib/exec_wrapper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,wEAAwE;YACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAA,gBAAgB,iDAAE,MAAM,mDAAG,IAAI,EAAE;QACnC,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAA,gBAAgB,iDAAE,MAAM,mDAAG,IAAI,EAAE;QACnC,CAAC;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAChC,WAAW,EACX,IAAI,EACJ;QACE,SAAS,EAAE,SAAS;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IAEL,IAAI,MAAM,KAAK,MAAM,EAAG;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACxB;IAED,OAAO,UAAU,CAAC;AAEpB,CAAC;AAnCD,oCAmCC"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index ddf93aed8..745c60550 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -12,6 +12,7 @@ import uuidV4 from 'uuid/v4'; import * as api from './api-client'; import * as defaults from './defaults.json'; // Referenced from codeql-action-sync-tool! +import { exec_wrapper } from './exec_wrapper'; import { Language } from './languages'; import * as util from './util'; @@ -390,7 +391,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { ]); }, finalizeDatabase: async function(databasePath: string) { - await exec.exec(cmd, [ + await exec_wrapper(cmd, [ 'database', 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts new file mode 100644 index 000000000..6ddbad7d5 --- /dev/null +++ b/src/exec_wrapper.ts @@ -0,0 +1,39 @@ +import * as exec from '@actions/exec'; +import * as im from '@actions/exec/lib/interfaces'; + +export async function exec_wrapper(commandLine: string, args?: string[], options?: im.ExecOptions): Promise { + + const originalListener = options?.listeners; + + let stdout = ''; + let stderr = ''; + + let listeners = { + stdout: (data: Buffer) => { + stdout += data.toString(); + // NB change behaviour to only write to stdout/err if no listener passed + process.stdout.write(data); + originalListener?.stdout?.(data); + }, + stderr: (data: Buffer) => { + stderr += data.toString(); + process.stderr.write(data); + originalListener?.stderr?.(data); + } + }; + + const returnCode = await exec.exec( + commandLine, + args, + { + listeners: listeners, + ...options + }); + + if (stderr === stdout ) { + console.log('foo bar'); + } + + return returnCode; + +} From 45e00a8e6a7f779537ae616786aa4a7864674687 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 24 Aug 2020 18:35:22 +0100 Subject: [PATCH 02/18] match existing behaviour when custom listeners defined --- lib/exec_wrapper.js | 23 ++++++++++++++++------- lib/exec_wrapper.js.map | 2 +- src/exec_wrapper.ts | 18 +++++++++++++----- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index cabf03f5e..4d1ee6f27 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -15,17 +15,26 @@ async function exec_wrapper(commandLine, args, options) { let stderr = ''; let listeners = { stdout: (data) => { - var _a, _b, _c; + var _a; stdout += data.toString(); - // NB change behaviour to only write to stdout/err if no listener passed - process.stdout.write(data); - (_c = (_a = originalListener) === null || _a === void 0 ? void 0 : (_b = _a).stdout) === null || _c === void 0 ? void 0 : _c.call(_b, data); + if (((_a = originalListener) === null || _a === void 0 ? void 0 : _a.stdout) !== undefined) { + originalListener.stdout(data); + } + else { + // if no stdout listener was originally defined then match behaviour of exec.exec + process.stdout.write(data); + } }, stderr: (data) => { - var _a, _b, _c; + var _a; stderr += data.toString(); - process.stderr.write(data); - (_c = (_a = originalListener) === null || _a === void 0 ? void 0 : (_b = _a).stderr) === null || _c === void 0 ? void 0 : _c.call(_b, data); + if (((_a = originalListener) === null || _a === void 0 ? void 0 : _a.stderr) !== undefined) { + originalListener.stderr(data); + } + else { + // if no stderr listener was originally defined then match behaviour of exec.exec + process.stderr.write(data); + } } }; const returnCode = await exec.exec(commandLine, args, { diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index a05333309..9782a3592 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,wEAAwE;YACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAA,gBAAgB,iDAAE,MAAM,mDAAG,IAAI,EAAE;QACnC,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAA,gBAAgB,iDAAE,MAAM,mDAAG,IAAI,EAAE;QACnC,CAAC;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAChC,WAAW,EACX,IAAI,EACJ;QACE,SAAS,EAAE,SAAS;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IAEL,IAAI,MAAM,KAAK,MAAM,EAAG;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACxB;IAED,OAAO,UAAU,CAAC;AAEpB,CAAC;AAnCD,oCAmCC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAChC,WAAW,EACX,IAAI,EACJ;QACE,SAAS,EAAE,SAAS;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IAEL,IAAI,MAAM,KAAK,MAAM,EAAG;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACxB;IAED,OAAO,UAAU,CAAC;AAEpB,CAAC;AA3CD,oCA2CC"} \ No newline at end of file diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index 6ddbad7d5..484e64121 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -11,14 +11,22 @@ export async function exec_wrapper(commandLine: string, args?: string[], options let listeners = { stdout: (data: Buffer) => { stdout += data.toString(); - // NB change behaviour to only write to stdout/err if no listener passed - process.stdout.write(data); - originalListener?.stdout?.(data); + if (originalListener?.stdout !== undefined) { + originalListener.stdout(data); + } else { + // if no stdout listener was originally defined then match behaviour of exec.exec + process.stdout.write(data); + } + }, stderr: (data: Buffer) => { stderr += data.toString(); - process.stderr.write(data); - originalListener?.stderr?.(data); + if (originalListener?.stderr !== undefined) { + originalListener.stderr(data); + } else { + // if no stderr listener was originally defined then match behaviour of exec.exec + process.stderr.write(data); + } } }; From cd22abcda8a8331d862f9896e7048696d8bb74a2 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 24 Aug 2020 20:49:58 +0100 Subject: [PATCH 03/18] add example regex match for stdout/err string --- .github/workflows/cli.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/integration-testing.yml | 313 ++++++++++++---------- .github/workflows/pr-checks.yml | 2 +- lib/exec_wrapper.js | 27 +- lib/exec_wrapper.js.map | 2 +- src/exec_wrapper.ts | 36 ++- 7 files changed, 227 insertions(+), 157 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 1ce2fbfc4..189ac7d1e 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -1,6 +1,6 @@ name: "CodeScanning CLI" -on: [push, pull_request] +on: [pull_request] jobs: build: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index dbf82c60d..944484407 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,6 +1,6 @@ name: "CodeQL action" -on: [push, pull_request] +on: [pull_request] jobs: build: diff --git a/.github/workflows/integration-testing.yml b/.github/workflows/integration-testing.yml index b805489eb..85fafe8e7 100644 --- a/.github/workflows/integration-testing.yml +++ b/.github/workflows/integration-testing.yml @@ -3,150 +3,191 @@ name: "Integration Testing" on: [push, pull_request] jobs: - multi-language-repo_test-autodetect-languages: - runs-on: ubuntu-latest + # multi-language-repo_test-autodetect-languages: + # runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - mv * .github ../action/ - mv ../action/tests/multi-language-repo/{*,.github} . - - uses: ./../action/init - - name: Build code - shell: bash - run: ./build.sh - - uses: ./../action/analyze - env: - TEST_MODE: true - - run: | - cd "$RUNNER_TEMP/codeql_databases" - # List all directories as there will be precisely one directory per database - # but there may be other files in this directory such as query suites. - if [ "$(ls -d */ | wc -l)" != 6 ] || \ - [[ ! -d cpp ]] || \ - [[ ! -d csharp ]] || \ - [[ ! -d go ]] || \ - [[ ! -d java ]] || \ - [[ ! -d javascript ]] || \ - [[ ! -d python ]]; then - echo "Did not find expected number of databases. Database dir contains: $(ls)" - exit 1 - fi + # steps: + # - uses: actions/checkout@v2 + # - name: Move codeql-action + # shell: bash + # run: | + # mkdir ../action + # mv * .github ../action/ + # mv ../action/tests/multi-language-repo/{*,.github} . + # - uses: ./../action/init + # - name: Build code + # shell: bash + # run: ./build.sh + # - uses: ./../action/analyze + # env: + # TEST_MODE: true + # - run: | + # cd "$RUNNER_TEMP/codeql_databases" + # # List all directories as there will be precisely one directory per database + # # but there may be other files in this directory such as query suites. + # if [ "$(ls -d */ | wc -l)" != 6 ] || \ + # [[ ! -d cpp ]] || \ + # [[ ! -d csharp ]] || \ + # [[ ! -d go ]] || \ + # [[ ! -d java ]] || \ + # [[ ! -d javascript ]] || \ + # [[ ! -d python ]]; then + # echo "Did not find expected number of databases. Database dir contains: $(ls)" + # exit 1 + # fi - multi-language-repo_test-custom-queries-and-remote-config: - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - runs-on: ${{ matrix.os }} + # multi-language-repo_test-custom-queries-and-remote-config: + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - mv * .github ../action/ - mv ../action/tests/multi-language-repo/{*,.github} . - - uses: ./../action/init - with: - languages: cpp,csharp,java,javascript,python - config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} - - name: Build code - shell: bash - run: ./build.sh - - uses: ./../action/analyze - env: - TEST_MODE: true + # steps: + # - uses: actions/checkout@v2 + # - name: Move codeql-action + # shell: bash + # run: | + # mkdir ../action + # mv * .github ../action/ + # mv ../action/tests/multi-language-repo/{*,.github} . + # - uses: ./../action/init + # with: + # languages: cpp,csharp,java,javascript,python + # config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} + # - name: Build code + # shell: bash + # run: ./build.sh + # - uses: ./../action/analyze + # env: + # TEST_MODE: true - # Currently is not possible to analyze Go in conjunction with other languages in macos - multi-language-repo_test-go-custom-queries: - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - runs-on: ${{ matrix.os }} + # # Currently is not possible to analyze Go in conjunction with other languages in macos + # multi-language-repo_test-go-custom-queries: + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # runs-on: ${{ matrix.os }} - steps: - - uses: actions/setup-go@v2 - if: ${{ matrix.os == 'macos-latest' }} - with: - go-version: '^1.13.1' - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - mv * .github ../action/ - mv ../action/tests/multi-language-repo/{*,.github} . - - uses: ./../action/init - with: - languages: go - config-file: ./.github/codeql/custom-queries.yml - - name: Build code - shell: bash - run: ./build.sh - - uses: ./../action/analyze - env: - TEST_MODE: true + # steps: + # - uses: actions/setup-go@v2 + # if: ${{ matrix.os == 'macos-latest' }} + # with: + # go-version: '^1.13.1' + # - uses: actions/checkout@v2 + # - name: Move codeql-action + # shell: bash + # run: | + # mkdir ../action + # mv * .github ../action/ + # mv ../action/tests/multi-language-repo/{*,.github} . + # - uses: ./../action/init + # with: + # languages: go + # config-file: ./.github/codeql/custom-queries.yml + # - name: Build code + # shell: bash + # run: ./build.sh + # - uses: ./../action/analyze + # env: + # TEST_MODE: true + + # multi-language-repo_rubocop: + # runs-on: ubuntu-latest - multi-language-repo_rubocop: + # steps: + # - uses: actions/checkout@v2 + # - name: Move codeql-action + # shell: bash + # run: | + # mkdir ../action + # mv * .github ../action/ + # mv ../action/tests/multi-language-repo/{*,.github} . + # - name: Set up Ruby + # uses: ruby/setup-ruby@v1 + # with: + # ruby-version: 2.6 + # - name: Install Code Scanning integration + # run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install + # - name: Install dependencies + # run: bundle install + # - name: Rubocop run + # run: | + # bash -c " + # bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif + # [[ $? -ne 2 ]] + # " + # - uses: ./../action/upload-sarif + # with: + # sarif_file: rubocop.sarif + # env: + # TEST_MODE: true + + # test-proxy: + # runs-on: ubuntu-latest + # container: + # image: ubuntu:18.04 + # options: --dns 127.0.0.1 + # services: + # squid-proxy: + # image: datadog/squid:latest + # ports: + # - 3128:3128 + # env: + # https_proxy: http://squid-proxy:3128 + # steps: + # - uses: actions/checkout@v2 + # - name: Move codeql-action + # shell: bash + # run: | + # mkdir ../action + # mv * .github ../action/ + # mv ../action/tests/multi-language-repo/{*,.github} . + # - uses: ./../action/init + # with: + # languages: javascript + # - uses: ./../action/analyze + # env: + # TEST_MODE: true + + +# Test the behaviour when asked to scan a compiled language but no code is compiled + java: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - mv * .github ../action/ - mv ../action/tests/multi-language-repo/{*,.github} . - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: 2.6 - - name: Install Code Scanning integration - run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install - - name: Install dependencies - run: bundle install - - name: Rubocop run - run: | - bash -c " - bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif - [[ $? -ne 2 ]] - " - - uses: ./../action/upload-sarif - with: - sarif_file: rubocop.sarif - env: - TEST_MODE: true - - test-proxy: + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + shopt -s dotglob + mv * ../action/ + # Do not copy anything back, so there's nothing left to scan + - uses: ./../action/init + with: + languages: java + - uses: ./../action/analyze + env: + TEST_MODE: true + + # Test the behaviour when asked to scan a non-compiled language but there is no code to scan + javascript: runs-on: ubuntu-latest - container: - image: ubuntu:18.04 - options: --dns 127.0.0.1 - services: - squid-proxy: - image: datadog/squid:latest - ports: - - 3128:3128 - env: - https_proxy: http://squid-proxy:3128 + steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - mv * .github ../action/ - mv ../action/tests/multi-language-repo/{*,.github} . - - uses: ./../action/init - with: - languages: javascript - - uses: ./../action/analyze - env: - TEST_MODE: true + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + shopt -s dotglob + mv * ../action/ + # Do not copy anything back, so there's nothing left to scan + - uses: ./../action/init + with: + languages: javascript + - uses: ./../action/analyze + env: + TEST_MODE: true diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index fb30c74a7..c952c5255 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -1,6 +1,6 @@ name: "PR checks" -on: [push, pull_request] +on: [pull_request] jobs: tslint: diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index 4d1ee6f27..b1cd829eb 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -37,12 +37,27 @@ async function exec_wrapper(commandLine, args, options) { } } }; - const returnCode = await exec.exec(commandLine, args, { - listeners: listeners, - ...options - }); - if (stderr === stdout) { - console.log('foo bar'); + let returnCode; + try { + returnCode = await exec.exec(commandLine, args, { + listeners: listeners, + ...options + }); + } + catch (e) { + returnCode = 1; + } + if (returnCode === 0) { + throw new Error('The exit code was ' + returnCode + '?!'); + } + const regex = new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"); + if (regex.test(stderr) || regex.test(stdout)) { + throw new Error(`No source code was found. This can occur if the specified build commands failed to compile or process any code. + - Confirm that there is some source code for the specified language in the project. + - For codebases written in Go, JavaScript, TypeScript, and Python, do not specify + an explicit --command. + - For other languages, the --command must specify a "clean" build which compiles + https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning`); } return returnCode; } diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index 9782a3592..abc1307a2 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAChC,WAAW,EACX,IAAI,EACJ;QACE,SAAS,EAAE,SAAS;QACpB,GAAG,OAAO;KACX,CAAC,CAAC;IAEL,IAAI,MAAM,KAAK,MAAM,EAAG;QACtB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACxB;IAED,OAAO,UAAU,CAAC;AAEpB,CAAC;AA3CD,oCA2CC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,IAAI,UAAkB,CAAC;IACvB,IAAI;QACF,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,IAAI,UAAU,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;KAC3D;IAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,yFAAyF,CAAC,CAAC;IAEpH,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;QAC7C,MAAM,IAAI,KAAK,CAAC;;;;;yHAKqG,CAAC,CAAC;KACxH;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAzDD,oCAyDC"} \ No newline at end of file diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index 484e64121..3b5690489 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -30,18 +30,32 @@ export async function exec_wrapper(commandLine: string, args?: string[], options } }; - const returnCode = await exec.exec( - commandLine, - args, - { - listeners: listeners, - ...options - }); - - if (stderr === stdout ) { - console.log('foo bar'); + let returnCode: number; + try { + returnCode = await exec.exec( + commandLine, + args, + { + listeners: listeners, + ...options + }); + } catch (e) { + returnCode = 1; + } + if (returnCode === 0) { + throw new Error('The exit code was ' + returnCode + '?!'); } - return returnCode; + const regex = new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"); + if (regex.test(stderr) || regex.test(stdout) ) { + throw new Error(`No source code was found. This can occur if the specified build commands failed to compile or process any code. + - Confirm that there is some source code for the specified language in the project. + - For codebases written in Go, JavaScript, TypeScript, and Python, do not specify + an explicit --command. + - For other languages, the --command must specify a "clean" build which compiles + https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning`); + } + + return returnCode; } From 7b7e0e12b7768d6b4b6cfd43bb81a23ad76395f8 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Tue, 1 Sep 2020 16:35:08 +0100 Subject: [PATCH 04/18] update error_wrapper to take matcher array --- lib/codeql.js | 2 +- lib/codeql.js.map | 2 +- lib/exec_wrapper.js | 46 ++++++++++++++++++++++++--------------- lib/exec_wrapper.js.map | 2 +- src/codeql.ts | 14 ++++++------ src/exec_wrapper.ts | 48 +++++++++++++++++++++++++---------------- 6 files changed, 70 insertions(+), 44 deletions(-) diff --git a/lib/codeql.js b/lib/codeql.js index ac970b209..369abcbd4 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -304,7 +304,7 @@ function getCodeQLForCmd(cmd) { 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), databasePath - ]); + ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); }, resolveQueries: async function (queries, extraSearchPath) { const codeqlArgs = [ diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 2f12f0571..a5bafa6d8 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsC;AACtC,oDAAsC;AACtC,2DAA6C;AAE7C,+DAAiD;AACjD,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,+CAAiC;AACjC,iDAAmC;AACnC,iDAA6B;AAE7B,kDAAoC;AACpC,0DAA4C,CAAC,2CAA2C;AACxF,iDAA8C;AAE9C,6CAA+B;AA8E/B;;;GAGG;AACH,IAAI,YAAY,GAAuB,SAAS,CAAC;AAEjD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC;AACrD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAClD,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAEhE,SAAS,yBAAyB;IAChC,iDAAiD;IACjD,+EAA+E;IAC/E,+GAA+G;IAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACvE,kFAAkF;IAClF,kFAAkF;IAClF,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC9E,OAAO,gCAAgC,CAAC;KACzC;IACD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,uBAAuB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,wBAAwB,GAAG;QAC/B,yCAAyC;QACzC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,sBAAsB,CAAC;QAClD,kDAAkD;QAClD,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,gCAAgC,CAAC;QAC5D,wCAAwC;QACxC,CAAC,IAAI,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;KAC/D,CAAC;IACF,oCAAoC;IACpC,gHAAgH;IAChH,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjH,KAAK,IAAI,cAAc,IAAI,qBAAqB,EAAE;QAChD,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC;QAC1C,8GAA8G;QAC9G,IAAI,MAAM,KAAK,IAAI,CAAC,qBAAqB,IAAI,UAAU,KAAK,gCAAgC,EAAE;YAC5F,MAAM;SACP;QACD,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;gBACpE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,qBAAqB;aAC3B,CAAC,CAAC;YACH,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBACrC,IAAI,CAAC,IAAI,CAAC,0BAA0B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;oBACxG,OAAO,KAAK,CAAC,GAAG,CAAC;iBAClB;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,+BAA+B,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SAC3G;KACF;IACD,OAAO,sBAAsB,gCAAgC,sBAAsB,qBAAqB,IAAI,kBAAkB,EAAE,CAAC;AACnI,CAAC;AAED,4FAA4F;AAC5F,+FAA+F;AAC/F,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAkB;IAClE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,YAAM,EAAE,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAA4B,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CACP,4BAA4B,GAAG,WAAW,QAAQ,CAAC,OAAO,CAAC,UAAU,aAAa,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,CACpH,CAAC;QACF,MAAM,GAAG,CAAC;KACX;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,WAAW;IAC/B,IAAI;QACF,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,IAAI,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAExF,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,MAAM,0BAA0B,EAAE,CAAC;aAChD;YAED,MAAM,OAAO,GAAa,EAAC,MAAM,EAAE,0BAA0B,EAAC,CAAC;YAC/D,wEAAwE;YACxE,0DAA0D;YAC1D,mDAAmD;YACnD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAG,CAAC,EAAE;gBACxD,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACpD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;aACxD;YACD,IAAI,UAAU,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,6BAA6B,UAAU,YAAY,CAAC,CAAC;YAEhE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/D,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACtF;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,SAAS,IAAI,MAAM,CAAC;SACrB;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;QAED,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC;KAErB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AA7CD,kCA6CC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAE7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,iCAAiC,CAAC,CAAC;KAC/E;IAED,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC1B,IAAI,CAAC,KAAK,CAAC,kBAAkB,OAAO,gEAAgE,OAAO,GAAG,CAAC,CAAC;QAChH,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;KAC9B;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,iDAAiD,OAAO,UAAU,CAAC,CAAC;KAC/G;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AApBD,kDAoBC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;KACrC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AALD,8BAKC;AAED,SAAS,eAAe,CACtB,aAA8B,EAC9B,UAAkB,EAClB,qBAAyB;IACzB,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;QACnD,IAAI,qBAAqB,KAAK,SAAS,EAAE;YACvC,OAAO,qBAAqB,CAAC;SAC9B;QACD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,+BAA+B,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,OAAO,WAAkB,CAAC;KAC3B;IACD,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,aAA8B;IACtD,YAAY,GAAG;QACb,OAAO,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;QAC3E,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC;QAC5D,sBAAsB,EAAE,eAAe,CAAC,aAAa,EAAE,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC;QACpE,cAAc,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAChE,eAAe,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC;KACnE,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAbD,8BAaC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,yEAAyE;QACzE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAND,0CAMC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO;QACL,OAAO,EAAE;YACP,OAAO,GAAG,CAAC;QACb,CAAC;QACD,YAAY,EAAE,KAAK;YACjB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB,EAAE,YAAgC;YACjF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,YAAY;gBACZ,GAAG,eAAe;gBAClB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,OAAO,CAAC,QAAQ;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;gBACxC,OAAO;aACR,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB,EAAE,UAAkB;YACvF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,MAAM;gBACN,YAAY;gBACZ,aAAa,GAAG,QAAQ;gBACxB,gBAAgB,GAAG,UAAU;gBAC7B,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QACD,YAAY,EAAE,KAAK,WAAU,QAAkB;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAChF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9E,+DAA+D;YAC/D,0FAA0F;YAC1F,qDAAqD;YACrD,8EAA8E;YAC9E,gHAAgH;YAChH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,wBAAwB,EAAE,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1I,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QACD,sBAAsB,EAAE,KAAK,WAAU,YAAoB,EAAE,QAAkB;YAC7E,yBAAyB;YACzB,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CACb,GAAG,EACH;gBACE,SAAS;gBACT,WAAW;gBACX,eAAe;gBACf,aAAa,GAAG,QAAQ;gBACxB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aACpD,EACD;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClD;aACF,CAAC,CAAC;YAEL,oBAAoB;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;YAEzF,oBAAoB;YACpB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,eAAe;gBACf,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,YAAY;gBACZ,IAAI;gBACJ,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,EAAE,KAAK,WAAU,YAAoB;YACnD,MAAM,2BAAY,CAAC,GAAG,EAAE;gBACtB,UAAU;gBACV,UAAU;gBACV,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACnD,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,cAAc,EAAE,KAAK,WAAU,OAAiB,EAAE,eAAmC;YACnF,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,SAAS;gBACT,GAAG,OAAO;gBACV,qBAAqB;gBACrB,GAAG,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,eAAe,KAAK,SAAS,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;aACnD;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE;gBAC/B,SAAS,EAAE;oBACT,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,CAAC;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,eAAe,EAAE,KAAK,WAAU,YAAoB,EAAE,SAAiB,EAAE,UAAkB;YACzF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,UAAU;gBACV,SAAS;gBACT,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,cAAc,EAAE;gBACrB,YAAY;gBACZ,uBAAuB;gBACvB,WAAW,GAAG,SAAS;gBACvB,yBAAyB;gBACzB,GAAG,sBAAsB,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAClD,UAAU;aACX,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC5C,IAAI,OAAO,GAAiB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC3D,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAA2C,eAAe,CACxD,OAAY,EACZ,IAAc,EACd,QAAkB;;IAClB;;;;OAIG;IACH,SAAS,cAAc,CAAC,OAAY,EAAE,QAAkB;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,GAAG,GACP,0BAA0B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;SACtB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,GACP,yBAAyB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;aACtB;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,GAAG,cAAc,OAAC,OAAO,0CAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAChC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnC,eAAe,OAAC,OAAO,0CAAG,IAAI,CAAC,CAAC,CAAC,SAAG,IAAI,0CAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAjCD,0CAiCC"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index b1cd829eb..c5cc9f3ac 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -8,11 +8,23 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const exec = __importStar(require("@actions/exec")); -async function exec_wrapper(commandLine, args, options) { +/** + * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. + * Output will be streamed to the live console as well as captured for subsequent processing. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param matchers defines specific codes and/or regexes that should lead to return of a custom error + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +async function exec_wrapper(commandLine, args, matchers, options) { var _a; - const originalListener = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners; let stdout = ''; let stderr = ''; + // custom listeners to store stdout and stderr, while also replicating the behaviour of the passed listeners + const originalListener = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners; let listeners = { stdout: (data) => { var _a; @@ -37,29 +49,29 @@ async function exec_wrapper(commandLine, args, options) { } } }; - let returnCode; + // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour + let originalReturnCode; + let originalError; try { - returnCode = await exec.exec(commandLine, args, { + originalReturnCode = await exec.exec(commandLine, args, { listeners: listeners, ...options }); } catch (e) { - returnCode = 1; - } - if (returnCode === 0) { - throw new Error('The exit code was ' + returnCode + '?!'); + originalError = e; + originalReturnCode = 1; // TODO linter insists, but presumably there's a better way to do _all_ this... } - const regex = new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"); - if (regex.test(stderr) || regex.test(stdout)) { - throw new Error(`No source code was found. This can occur if the specified build commands failed to compile or process any code. - - Confirm that there is some source code for the specified language in the project. - - For codebases written in Go, JavaScript, TypeScript, and Python, do not specify - an explicit --command. - - For other languages, the --command must specify a "clean" build which compiles - https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning`); + if (matchers) { + for (const [customCode, regex, message] of matchers) { + if (customCode === originalReturnCode || regex.test(stderr) || regex.test(stdout)) { + throw new Error(message); + } + } } - return returnCode; + if (originalError) + throw originalError; + return originalReturnCode; } exports.exec_wrapper = exec_wrapper; //# sourceMappingURL=exec_wrapper.js.map \ No newline at end of file diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index abc1307a2..9992338cb 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAG/B,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EAAE,OAAwB;;IAE/F,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,IAAI,UAAkB,CAAC;IACvB,IAAI;QACF,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,IAAI,UAAU,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;KAC3D;IAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,yFAAyF,CAAC,CAAC;IAEpH,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;QAC7C,MAAM,IAAI,KAAK,CAAC;;;;;yHAKqG,CAAC,CAAC;KACxH;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAzDD,oCAyDC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAItC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAqC,EACrC,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,kBAA0B,CAAC;IAC/B,IAAI,aAA8B,CAAC;IACnC,IAAI;QACF,kBAAkB,GAAG,MAAM,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,aAAa,GAAG,CAAC,CAAC;QAClB,kBAAkB,GAAG,CAAC,CAAC,CAAC,+EAA+E;KACxG;IAED,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBAClF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,aAAa;QAAE,MAAM,aAAa,CAAC;IACvC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAzDD,oCAyDC"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 745c60550..924935f8b 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -391,12 +391,14 @@ function getCodeQLForCmd(cmd: string): CodeQL { ]); }, finalizeDatabase: async function(databasePath: string) { - await exec_wrapper(cmd, [ - 'database', - 'finalize', - ...getExtraOptionsFromEnv(['database', 'finalize']), - databasePath - ]); + await exec_wrapper( + cmd, [ + 'database', + 'finalize', + ...getExtraOptionsFromEnv(['database', 'finalize']), + databasePath + ], + [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); }, resolveQueries: async function(queries: string[], extraSearchPath: string | undefined) { const codeqlArgs = [ diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index 3b5690489..d565461af 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -1,13 +1,27 @@ import * as exec from '@actions/exec'; import * as im from '@actions/exec/lib/interfaces'; -export async function exec_wrapper(commandLine: string, args?: string[], options?: im.ExecOptions): Promise { - const originalListener = options?.listeners; +/** + * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. + * Output will be streamed to the live console as well as captured for subsequent processing. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param matchers defines specific codes and/or regexes that should lead to return of a custom error + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +export async function exec_wrapper(commandLine: string, args?: string[], + matchers?: [[number, RegExp, string]], + options?: im.ExecOptions): Promise { let stdout = ''; let stderr = ''; + // custom listeners to store stdout and stderr, while also replicating the behaviour of the passed listeners + const originalListener = options?.listeners; let listeners = { stdout: (data: Buffer) => { stdout += data.toString(); @@ -30,9 +44,11 @@ export async function exec_wrapper(commandLine: string, args?: string[], options } }; - let returnCode: number; + // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour + let originalReturnCode: number; + let originalError: Error|undefined; try { - returnCode = await exec.exec( + originalReturnCode = await exec.exec( commandLine, args, { @@ -40,22 +56,18 @@ export async function exec_wrapper(commandLine: string, args?: string[], options ...options }); } catch (e) { - returnCode = 1; - } - if (returnCode === 0) { - throw new Error('The exit code was ' + returnCode + '?!'); + originalError = e; + originalReturnCode = 1; // TODO linter insists, but presumably there's a better way to do _all_ this... } - const regex = new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"); - - if (regex.test(stderr) || regex.test(stdout) ) { - throw new Error(`No source code was found. This can occur if the specified build commands failed to compile or process any code. - - Confirm that there is some source code for the specified language in the project. - - For codebases written in Go, JavaScript, TypeScript, and Python, do not specify - an explicit --command. - - For other languages, the --command must specify a "clean" build which compiles - https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning`); + if (matchers) { + for (const [customCode, regex, message] of matchers) { + if (customCode === originalReturnCode || regex.test(stderr) || regex.test(stdout) ) { + throw new Error(message); + } + } } - return returnCode; + if (originalError) throw originalError; + return originalReturnCode; } From 6ef533485ed3acf0d61ba1aba80624d93401cea8 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Tue, 1 Sep 2020 16:51:39 +0100 Subject: [PATCH 05/18] wrap more codeql calls in the error catcher wrapper --- lib/codeql.js | 8 ++++---- lib/codeql.js.map | 2 +- src/codeql.ts | 22 +++++++++++++--------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/codeql.js b/lib/codeql.js index 369abcbd4..cb16853cd 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -272,13 +272,13 @@ function getCodeQLForCmd(cmd) { extractScannedLanguage: async function (databasePath, language) { // Get extractor location let extractorPath = ''; - await exec.exec(cmd, [ + await exec_wrapper_1.exec_wrapper(cmd, [ 'resolve', 'extractor', '--format=json', '--language=' + language, ...getExtraOptionsFromEnv(['resolve', 'extractor']), - ], { + ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']], { silent: true, listeners: { stdout: (data) => { extractorPath += data.toString(); }, @@ -289,14 +289,14 @@ function getCodeQLForCmd(cmd) { const ext = process.platform === 'win32' ? '.cmd' : '.sh'; const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await exec.exec(cmd, [ + await exec_wrapper_1.exec_wrapper(cmd, [ 'database', 'trace-command', ...getExtraOptionsFromEnv(['database', 'trace-command']), databasePath, '--', traceCommand - ]); + ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); }, finalizeDatabase: async function (databasePath) { await exec_wrapper_1.exec_wrapper(cmd, [ diff --git a/lib/codeql.js.map b/lib/codeql.js.map index a5bafa6d8..a4a58111f 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 924935f8b..36c680085 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -359,7 +359,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { extractScannedLanguage: async function(databasePath: string, language: Language) { // Get extractor location let extractorPath = ''; - await exec.exec( + await exec_wrapper( cmd, [ 'resolve', @@ -368,6 +368,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { '--language=' + language, ...getExtraOptionsFromEnv(['resolve', 'extractor']), ], + [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']], { silent: true, listeners: { @@ -381,14 +382,17 @@ function getCodeQLForCmd(cmd: string): CodeQL { const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await exec.exec(cmd, [ - 'database', - 'trace-command', - ...getExtraOptionsFromEnv(['database', 'trace-command']), - databasePath, - '--', - traceCommand - ]); + await exec_wrapper( + cmd, [ + 'database', + 'trace-command', + ...getExtraOptionsFromEnv(['database', 'trace-command']), + databasePath, + '--', + traceCommand + ], + [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']] + ); }, finalizeDatabase: async function(databasePath: string) { await exec_wrapper( From 231537b08ef57e28e550239c2079c4a294773b42 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Wed, 2 Sep 2020 16:32:28 +0100 Subject: [PATCH 06/18] refactor to handle exec.exec return values together --- lib/exec_wrapper.js | 19 ++++++++++--------- lib/exec_wrapper.js.map | 2 +- src/exec_wrapper.ts | 17 +++++++++-------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index c5cc9f3ac..139e65577 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -50,28 +50,29 @@ async function exec_wrapper(commandLine, args, matchers, options) { } }; // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour - let originalReturnCode; - let originalError; + let originalReturnValue; try { - originalReturnCode = await exec.exec(commandLine, args, { + originalReturnValue = await exec.exec(commandLine, args, { listeners: listeners, ...options }); } catch (e) { - originalError = e; - originalReturnCode = 1; // TODO linter insists, but presumably there's a better way to do _all_ this... + originalReturnValue = e; } if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === originalReturnCode || regex.test(stderr) || regex.test(stdout)) { + if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout)) { throw new Error(message); } } } - if (originalError) - throw originalError; - return originalReturnCode; + if (typeof originalReturnValue === 'number') { + return originalReturnValue; + } + else { + throw originalReturnValue; + } } exports.exec_wrapper = exec_wrapper; //# sourceMappingURL=exec_wrapper.js.map \ No newline at end of file diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index 9992338cb..b3727083b 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAItC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAqC,EACrC,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,kBAA0B,CAAC;IAC/B,IAAI,aAA8B,CAAC;IACnC,IAAI;QACF,kBAAkB,GAAG,MAAM,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,aAAa,GAAG,CAAC,CAAC;QAClB,kBAAkB,GAAG,CAAC,CAAC,CAAC,+EAA+E;KACxG;IAED,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBAClF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,aAAa;QAAE,MAAM,aAAa,CAAC;IACvC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAzDD,oCAyDC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAItC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAqC,EACrC,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,mBAAiC,CAAC;IACtC,IAAI;QACF,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CACnC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,mBAAmB,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBACnF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;QAC3C,OAAO,mBAAmB,CAAC;KAC5B;SAAM;QACL,MAAM,mBAAmB,CAAC;KAC3B;AACH,CAAC;AA1DD,oCA0DC"} \ No newline at end of file diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index d565461af..c7f6d511c 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -45,10 +45,9 @@ export async function exec_wrapper(commandLine: string, args?: string[], }; // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour - let originalReturnCode: number; - let originalError: Error|undefined; + let originalReturnValue: Error|number; try { - originalReturnCode = await exec.exec( + originalReturnValue = await exec.exec( commandLine, args, { @@ -56,18 +55,20 @@ export async function exec_wrapper(commandLine: string, args?: string[], ...options }); } catch (e) { - originalError = e; - originalReturnCode = 1; // TODO linter insists, but presumably there's a better way to do _all_ this... + originalReturnValue = e; } if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === originalReturnCode || regex.test(stderr) || regex.test(stdout) ) { + if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout) ) { throw new Error(message); } } } - if (originalError) throw originalError; - return originalReturnCode; + if (typeof originalReturnValue === 'number') { + return originalReturnValue; + } else { + throw originalReturnValue; + } } From 6a43a6178d1a7a4a22ac1ee519066c5df7b68797 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Thu, 3 Sep 2020 16:42:56 +0100 Subject: [PATCH 07/18] ensure matchers not applied if exit code is zero --- lib/exec_wrapper.js | 2 +- lib/exec_wrapper.js.map | 2 +- src/exec_wrapper.ts | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index 139e65577..ae0b47b2c 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -60,7 +60,7 @@ async function exec_wrapper(commandLine, args, matchers, options) { catch (e) { originalReturnValue = e; } - if (matchers) { + if (matchers && originalReturnValue !== 0) { for (const [customCode, regex, message] of matchers) { if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout)) { throw new Error(message); diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index b3727083b..355133215 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAItC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAqC,EACrC,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,mBAAiC,CAAC;IACtC,IAAI;QACF,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CACnC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,mBAAmB,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBACnF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;QAC3C,OAAO,mBAAmB,CAAC;KAC5B;SAAM;QACL,MAAM,mBAAmB,CAAC;KAC3B;AACH,CAAC;AA1DD,oCA0DC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAMtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,mBAAiC,CAAC;IACtC,IAAI;QACF,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CACnC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,mBAAmB,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,QAAQ,IAAI,mBAAmB,KAAK,CAAC,EAAE;QACzC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBACnF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;QAC3C,OAAO,mBAAmB,CAAC;KAC5B;SAAM;QACL,MAAM,mBAAmB,CAAC;KAC3B;AACH,CAAC;AA1DD,oCA0DC"} \ No newline at end of file diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index c7f6d511c..b928c826c 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -2,6 +2,8 @@ import * as exec from '@actions/exec'; import * as im from '@actions/exec/lib/interfaces'; +export type ErrorMatcher = [number, RegExp, string]; + /** * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. * Output will be streamed to the live console as well as captured for subsequent processing. @@ -14,7 +16,7 @@ import * as im from '@actions/exec/lib/interfaces'; * @returns Promise exit code */ export async function exec_wrapper(commandLine: string, args?: string[], - matchers?: [[number, RegExp, string]], + matchers?: ErrorMatcher[], options?: im.ExecOptions): Promise { let stdout = ''; @@ -58,7 +60,7 @@ export async function exec_wrapper(commandLine: string, args?: string[], originalReturnValue = e; } - if (matchers) { + if (matchers && originalReturnValue !== 0) { for (const [customCode, regex, message] of matchers) { if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout) ) { throw new Error(message); From dd4e841441b3fb05488d1145c37f64b41caf08fe Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Thu, 3 Sep 2020 17:01:51 +0100 Subject: [PATCH 08/18] remove spurious use of exec_wrapper --- lib/codeql.js | 4 ++-- lib/codeql.js.map | 2 +- src/codeql.ts | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/codeql.js b/lib/codeql.js index cb16853cd..32ba1d384 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -272,13 +272,13 @@ function getCodeQLForCmd(cmd) { extractScannedLanguage: async function (databasePath, language) { // Get extractor location let extractorPath = ''; - await exec_wrapper_1.exec_wrapper(cmd, [ + await exec.exec(cmd, [ 'resolve', 'extractor', '--format=json', '--language=' + language, ...getExtraOptionsFromEnv(['resolve', 'extractor']), - ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']], { + ], { silent: true, listeners: { stdout: (data) => { extractorPath += data.toString(); }, diff --git a/lib/codeql.js.map b/lib/codeql.js.map index a4a58111f..9da2c85b0 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 36c680085..8b35e3461 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -359,7 +359,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { extractScannedLanguage: async function(databasePath: string, language: Language) { // Get extractor location let extractorPath = ''; - await exec_wrapper( + await exec.exec( cmd, [ 'resolve', @@ -368,7 +368,6 @@ function getCodeQLForCmd(cmd: string): CodeQL { '--language=' + language, ...getExtraOptionsFromEnv(['resolve', 'extractor']), ], - [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']], { silent: true, listeners: { From 9701a93bf11727593de62e25288c86d8969a3230 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 15:17:19 +0100 Subject: [PATCH 09/18] ensure exec_wrapper always captures exit code of called process --- lib/exec_wrapper.js | 48 ++++++++++++++++++++++++----------------- lib/exec_wrapper.js.map | 2 +- src/exec_wrapper.ts | 43 ++++++++++++++++++++---------------- 3 files changed, 54 insertions(+), 39 deletions(-) diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index ae0b47b2c..f698aab2d 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -23,55 +23,63 @@ async function exec_wrapper(commandLine, args, matchers, options) { var _a; let stdout = ''; let stderr = ''; - // custom listeners to store stdout and stderr, while also replicating the behaviour of the passed listeners - const originalListener = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners; let listeners = { stdout: (data) => { - var _a; + var _a, _b; stdout += data.toString(); - if (((_a = originalListener) === null || _a === void 0 ? void 0 : _a.stdout) !== undefined) { - originalListener.stdout(data); + if (((_b = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners) === null || _b === void 0 ? void 0 : _b.stdout) !== undefined) { + options.listeners.stdout(data); } else { - // if no stdout listener was originally defined then match behaviour of exec.exec + // if no stdout listener was originally defined then we match default behavior of exec.exec process.stdout.write(data); } }, stderr: (data) => { - var _a; + var _a, _b; stderr += data.toString(); - if (((_a = originalListener) === null || _a === void 0 ? void 0 : _a.stderr) !== undefined) { - originalListener.stderr(data); + if (((_b = (_a = options) === null || _a === void 0 ? void 0 : _a.listeners) === null || _b === void 0 ? void 0 : _b.stderr) !== undefined) { + options.listeners.stderr(data); } else { - // if no stderr listener was originally defined then match behaviour of exec.exec + // if no stderr listener was originally defined then we match default behavior of exec.exec process.stderr.write(data); } } }; - // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour - let originalReturnValue; + // we capture the original return code or error so that if no match is found we can duplicate the behavior + let returnState; try { - originalReturnValue = await exec.exec(commandLine, args, { + returnState = await exec.exec(commandLine, args, { + ...options, listeners: listeners, - ...options + ignoreReturnCode: true, }); } catch (e) { - originalReturnValue = e; + returnState = e; } - if (matchers && originalReturnValue !== 0) { + // if there is a zero return code then we do not apply the matchers + if (returnState === 0) + return returnState; + if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout)) { + if (customCode === returnState || regex.test(stderr) || regex.test(stdout)) { throw new Error(message); } } } - if (typeof originalReturnValue === 'number') { - return originalReturnValue; + if (typeof returnState === 'number') { + // only if we were instructed to ignore the return code do we ever return it non-zero + if ((_a = options) === null || _a === void 0 ? void 0 : _a.ignoreReturnCode) { + return returnState; + } + else { + throw new Error(`The process \'${commandLine}\' failed with exit code ${returnState}`); + } } else { - throw originalReturnValue; + throw returnState; } } exports.exec_wrapper = exec_wrapper; diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index 355133215..60d0bec1d 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAMtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4GAA4G;IAC5G,MAAM,gBAAgB,SAAG,OAAO,0CAAE,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAA,gBAAgB,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC1C,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACL,iFAAiF;gBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAI,mBAAiC,CAAC;IACtC,IAAI;QACF,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CACnC,WAAW,EACX,IAAI,EACJ;YACE,SAAS,EAAE,SAAS;YACpB,GAAG,OAAO;SACX,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,mBAAmB,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,QAAQ,IAAI,mBAAmB,KAAK,CAAC,EAAE;QACzC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBACnF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;QAC3C,OAAO,mBAAmB,CAAC;KAC5B;SAAM;QACL,MAAM,mBAAmB,CAAC;KAC3B;AACH,CAAC;AA1DD,oCA0DC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAMtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBAC3E,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAjED,oCAiEC"} \ No newline at end of file diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index b928c826c..b9a70e7c4 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -22,55 +22,62 @@ export async function exec_wrapper(commandLine: string, args?: string[], let stdout = ''; let stderr = ''; - // custom listeners to store stdout and stderr, while also replicating the behaviour of the passed listeners - const originalListener = options?.listeners; let listeners = { stdout: (data: Buffer) => { stdout += data.toString(); - if (originalListener?.stdout !== undefined) { - originalListener.stdout(data); + if (options?.listeners?.stdout !== undefined) { + options.listeners.stdout(data); } else { - // if no stdout listener was originally defined then match behaviour of exec.exec + // if no stdout listener was originally defined then we match default behavior of exec.exec process.stdout.write(data); } }, stderr: (data: Buffer) => { stderr += data.toString(); - if (originalListener?.stderr !== undefined) { - originalListener.stderr(data); + if (options?.listeners?.stderr !== undefined) { + options.listeners.stderr(data); } else { - // if no stderr listener was originally defined then match behaviour of exec.exec + // if no stderr listener was originally defined then we match default behavior of exec.exec process.stderr.write(data); } } }; - // we capture the original return code and error so that (if no match is found) we can duplicate the behaviour - let originalReturnValue: Error|number; + // we capture the original return code or error so that if no match is found we can duplicate the behavior + let returnState: Error|number; try { - originalReturnValue = await exec.exec( + returnState = await exec.exec( commandLine, args, { + ...options, // pass original options first in order to override below listeners: listeners, - ...options + ignoreReturnCode: true, // so we can check for specific codes using the matchers }); } catch (e) { - originalReturnValue = e; + returnState = e; } - if (matchers && originalReturnValue !== 0) { + // if there is a zero return code then we do not apply the matchers + if (returnState === 0) return returnState; + + if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === originalReturnValue || regex.test(stderr) || regex.test(stdout) ) { + if (customCode === returnState || regex.test(stderr) || regex.test(stdout) ) { throw new Error(message); } } } - if (typeof originalReturnValue === 'number') { - return originalReturnValue; + if (typeof returnState === 'number') { + // only if we were instructed to ignore the return code do we ever return it non-zero + if (options?.ignoreReturnCode) { + return returnState; + } else { + throw new Error(`The process \'${commandLine}\' failed with exit code ${returnState}`); + } } else { - throw originalReturnValue; + throw returnState; } } From 1f3ce75844fe0a331add272db35dad480a223118 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 15:17:43 +0100 Subject: [PATCH 10/18] add initial suite of tests for exec_wrapper --- lib/exec_wrapper.test.js | 102 ++++++++++++++++++++++ lib/exec_wrapper.test.js.map | 1 + src/exec_wrapper.test.ts | 158 +++++++++++++++++++++++++++++++++++ 3 files changed, 261 insertions(+) create mode 100644 lib/exec_wrapper.test.js create mode 100644 lib/exec_wrapper.test.js.map create mode 100644 src/exec_wrapper.test.ts diff --git a/lib/exec_wrapper.test.js b/lib/exec_wrapper.test.js new file mode 100644 index 000000000..b0ceebc73 --- /dev/null +++ b/lib/exec_wrapper.test.js @@ -0,0 +1,102 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const exec = __importStar(require("@actions/exec")); +const ava_1 = __importDefault(require("ava")); +const exec_wrapper_1 = require("./exec_wrapper"); +const testing_utils_1 = require("./testing-utils"); +// import fs from 'fs'; +// import { exec_wrapper } from './exec_wrapper'; +// const matchers: [[number, RegExp, string]] = [ +// [-999, +// new RegExp("match this string"), +// 'No source code was found. CUSTOM ERROR MESSAGE HERE'], +// ]; +testing_utils_1.setupTests(ava_1.default); +ava_1.default('matchers are never applied if non-error exit', async (t) => { + const testCommand = buildDummyCommand("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); + const matchers = [[123, new RegExp("foo bar"), 'error!!!']]; + t.deepEqual(await exec.exec(testCommand), 0); + t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], matchers), 0); +}); +ava_1.default('regex matchers are applied to stdout for non-zero exit code', async (t) => { + const testCommand = buildDummyCommand("foo bar\\nblort qux", '', '', 1); + const matchers = [[123, new RegExp("foo bar"), '🦄']]; + await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); +}); +ava_1.default('regex matchers are applied to stderr for non-zero exit code', async (t) => { + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + const matchers = [[123, new RegExp("foo bar"), '🦄']]; + await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); +}); +ava_1.default('matcher returns correct error message when multiple matchers defined', async (t) => { + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + const matchers = [[456, new RegExp("lorem ipsum"), '😩'], + [123, new RegExp("foo bar"), '🦄'], + [789, new RegExp("blah blah"), '🤦‍♂️']]; + await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); +}); +ava_1.default('matcher returns first match to regex when multiple matches', async (t) => { + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + const matchers = [[123, new RegExp("foo bar"), '🦄'], + [789, new RegExp("blah blah"), '🤦‍♂️'], + [987, new RegExp("foo bar"), '🚫']]; + await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); +}); +ava_1.default('exit code matchers are applied', async (t) => { + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 123); + const matchers = [[123, new RegExp("this will not match"), '🦄']]; + await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 123' }); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); +}); +ava_1.default('exec_wrapper respects the ignoreReturnValue option', async (t) => { + const testCommand = buildDummyCommand("standard output", 'error output', '', 199); + await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], [], { ignoreReturnCode: false }), { instanceOf: Error }); + t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], [], { ignoreReturnCode: true }), 199); +}); +ava_1.default('exec_wrapper preserves behavior of provided listeners', async (t) => { + let stdoutExpected = 'standard output'; + let stderrExpected = 'error output'; + let stdoutActual = ''; + let stderrActual = ''; + let listeners = { + stdout: (data) => { + stdoutActual += data.toString(); + }, + stderr: (data) => { + stderrActual += data.toString(); + } + }; + const testCommand = buildDummyCommand(stdoutExpected, stderrExpected, '', 0); + t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], [], { listeners: listeners }), 0); + t.deepEqual(stdoutActual, stdoutExpected + "\n"); + t.deepEqual(stderrActual, stderrExpected + "\n"); +}); +function buildDummyCommand(stdoutContents, stderrContents, desiredErrorMessage, desiredExitCode) { + let command = ''; + if (stdoutContents) + command += 'console.log(\\"' + stdoutContents + '\\");'; + if (stderrContents) + command += 'console.error(\\"' + stderrContents + '\\");'; + if (command.length === 0) + throw new Error("Must provide contents for either stdout or stderr"); + if (desiredErrorMessage) + command += 'throw new Error(\\"' + desiredErrorMessage + '\\");'; + if (desiredExitCode) + command += 'process.exitCode = ' + desiredExitCode + ';'; + return 'node -e "' + command + '"'; +} +//# sourceMappingURL=exec_wrapper.test.js.map \ No newline at end of file diff --git a/lib/exec_wrapper.test.js.map b/lib/exec_wrapper.test.js.map new file mode 100644 index 000000000..64c41c8be --- /dev/null +++ b/lib/exec_wrapper.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec_wrapper.test.js","sourceRoot":"","sources":["../src/exec_wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/exec_wrapper.test.ts b/src/exec_wrapper.test.ts new file mode 100644 index 000000000..036551a99 --- /dev/null +++ b/src/exec_wrapper.test.ts @@ -0,0 +1,158 @@ +import * as exec from '@actions/exec'; +import test from 'ava'; + +import { exec_wrapper, ErrorMatcher } from './exec_wrapper'; +import {setupTests} from './testing-utils'; +// import fs from 'fs'; + +// import { exec_wrapper } from './exec_wrapper'; + +// const matchers: [[number, RegExp, string]] = [ +// [-999, +// new RegExp("match this string"), +// 'No source code was found. CUSTOM ERROR MESSAGE HERE'], +// ]; + +setupTests(test); + +test('matchers are never applied if non-error exit', async t => { + + const testCommand = buildDummyCommand("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); + + const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), 'error!!!']]; + + t.deepEqual(await exec.exec(testCommand), 0); + + t.deepEqual(await exec_wrapper(testCommand, [], matchers), 0); + +}); + +test('regex matchers are applied to stdout for non-zero exit code', async t => { + + const testCommand = buildDummyCommand("foo bar\\nblort qux", '', '', 1); + + const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄']]; + + await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); + + await t.throwsAsync( + exec_wrapper(testCommand, [], matchers), + {instanceOf: Error, message: '🦄'} + ); + +}); + +test('regex matchers are applied to stderr for non-zero exit code', async t => { + + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + + const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄']]; + + await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); + + await t.throwsAsync( + exec_wrapper(testCommand, [], matchers), + {instanceOf: Error, message: '🦄'} + ); + +}); + +test('matcher returns correct error message when multiple matchers defined', async t => { + + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + + const matchers: ErrorMatcher[] = [[456, new RegExp("lorem ipsum"), '😩'], + [123, new RegExp("foo bar"), '🦄'], + [789, new RegExp("blah blah"), '🤦‍♂️']]; + + await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); + + await t.throwsAsync( + exec_wrapper(testCommand, [], matchers), + {instanceOf: Error, message: '🦄'} + ); + +}); + +test('matcher returns first match to regex when multiple matches', async t => { + + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); + + const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄'], + [789, new RegExp("blah blah"), '🤦‍♂️'], + [987, new RegExp("foo bar"), '🚫']]; + + await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); + + await t.throwsAsync( + exec_wrapper(testCommand, [], matchers), + {instanceOf: Error, message: '🦄'} + ); + +}); + +test('exit code matchers are applied', async t => { + + const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 123); + + const matchers: ErrorMatcher[] = [[123, new RegExp("this will not match"), '🦄']]; + + await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 123'}); + + await t.throwsAsync( + exec_wrapper(testCommand, [], matchers), + {instanceOf: Error, message: '🦄'} + ); + +}); + +test('exec_wrapper respects the ignoreReturnValue option', async t => { + const testCommand = buildDummyCommand("standard output", 'error output', '', 199); + + await t.throwsAsync(exec_wrapper(testCommand, [], [], {ignoreReturnCode: false}), {instanceOf: Error}); + + t.deepEqual(await exec_wrapper(testCommand, [], [], {ignoreReturnCode: true}), 199); + +}); + +test('exec_wrapper preserves behavior of provided listeners', async t => { + + let stdoutExpected = 'standard output'; + let stderrExpected = 'error output'; + + let stdoutActual = ''; + let stderrActual = ''; + + let listeners = { + stdout: (data: Buffer) => { + stdoutActual += data.toString(); + }, + stderr: (data: Buffer) => { + stderrActual += data.toString(); + } + }; + + const testCommand = buildDummyCommand(stdoutExpected, stderrExpected, '', 0); + + t.deepEqual(await exec_wrapper(testCommand, [], [], {listeners: listeners}), 0); + + t.deepEqual(stdoutActual, stdoutExpected + "\n"); + t.deepEqual(stderrActual, stderrExpected + "\n"); + +}); + +function buildDummyCommand(stdoutContents: string, stderrContents: string, + desiredErrorMessage?: string, desiredExitCode?: number): string { + + let command = ''; + + if (stdoutContents) command += 'console.log(\\"' + stdoutContents + '\\");'; + if (stderrContents) command += 'console.error(\\"' + stderrContents + '\\");'; + + if (command.length === 0) throw new Error("Must provide contents for either stdout or stderr"); + + if (desiredErrorMessage) command += 'throw new Error(\\"' + desiredErrorMessage + '\\");'; + if (desiredExitCode) command += 'process.exitCode = ' + desiredExitCode + ';'; + + return 'node -e "' + command + '"'; +} From 7dbaff09b608c15860638396597f24a3535a8e35 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 15:49:03 +0100 Subject: [PATCH 11/18] move error matcher definition into dedicated file --- lib/codeql.js | 5 +++-- lib/codeql.js.map | 2 +- lib/error_matcher.js | 6 ++++++ lib/error_matcher.js.map | 1 + lib/exec_wrapper.js | 2 +- lib/exec_wrapper.js.map | 2 +- lib/exec_wrapper.test.js.map | 2 +- src/codeql.ts | 5 +++-- src/error_matcher.ts | 19 +++++++++++++++++++ src/exec_wrapper.test.ts | 3 ++- src/exec_wrapper.ts | 5 ++--- 11 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 lib/error_matcher.js create mode 100644 lib/error_matcher.js.map create mode 100644 src/error_matcher.ts diff --git a/lib/codeql.js b/lib/codeql.js index 32ba1d384..ea0a032a6 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -22,6 +22,7 @@ const globalutil = __importStar(require("util")); const v4_1 = __importDefault(require("uuid/v4")); const api = __importStar(require("./api-client")); const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool! +const error_matcher_1 = require("./error_matcher"); const exec_wrapper_1 = require("./exec_wrapper"); const util = __importStar(require("./util")); /** @@ -296,7 +297,7 @@ function getCodeQLForCmd(cmd) { databasePath, '--', traceCommand - ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); + ], error_matcher_1.error_matchers); }, finalizeDatabase: async function (databasePath) { await exec_wrapper_1.exec_wrapper(cmd, [ @@ -304,7 +305,7 @@ function getCodeQLForCmd(cmd) { 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), databasePath - ], [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); + ], error_matcher_1.error_matchers); }, resolveQueries: async function (queries, extraSearchPath) { const codeqlArgs = [ diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 9da2c85b0..b7b0659d5 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/error_matcher.js b/lib/error_matcher.js new file mode 100644 index 000000000..4b523b5f9 --- /dev/null +++ b/lib/error_matcher.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.error_matchers = [ + [32, new RegExp("No JavaScript or TypeScript code found\\."), 'foo bar'] +]; +//# sourceMappingURL=error_matcher.js.map \ No newline at end of file diff --git a/lib/error_matcher.js.map b/lib/error_matcher.js.map new file mode 100644 index 000000000..02bb25613 --- /dev/null +++ b/lib/error_matcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"error_matcher.js","sourceRoot":"","sources":["../src/error_matcher.ts"],"names":[],"mappings":";;AAGa,QAAA,cAAc,GAAmB;IAC5C,CAAC,EAAE,EAAE,IAAI,MAAM,CAAC,2CAA2C,CAAC,EAAE,SAAS,CAAC;CACzE,CAAC"} \ No newline at end of file diff --git a/lib/exec_wrapper.js b/lib/exec_wrapper.js index f698aab2d..c8224d25d 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec_wrapper.js @@ -64,7 +64,7 @@ async function exec_wrapper(commandLine, args, matchers, options) { return returnState; if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === returnState || regex.test(stderr) || regex.test(stdout)) { + if (customCode === returnState || regex && (regex.test(stderr) || regex.test(stdout))) { throw new Error(message); } } diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map index 60d0bec1d..32f47be9c 100644 --- a/lib/exec_wrapper.js.map +++ b/lib/exec_wrapper.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAMtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG;gBAC3E,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAjED,oCAiEC"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAKtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAjED,oCAiEC"} \ No newline at end of file diff --git a/lib/exec_wrapper.test.js.map b/lib/exec_wrapper.test.js.map index 64c41c8be..b805c8b80 100644 --- a/lib/exec_wrapper.test.js.map +++ b/lib/exec_wrapper.test.js.map @@ -1 +1 @@ -{"version":3,"file":"exec_wrapper.test.js","sourceRoot":"","sources":["../src/exec_wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"exec_wrapper.test.js","sourceRoot":"","sources":["../src/exec_wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 8b35e3461..beb46121c 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -12,6 +12,7 @@ import uuidV4 from 'uuid/v4'; import * as api from './api-client'; import * as defaults from './defaults.json'; // Referenced from codeql-action-sync-tool! +import { errorMatchers} from './error_matcher'; import { exec_wrapper } from './exec_wrapper'; import { Language } from './languages'; import * as util from './util'; @@ -390,7 +391,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { '--', traceCommand ], - [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']] + errorMatchers ); }, finalizeDatabase: async function(databasePath: string) { @@ -401,7 +402,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { ...getExtraOptionsFromEnv(['database', 'finalize']), databasePath ], - [[0, new RegExp("(No source code was seen during the build\\.|No JavaScript or TypeScript code found\\.)"), 'foo bar']]); + errorMatchers); }, resolveQueries: async function(queries: string[], extraSearchPath: string | undefined) { const codeqlArgs = [ diff --git a/src/error_matcher.ts b/src/error_matcher.ts new file mode 100644 index 000000000..f3ffc5e94 --- /dev/null +++ b/src/error_matcher.ts @@ -0,0 +1,19 @@ + +export type ErrorMatcher = [number|null, RegExp|null, string]; + +const namedMatchers: { [key: string]: ErrorMatcher } = { + noSourceCodeFound: [ + 32, + null, + `No source code was seen during the build. Please see... +https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` + ], + noSourceCodeFoundJavascript: [ + null, + new RegExp("No JavaScript or TypeScript code found\\."), + `No source code was seen during the build. Please see... +https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` + ] +}; + +export const errorMatchers = Object.values(namedMatchers); diff --git a/src/exec_wrapper.test.ts b/src/exec_wrapper.test.ts index 036551a99..46b93ab80 100644 --- a/src/exec_wrapper.test.ts +++ b/src/exec_wrapper.test.ts @@ -1,7 +1,8 @@ import * as exec from '@actions/exec'; import test from 'ava'; -import { exec_wrapper, ErrorMatcher } from './exec_wrapper'; +import { ErrorMatcher } from './error_matcher'; +import { exec_wrapper } from './exec_wrapper'; import {setupTests} from './testing-utils'; // import fs from 'fs'; diff --git a/src/exec_wrapper.ts b/src/exec_wrapper.ts index b9a70e7c4..ff9088004 100644 --- a/src/exec_wrapper.ts +++ b/src/exec_wrapper.ts @@ -1,8 +1,7 @@ import * as exec from '@actions/exec'; import * as im from '@actions/exec/lib/interfaces'; - -export type ErrorMatcher = [number, RegExp, string]; +import {ErrorMatcher} from './error_matcher'; /** * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. @@ -64,7 +63,7 @@ export async function exec_wrapper(commandLine: string, args?: string[], if (matchers) { for (const [customCode, regex, message] of matchers) { - if (customCode === returnState || regex.test(stderr) || regex.test(stdout) ) { + if (customCode === returnState || regex && (regex.test(stderr) || regex.test(stdout)) ) { throw new Error(message); } } From 3e6d23928bb590e0714fcbd23a8fa3ea01aaa5cb Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 22:50:37 +0100 Subject: [PATCH 12/18] add test for initial error matcher --- lib/codeql.js | 4 ++-- lib/codeql.js.map | 2 +- lib/error_matcher.js | 18 +++++++++++++++--- lib/error_matcher.js.map | 2 +- lib/error_matcher.test.js | 33 +++++++++++++++++++++++++++++++++ lib/error_matcher.test.js.map | 1 + src/error_matcher.test.ts | 33 +++++++++++++++++++++++++++++++++ src/error_matcher.ts | 18 +++++++++--------- 8 files changed, 95 insertions(+), 16 deletions(-) create mode 100644 lib/error_matcher.test.js create mode 100644 lib/error_matcher.test.js.map create mode 100644 src/error_matcher.test.ts diff --git a/lib/codeql.js b/lib/codeql.js index ea0a032a6..c3f5c0897 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -297,7 +297,7 @@ function getCodeQLForCmd(cmd) { databasePath, '--', traceCommand - ], error_matcher_1.error_matchers); + ], error_matcher_1.errorMatchers); }, finalizeDatabase: async function (databasePath) { await exec_wrapper_1.exec_wrapper(cmd, [ @@ -305,7 +305,7 @@ function getCodeQLForCmd(cmd) { 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), databasePath - ], error_matcher_1.error_matchers); + ], error_matcher_1.errorMatchers); }, resolveQueries: async function (queries, extraSearchPath) { const codeqlArgs = [ diff --git a/lib/codeql.js.map b/lib/codeql.js.map index b7b0659d5..24a578537 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/error_matcher.js b/lib/error_matcher.js index 4b523b5f9..fee347b71 100644 --- a/lib/error_matcher.js +++ b/lib/error_matcher.js @@ -1,6 +1,18 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.error_matchers = [ - [32, new RegExp("No JavaScript or TypeScript code found\\."), 'foo bar'] -]; +// exported only for testing purposes +exports.namedMatchersForTesting = { + /* + In due course it may be possible to remove the regex, if/when javascript also exits with code 32. + For context see https://github.com/github/semmle-code/pull/36921 + */ + noSourceCodeFound: [ + 32, + new RegExp("No JavaScript or TypeScript code found\\."), + `No source code was seen during the build. Please see... +https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` + ], +}; +// we collapse the matches into an array for use in exec_wrapper +exports.errorMatchers = Object.values(exports.namedMatchersForTesting); //# sourceMappingURL=error_matcher.js.map \ No newline at end of file diff --git a/lib/error_matcher.js.map b/lib/error_matcher.js.map index 02bb25613..c5628937a 100644 --- a/lib/error_matcher.js.map +++ b/lib/error_matcher.js.map @@ -1 +1 @@ -{"version":3,"file":"error_matcher.js","sourceRoot":"","sources":["../src/error_matcher.ts"],"names":[],"mappings":";;AAGa,QAAA,cAAc,GAAmB;IAC5C,CAAC,EAAE,EAAE,IAAI,MAAM,CAAC,2CAA2C,CAAC,EAAE,SAAS,CAAC;CACzE,CAAC"} \ No newline at end of file +{"version":3,"file":"error_matcher.js","sourceRoot":"","sources":["../src/error_matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;;MAGE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD;wJACoJ;KACrJ;CACF,CAAC;AAEF,gEAAgE;AACnD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/error_matcher.test.js b/lib/error_matcher.test.js new file mode 100644 index 000000000..1969b9ceb --- /dev/null +++ b/lib/error_matcher.test.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ava_1 = __importDefault(require("ava")); +const error_matcher_1 = require("./error_matcher"); +/* +NB We test the regexes for all the matchers against example log output snippets. +*/ +ava_1.default('noSourceCodeFound matches against example javascript output', async (t) => { + t.assert(testErrorMatcher("noSourceCodeFound", ` + 2020-09-07T17:39:53.9050522Z [2020-09-07 17:39:53] [build] Done extracting /opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/javascript/tools/data/externs/web/ie_vml.js (3 ms) + 2020-09-07T17:39:53.9051849Z [2020-09-07 17:39:53] [build-err] No JavaScript or TypeScript code found. + 2020-09-07T17:39:53.9052444Z [2020-09-07 17:39:53] [build-err] No JavaScript or TypeScript code found. + 2020-09-07T17:39:53.9251124Z [2020-09-07 17:39:53] [ERROR] Spawned process exited abnormally (code 255; tried to run: [/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/javascript/tools/autobuild.sh]) + `)); +}); +function testErrorMatcher(matcherName, logSample) { + const regex = error_matcher_1.namedMatchersForTesting[matcherName] ? error_matcher_1.namedMatchersForTesting[matcherName][1] : null; + if (regex) { + return regex.test(logSample); + } + else { + if (error_matcher_1.namedMatchersForTesting[matcherName]) { + throw new Error(`Cannot test matcher ${matcherName} with null regex`); + } + else { + throw new Error(`Unknown matcher ${matcherName}`); + } + } +} +//# sourceMappingURL=error_matcher.test.js.map \ No newline at end of file diff --git a/lib/error_matcher.test.js.map b/lib/error_matcher.test.js.map new file mode 100644 index 000000000..bb17b4bda --- /dev/null +++ b/lib/error_matcher.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"error_matcher.test.js","sourceRoot":"","sources":["../src/error_matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,uCAAuB,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;SACnD;KACF;AAEH,CAAC"} \ No newline at end of file diff --git a/src/error_matcher.test.ts b/src/error_matcher.test.ts new file mode 100644 index 000000000..9d86eebe9 --- /dev/null +++ b/src/error_matcher.test.ts @@ -0,0 +1,33 @@ + +import test from 'ava'; + +import { namedMatchersForTesting } from './error_matcher'; + +/* +NB We test the regexes for all the matchers against example log output snippets. +*/ + +test('noSourceCodeFound matches against example javascript output', async t => { + t.assert(testErrorMatcher("noSourceCodeFound", ` + 2020-09-07T17:39:53.9050522Z [2020-09-07 17:39:53] [build] Done extracting /opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/javascript/tools/data/externs/web/ie_vml.js (3 ms) + 2020-09-07T17:39:53.9051849Z [2020-09-07 17:39:53] [build-err] No JavaScript or TypeScript code found. + 2020-09-07T17:39:53.9052444Z [2020-09-07 17:39:53] [build-err] No JavaScript or TypeScript code found. + 2020-09-07T17:39:53.9251124Z [2020-09-07 17:39:53] [ERROR] Spawned process exited abnormally (code 255; tried to run: [/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/javascript/tools/autobuild.sh]) + `)); +}); + +function testErrorMatcher(matcherName: string, logSample: string): boolean { + + const regex = namedMatchersForTesting[matcherName] ? namedMatchersForTesting[matcherName][1] : null; + + if (regex) { + return regex.test(logSample); + } else { + if (namedMatchersForTesting[matcherName]) { + throw new Error(`Cannot test matcher ${matcherName} with null regex`); + } else { + throw new Error(`Unknown matcher ${matcherName}`); + } + } + +} diff --git a/src/error_matcher.ts b/src/error_matcher.ts index f3ffc5e94..5344cd06d 100644 --- a/src/error_matcher.ts +++ b/src/error_matcher.ts @@ -1,19 +1,19 @@ export type ErrorMatcher = [number|null, RegExp|null, string]; -const namedMatchers: { [key: string]: ErrorMatcher } = { +// exported only for testing purposes +export const namedMatchersForTesting: { [key: string]: ErrorMatcher } = { + /* + In due course it may be possible to remove the regex, if/when javascript also exits with code 32. + For context see https://github.com/github/semmle-code/pull/36921 + */ noSourceCodeFound: [ 32, - null, - `No source code was seen during the build. Please see... -https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` - ], - noSourceCodeFoundJavascript: [ - null, new RegExp("No JavaScript or TypeScript code found\\."), `No source code was seen during the build. Please see... https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` - ] + ], }; -export const errorMatchers = Object.values(namedMatchers); +// we collapse the matches into an array for use in exec_wrapper +export const errorMatchers = Object.values(namedMatchersForTesting); From cc2dfaf5d871902b24801add006e43750ad264fb Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 23:02:58 +0100 Subject: [PATCH 13/18] clean up and rename things to follow proper conventions --- lib/codeql.js | 8 ++--- lib/codeql.js.map | 2 +- lib/{error_matcher.js => error-matcher.js} | 4 +-- lib/error-matcher.js.map | 1 + ..._matcher.test.js => error-matcher.test.js} | 4 +-- ....test.js.map => error-matcher.test.js.map} | 2 +- lib/error_matcher.js.map | 1 - lib/{exec_wrapper.js => exec-wrapper.js} | 6 ++-- lib/exec-wrapper.js.map | 1 + ...c_wrapper.test.js => exec-wrapper.test.js} | 33 +++++++---------- lib/exec-wrapper.test.js.map | 1 + lib/exec_wrapper.js.map | 1 - lib/exec_wrapper.test.js.map | 1 - src/codeql.ts | 8 ++--- ..._matcher.test.ts => error-matcher.test.ts} | 2 +- src/{error_matcher.ts => error-matcher.ts} | 2 +- ...c_wrapper.test.ts => exec-wrapper.test.ts} | 35 +++++++------------ src/{exec_wrapper.ts => exec-wrapper.ts} | 8 ++--- 18 files changed, 52 insertions(+), 68 deletions(-) rename lib/{error_matcher.js => error-matcher.js} (87%) create mode 100644 lib/error-matcher.js.map rename lib/{error_matcher.test.js => error-matcher.test.js} (94%) rename lib/{error_matcher.test.js.map => error-matcher.test.js.map} (82%) delete mode 100644 lib/error_matcher.js.map rename lib/{exec_wrapper.js => exec-wrapper.js} (95%) create mode 100644 lib/exec-wrapper.js.map rename lib/{exec_wrapper.test.js => exec-wrapper.test.js} (73%) create mode 100644 lib/exec-wrapper.test.js.map delete mode 100644 lib/exec_wrapper.js.map delete mode 100644 lib/exec_wrapper.test.js.map rename src/{error_matcher.test.ts => error-matcher.test.ts} (95%) rename src/{error_matcher.ts => error-matcher.ts} (91%) rename src/{exec_wrapper.test.ts => exec-wrapper.test.ts} (80%) rename src/{exec_wrapper.ts => exec-wrapper.ts} (90%) diff --git a/lib/codeql.js b/lib/codeql.js index c3f5c0897..b445fe9eb 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -22,8 +22,8 @@ const globalutil = __importStar(require("util")); const v4_1 = __importDefault(require("uuid/v4")); const api = __importStar(require("./api-client")); const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool! -const error_matcher_1 = require("./error_matcher"); -const exec_wrapper_1 = require("./exec_wrapper"); +const error_matcher_1 = require("./error-matcher"); +const exec_wrapper_1 = require("./exec-wrapper"); const util = __importStar(require("./util")); /** * Stores the CodeQL object, and is populated by `setupCodeQL` or `getCodeQL`. @@ -290,7 +290,7 @@ function getCodeQLForCmd(cmd) { const ext = process.platform === 'win32' ? '.cmd' : '.sh'; const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await exec_wrapper_1.exec_wrapper(cmd, [ + await exec_wrapper_1.execErrorCatcher(cmd, [ 'database', 'trace-command', ...getExtraOptionsFromEnv(['database', 'trace-command']), @@ -300,7 +300,7 @@ function getCodeQLForCmd(cmd) { ], error_matcher_1.errorMatchers); }, finalizeDatabase: async function (databasePath) { - await exec_wrapper_1.exec_wrapper(cmd, [ + await exec_wrapper_1.execErrorCatcher(cmd, [ 'database', 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 24a578537..864348ab3 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/error_matcher.js b/lib/error-matcher.js similarity index 87% rename from lib/error_matcher.js rename to lib/error-matcher.js index fee347b71..2557b5a07 100644 --- a/lib/error_matcher.js +++ b/lib/error-matcher.js @@ -13,6 +13,6 @@ exports.namedMatchersForTesting = { https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` ], }; -// we collapse the matches into an array for use in exec_wrapper +// we collapse the matches into an array for use in execErrorCatcher exports.errorMatchers = Object.values(exports.namedMatchersForTesting); -//# sourceMappingURL=error_matcher.js.map \ No newline at end of file +//# sourceMappingURL=error-matcher.js.map \ No newline at end of file diff --git a/lib/error-matcher.js.map b/lib/error-matcher.js.map new file mode 100644 index 000000000..3e6fa866c --- /dev/null +++ b/lib/error-matcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;;MAGE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD;wJACoJ;KACrJ;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/error_matcher.test.js b/lib/error-matcher.test.js similarity index 94% rename from lib/error_matcher.test.js rename to lib/error-matcher.test.js index 1969b9ceb..d68d58d96 100644 --- a/lib/error_matcher.test.js +++ b/lib/error-matcher.test.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = __importDefault(require("ava")); -const error_matcher_1 = require("./error_matcher"); +const error_matcher_1 = require("./error-matcher"); /* NB We test the regexes for all the matchers against example log output snippets. */ @@ -30,4 +30,4 @@ function testErrorMatcher(matcherName, logSample) { } } } -//# sourceMappingURL=error_matcher.test.js.map \ No newline at end of file +//# sourceMappingURL=error-matcher.test.js.map \ No newline at end of file diff --git a/lib/error_matcher.test.js.map b/lib/error-matcher.test.js.map similarity index 82% rename from lib/error_matcher.test.js.map rename to lib/error-matcher.test.js.map index bb17b4bda..60db0bb8b 100644 --- a/lib/error_matcher.test.js.map +++ b/lib/error-matcher.test.js.map @@ -1 +1 @@ -{"version":3,"file":"error_matcher.test.js","sourceRoot":"","sources":["../src/error_matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,uCAAuB,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;SACnD;KACF;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"error-matcher.test.js","sourceRoot":"","sources":["../src/error-matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,uCAAuB,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;SACnD;KACF;AAEH,CAAC"} \ No newline at end of file diff --git a/lib/error_matcher.js.map b/lib/error_matcher.js.map deleted file mode 100644 index c5628937a..000000000 --- a/lib/error_matcher.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error_matcher.js","sourceRoot":"","sources":["../src/error_matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;;MAGE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD;wJACoJ;KACrJ;CACF,CAAC;AAEF,gEAAgE;AACnD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/exec_wrapper.js b/lib/exec-wrapper.js similarity index 95% rename from lib/exec_wrapper.js rename to lib/exec-wrapper.js index c8224d25d..9921a3a3f 100644 --- a/lib/exec_wrapper.js +++ b/lib/exec-wrapper.js @@ -19,7 +19,7 @@ const exec = __importStar(require("@actions/exec")); * @param options optional exec options. See ExecOptions * @returns Promise exit code */ -async function exec_wrapper(commandLine, args, matchers, options) { +async function execErrorCatcher(commandLine, args, matchers, options) { var _a; let stdout = ''; let stderr = ''; @@ -82,5 +82,5 @@ async function exec_wrapper(commandLine, args, matchers, options) { throw returnState; } } -exports.exec_wrapper = exec_wrapper; -//# sourceMappingURL=exec_wrapper.js.map \ No newline at end of file +exports.execErrorCatcher = execErrorCatcher; +//# sourceMappingURL=exec-wrapper.js.map \ No newline at end of file diff --git a/lib/exec-wrapper.js.map b/lib/exec-wrapper.js.map new file mode 100644 index 000000000..b0b416c87 --- /dev/null +++ b/lib/exec-wrapper.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec-wrapper.js","sourceRoot":"","sources":["../src/exec-wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAKtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAE7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAjED,4CAiEC"} \ No newline at end of file diff --git a/lib/exec_wrapper.test.js b/lib/exec-wrapper.test.js similarity index 73% rename from lib/exec_wrapper.test.js rename to lib/exec-wrapper.test.js index b0ceebc73..7a9279e37 100644 --- a/lib/exec_wrapper.test.js +++ b/lib/exec-wrapper.test.js @@ -12,33 +12,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const exec = __importStar(require("@actions/exec")); const ava_1 = __importDefault(require("ava")); -const exec_wrapper_1 = require("./exec_wrapper"); +const exec_wrapper_1 = require("./exec-wrapper"); const testing_utils_1 = require("./testing-utils"); -// import fs from 'fs'; -// import { exec_wrapper } from './exec_wrapper'; -// const matchers: [[number, RegExp, string]] = [ -// [-999, -// new RegExp("match this string"), -// 'No source code was found. CUSTOM ERROR MESSAGE HERE'], -// ]; testing_utils_1.setupTests(ava_1.default); ava_1.default('matchers are never applied if non-error exit', async (t) => { const testCommand = buildDummyCommand("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); const matchers = [[123, new RegExp("foo bar"), 'error!!!']]; t.deepEqual(await exec.exec(testCommand), 0); - t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], matchers), 0); + t.deepEqual(await exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), 0); }); ava_1.default('regex matchers are applied to stdout for non-zero exit code', async (t) => { const testCommand = buildDummyCommand("foo bar\\nblort qux", '', '', 1); const matchers = [[123, new RegExp("foo bar"), '🦄']]; await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('regex matchers are applied to stderr for non-zero exit code', async (t) => { const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); const matchers = [[123, new RegExp("foo bar"), '🦄']]; await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns correct error message when multiple matchers defined', async (t) => { const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); @@ -46,7 +39,7 @@ ava_1.default('matcher returns correct error message when multiple matchers defi [123, new RegExp("foo bar"), '🦄'], [789, new RegExp("blah blah"), '🤦‍♂️']]; await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns first match to regex when multiple matches', async (t) => { const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 1); @@ -54,20 +47,20 @@ ava_1.default('matcher returns first match to regex when multiple matches', asyn [789, new RegExp("blah blah"), '🤦‍♂️'], [987, new RegExp("foo bar"), '🚫']]; await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('exit code matchers are applied', async (t) => { const testCommand = buildDummyCommand("non matching string", 'foo bar\\nblort qux', '', 123); const matchers = [[123, new RegExp("this will not match"), '🦄']]; await t.throwsAsync(exec.exec(testCommand), { instanceOf: Error, message: 'The process \'node\' failed with exit code 123' }); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], matchers), { instanceOf: Error, message: '🦄' }); }); -ava_1.default('exec_wrapper respects the ignoreReturnValue option', async (t) => { +ava_1.default('execErrorCatcher respects the ignoreReturnValue option', async (t) => { const testCommand = buildDummyCommand("standard output", 'error output', '', 199); - await t.throwsAsync(exec_wrapper_1.exec_wrapper(testCommand, [], [], { ignoreReturnCode: false }), { instanceOf: Error }); - t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], [], { ignoreReturnCode: true }), 199); + await t.throwsAsync(exec_wrapper_1.execErrorCatcher(testCommand, [], [], { ignoreReturnCode: false }), { instanceOf: Error }); + t.deepEqual(await exec_wrapper_1.execErrorCatcher(testCommand, [], [], { ignoreReturnCode: true }), 199); }); -ava_1.default('exec_wrapper preserves behavior of provided listeners', async (t) => { +ava_1.default('execErrorCatcher preserves behavior of provided listeners', async (t) => { let stdoutExpected = 'standard output'; let stderrExpected = 'error output'; let stdoutActual = ''; @@ -81,7 +74,7 @@ ava_1.default('exec_wrapper preserves behavior of provided listeners', async (t) } }; const testCommand = buildDummyCommand(stdoutExpected, stderrExpected, '', 0); - t.deepEqual(await exec_wrapper_1.exec_wrapper(testCommand, [], [], { listeners: listeners }), 0); + t.deepEqual(await exec_wrapper_1.execErrorCatcher(testCommand, [], [], { listeners: listeners }), 0); t.deepEqual(stdoutActual, stdoutExpected + "\n"); t.deepEqual(stderrActual, stderrExpected + "\n"); }); @@ -99,4 +92,4 @@ function buildDummyCommand(stdoutContents, stderrContents, desiredErrorMessage, command += 'process.exitCode = ' + desiredExitCode + ';'; return 'node -e "' + command + '"'; } -//# sourceMappingURL=exec_wrapper.test.js.map \ No newline at end of file +//# sourceMappingURL=exec-wrapper.test.js.map \ No newline at end of file diff --git a/lib/exec-wrapper.test.js.map b/lib/exec-wrapper.test.js.map new file mode 100644 index 000000000..f85325915 --- /dev/null +++ b/lib/exec-wrapper.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec-wrapper.test.js","sourceRoot":"","sources":["../src/exec-wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/exec_wrapper.js.map b/lib/exec_wrapper.js.map deleted file mode 100644 index 32f47be9c..000000000 --- a/lib/exec_wrapper.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"exec_wrapper.js","sourceRoot":"","sources":["../src/exec_wrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAKtC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEzD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACN;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAjED,oCAiEC"} \ No newline at end of file diff --git a/lib/exec_wrapper.test.js.map b/lib/exec_wrapper.test.js.map deleted file mode 100644 index b805c8b80..000000000 --- a/lib/exec_wrapper.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"exec_wrapper.test.js","sourceRoot":"","sources":["../src/exec_wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index beb46121c..bc2876cfd 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -12,8 +12,8 @@ import uuidV4 from 'uuid/v4'; import * as api from './api-client'; import * as defaults from './defaults.json'; // Referenced from codeql-action-sync-tool! -import { errorMatchers} from './error_matcher'; -import { exec_wrapper } from './exec_wrapper'; +import { errorMatchers} from './error-matcher'; +import { execErrorCatcher } from './exec-wrapper'; import { Language } from './languages'; import * as util from './util'; @@ -382,7 +382,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await exec_wrapper( + await execErrorCatcher( cmd, [ 'database', 'trace-command', @@ -395,7 +395,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { ); }, finalizeDatabase: async function(databasePath: string) { - await exec_wrapper( + await execErrorCatcher( cmd, [ 'database', 'finalize', diff --git a/src/error_matcher.test.ts b/src/error-matcher.test.ts similarity index 95% rename from src/error_matcher.test.ts rename to src/error-matcher.test.ts index 9d86eebe9..4dc99bccf 100644 --- a/src/error_matcher.test.ts +++ b/src/error-matcher.test.ts @@ -1,7 +1,7 @@ import test from 'ava'; -import { namedMatchersForTesting } from './error_matcher'; +import { namedMatchersForTesting } from './error-matcher'; /* NB We test the regexes for all the matchers against example log output snippets. diff --git a/src/error_matcher.ts b/src/error-matcher.ts similarity index 91% rename from src/error_matcher.ts rename to src/error-matcher.ts index 5344cd06d..68f0bbb1d 100644 --- a/src/error_matcher.ts +++ b/src/error-matcher.ts @@ -15,5 +15,5 @@ https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in ], }; -// we collapse the matches into an array for use in exec_wrapper +// we collapse the matches into an array for use in execErrorCatcher export const errorMatchers = Object.values(namedMatchersForTesting); diff --git a/src/exec_wrapper.test.ts b/src/exec-wrapper.test.ts similarity index 80% rename from src/exec_wrapper.test.ts rename to src/exec-wrapper.test.ts index 46b93ab80..55ce5d0de 100644 --- a/src/exec_wrapper.test.ts +++ b/src/exec-wrapper.test.ts @@ -1,18 +1,9 @@ import * as exec from '@actions/exec'; import test from 'ava'; -import { ErrorMatcher } from './error_matcher'; -import { exec_wrapper } from './exec_wrapper'; +import { ErrorMatcher } from './error-matcher'; +import { execErrorCatcher } from './exec-wrapper'; import {setupTests} from './testing-utils'; -// import fs from 'fs'; - -// import { exec_wrapper } from './exec_wrapper'; - -// const matchers: [[number, RegExp, string]] = [ -// [-999, -// new RegExp("match this string"), -// 'No source code was found. CUSTOM ERROR MESSAGE HERE'], -// ]; setupTests(test); @@ -24,7 +15,7 @@ test('matchers are never applied if non-error exit', async t => { t.deepEqual(await exec.exec(testCommand), 0); - t.deepEqual(await exec_wrapper(testCommand, [], matchers), 0); + t.deepEqual(await execErrorCatcher(testCommand, [], matchers), 0); }); @@ -37,7 +28,7 @@ test('regex matchers are applied to stdout for non-zero exit code', async t => { await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - exec_wrapper(testCommand, [], matchers), + execErrorCatcher(testCommand, [], matchers), {instanceOf: Error, message: '🦄'} ); @@ -52,7 +43,7 @@ test('regex matchers are applied to stderr for non-zero exit code', async t => { await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - exec_wrapper(testCommand, [], matchers), + execErrorCatcher(testCommand, [], matchers), {instanceOf: Error, message: '🦄'} ); @@ -69,7 +60,7 @@ test('matcher returns correct error message when multiple matchers defined', asy await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - exec_wrapper(testCommand, [], matchers), + execErrorCatcher(testCommand, [], matchers), {instanceOf: Error, message: '🦄'} ); @@ -86,7 +77,7 @@ test('matcher returns first match to regex when multiple matches', async t => { await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - exec_wrapper(testCommand, [], matchers), + execErrorCatcher(testCommand, [], matchers), {instanceOf: Error, message: '🦄'} ); @@ -101,22 +92,22 @@ test('exit code matchers are applied', async t => { await t.throwsAsync(exec.exec(testCommand), {instanceOf: Error, message: 'The process \'node\' failed with exit code 123'}); await t.throwsAsync( - exec_wrapper(testCommand, [], matchers), + execErrorCatcher(testCommand, [], matchers), {instanceOf: Error, message: '🦄'} ); }); -test('exec_wrapper respects the ignoreReturnValue option', async t => { +test('execErrorCatcher respects the ignoreReturnValue option', async t => { const testCommand = buildDummyCommand("standard output", 'error output', '', 199); - await t.throwsAsync(exec_wrapper(testCommand, [], [], {ignoreReturnCode: false}), {instanceOf: Error}); + await t.throwsAsync(execErrorCatcher(testCommand, [], [], {ignoreReturnCode: false}), {instanceOf: Error}); - t.deepEqual(await exec_wrapper(testCommand, [], [], {ignoreReturnCode: true}), 199); + t.deepEqual(await execErrorCatcher(testCommand, [], [], {ignoreReturnCode: true}), 199); }); -test('exec_wrapper preserves behavior of provided listeners', async t => { +test('execErrorCatcher preserves behavior of provided listeners', async t => { let stdoutExpected = 'standard output'; let stderrExpected = 'error output'; @@ -135,7 +126,7 @@ test('exec_wrapper preserves behavior of provided listeners', async t => { const testCommand = buildDummyCommand(stdoutExpected, stderrExpected, '', 0); - t.deepEqual(await exec_wrapper(testCommand, [], [], {listeners: listeners}), 0); + t.deepEqual(await execErrorCatcher(testCommand, [], [], {listeners: listeners}), 0); t.deepEqual(stdoutActual, stdoutExpected + "\n"); t.deepEqual(stderrActual, stderrExpected + "\n"); diff --git a/src/exec_wrapper.ts b/src/exec-wrapper.ts similarity index 90% rename from src/exec_wrapper.ts rename to src/exec-wrapper.ts index ff9088004..27eabf557 100644 --- a/src/exec_wrapper.ts +++ b/src/exec-wrapper.ts @@ -1,7 +1,7 @@ import * as exec from '@actions/exec'; import * as im from '@actions/exec/lib/interfaces'; -import {ErrorMatcher} from './error_matcher'; +import {ErrorMatcher} from './error-matcher'; /** * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. @@ -14,9 +14,9 @@ import {ErrorMatcher} from './error_matcher'; * @param options optional exec options. See ExecOptions * @returns Promise exit code */ -export async function exec_wrapper(commandLine: string, args?: string[], - matchers?: ErrorMatcher[], - options?: im.ExecOptions): Promise { +export async function execErrorCatcher(commandLine: string, args?: string[], + matchers?: ErrorMatcher[], + options?: im.ExecOptions): Promise { let stdout = ''; let stderr = ''; From 30bb37a5c771ca0828a4ff3e113f066291678bb3 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 23:11:10 +0100 Subject: [PATCH 14/18] restore all default workflow triggers and integration tests --- .github/workflows/cli.yml | 2 +- .github/workflows/codeql.yml | 2 +- .github/workflows/integration-testing.yml | 278 +++++++++++----------- .github/workflows/pr-checks.yml | 2 +- 4 files changed, 142 insertions(+), 142 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 189ac7d1e..1ce2fbfc4 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -1,6 +1,6 @@ name: "CodeScanning CLI" -on: [pull_request] +on: [push, pull_request] jobs: build: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 944484407..dbf82c60d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,6 +1,6 @@ name: "CodeQL action" -on: [pull_request] +on: [push, pull_request] jobs: build: diff --git a/.github/workflows/integration-testing.yml b/.github/workflows/integration-testing.yml index 85fafe8e7..8334925a7 100644 --- a/.github/workflows/integration-testing.yml +++ b/.github/workflows/integration-testing.yml @@ -3,153 +3,153 @@ name: "Integration Testing" on: [push, pull_request] jobs: - # multi-language-repo_test-autodetect-languages: - # runs-on: ubuntu-latest + multi-language-repo_test-autodetect-languages: + runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - name: Move codeql-action - # shell: bash - # run: | - # mkdir ../action - # mv * .github ../action/ - # mv ../action/tests/multi-language-repo/{*,.github} . - # - uses: ./../action/init - # - name: Build code - # shell: bash - # run: ./build.sh - # - uses: ./../action/analyze - # env: - # TEST_MODE: true - # - run: | - # cd "$RUNNER_TEMP/codeql_databases" - # # List all directories as there will be precisely one directory per database - # # but there may be other files in this directory such as query suites. - # if [ "$(ls -d */ | wc -l)" != 6 ] || \ - # [[ ! -d cpp ]] || \ - # [[ ! -d csharp ]] || \ - # [[ ! -d go ]] || \ - # [[ ! -d java ]] || \ - # [[ ! -d javascript ]] || \ - # [[ ! -d python ]]; then - # echo "Did not find expected number of databases. Database dir contains: $(ls)" - # exit 1 - # fi + steps: + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + mv * .github ../action/ + mv ../action/tests/multi-language-repo/{*,.github} . + - uses: ./../action/init + - name: Build code + shell: bash + run: ./build.sh + - uses: ./../action/analyze + env: + TEST_MODE: true + - run: | + cd "$RUNNER_TEMP/codeql_databases" + # List all directories as there will be precisely one directory per database + # but there may be other files in this directory such as query suites. + if [ "$(ls -d */ | wc -l)" != 6 ] || \ + [[ ! -d cpp ]] || \ + [[ ! -d csharp ]] || \ + [[ ! -d go ]] || \ + [[ ! -d java ]] || \ + [[ ! -d javascript ]] || \ + [[ ! -d python ]]; then + echo "Did not find expected number of databases. Database dir contains: $(ls)" + exit 1 + fi - # multi-language-repo_test-custom-queries-and-remote-config: - # strategy: - # fail-fast: false - # matrix: - # os: [ubuntu-latest, windows-latest, macos-latest] - # runs-on: ${{ matrix.os }} + multi-language-repo_test-custom-queries-and-remote-config: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v2 - # - name: Move codeql-action - # shell: bash - # run: | - # mkdir ../action - # mv * .github ../action/ - # mv ../action/tests/multi-language-repo/{*,.github} . - # - uses: ./../action/init - # with: - # languages: cpp,csharp,java,javascript,python - # config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} - # - name: Build code - # shell: bash - # run: ./build.sh - # - uses: ./../action/analyze - # env: - # TEST_MODE: true + steps: + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + mv * .github ../action/ + mv ../action/tests/multi-language-repo/{*,.github} . + - uses: ./../action/init + with: + languages: cpp,csharp,java,javascript,python + config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }} + - name: Build code + shell: bash + run: ./build.sh + - uses: ./../action/analyze + env: + TEST_MODE: true - # # Currently is not possible to analyze Go in conjunction with other languages in macos - # multi-language-repo_test-go-custom-queries: - # strategy: - # fail-fast: false - # matrix: - # os: [ubuntu-latest, windows-latest, macos-latest] - # runs-on: ${{ matrix.os }} + # Currently is not possible to analyze Go in conjunction with other languages in macos + multi-language-repo_test-go-custom-queries: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/setup-go@v2 - # if: ${{ matrix.os == 'macos-latest' }} - # with: - # go-version: '^1.13.1' - # - uses: actions/checkout@v2 - # - name: Move codeql-action - # shell: bash - # run: | - # mkdir ../action - # mv * .github ../action/ - # mv ../action/tests/multi-language-repo/{*,.github} . - # - uses: ./../action/init - # with: - # languages: go - # config-file: ./.github/codeql/custom-queries.yml - # - name: Build code - # shell: bash - # run: ./build.sh - # - uses: ./../action/analyze - # env: - # TEST_MODE: true + steps: + - uses: actions/setup-go@v2 + if: ${{ matrix.os == 'macos-latest' }} + with: + go-version: '^1.13.1' + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + mv * .github ../action/ + mv ../action/tests/multi-language-repo/{*,.github} . + - uses: ./../action/init + with: + languages: go + config-file: ./.github/codeql/custom-queries.yml + - name: Build code + shell: bash + run: ./build.sh + - uses: ./../action/analyze + env: + TEST_MODE: true - # multi-language-repo_rubocop: - # runs-on: ubuntu-latest + multi-language-repo_rubocop: + runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - name: Move codeql-action - # shell: bash - # run: | - # mkdir ../action - # mv * .github ../action/ - # mv ../action/tests/multi-language-repo/{*,.github} . - # - name: Set up Ruby - # uses: ruby/setup-ruby@v1 - # with: - # ruby-version: 2.6 - # - name: Install Code Scanning integration - # run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install - # - name: Install dependencies - # run: bundle install - # - name: Rubocop run - # run: | - # bash -c " - # bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif - # [[ $? -ne 2 ]] - # " - # - uses: ./../action/upload-sarif - # with: - # sarif_file: rubocop.sarif - # env: - # TEST_MODE: true + steps: + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + mv * .github ../action/ + mv ../action/tests/multi-language-repo/{*,.github} . + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6 + - name: Install Code Scanning integration + run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install + - name: Install dependencies + run: bundle install + - name: Rubocop run + run: | + bash -c " + bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif + [[ $? -ne 2 ]] + " + - uses: ./../action/upload-sarif + with: + sarif_file: rubocop.sarif + env: + TEST_MODE: true - # test-proxy: - # runs-on: ubuntu-latest - # container: - # image: ubuntu:18.04 - # options: --dns 127.0.0.1 - # services: - # squid-proxy: - # image: datadog/squid:latest - # ports: - # - 3128:3128 - # env: - # https_proxy: http://squid-proxy:3128 - # steps: - # - uses: actions/checkout@v2 - # - name: Move codeql-action - # shell: bash - # run: | - # mkdir ../action - # mv * .github ../action/ - # mv ../action/tests/multi-language-repo/{*,.github} . - # - uses: ./../action/init - # with: - # languages: javascript - # - uses: ./../action/analyze - # env: - # TEST_MODE: true + test-proxy: + runs-on: ubuntu-latest + container: + image: ubuntu:18.04 + options: --dns 127.0.0.1 + services: + squid-proxy: + image: datadog/squid:latest + ports: + - 3128:3128 + env: + https_proxy: http://squid-proxy:3128 + steps: + - uses: actions/checkout@v2 + - name: Move codeql-action + shell: bash + run: | + mkdir ../action + mv * .github ../action/ + mv ../action/tests/multi-language-repo/{*,.github} . + - uses: ./../action/init + with: + languages: javascript + - uses: ./../action/analyze + env: + TEST_MODE: true # Test the behaviour when asked to scan a compiled language but no code is compiled diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index c952c5255..fb30c74a7 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -1,6 +1,6 @@ name: "PR checks" -on: [pull_request] +on: [push, pull_request] jobs: tslint: From c4f579a4dbc4520a3cdf7c53261f5ebe8e434f95 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Mon, 7 Sep 2020 23:12:12 +0100 Subject: [PATCH 15/18] remove the intentionally failing matcher integration tests --- .github/workflows/integration-testing.yml | 41 ----------------------- 1 file changed, 41 deletions(-) diff --git a/.github/workflows/integration-testing.yml b/.github/workflows/integration-testing.yml index 8334925a7..b805489eb 100644 --- a/.github/workflows/integration-testing.yml +++ b/.github/workflows/integration-testing.yml @@ -150,44 +150,3 @@ jobs: - uses: ./../action/analyze env: TEST_MODE: true - - -# Test the behaviour when asked to scan a compiled language but no code is compiled - java: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - shopt -s dotglob - mv * ../action/ - # Do not copy anything back, so there's nothing left to scan - - uses: ./../action/init - with: - languages: java - - uses: ./../action/analyze - env: - TEST_MODE: true - - # Test the behaviour when asked to scan a non-compiled language but there is no code to scan - javascript: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Move codeql-action - shell: bash - run: | - mkdir ../action - shopt -s dotglob - mv * ../action/ - # Do not copy anything back, so there's nothing left to scan - - uses: ./../action/init - with: - languages: javascript - - uses: ./../action/analyze - env: - TEST_MODE: true From 88951d6193a278ee8ce2b39643cb3cab5ba3ae7b Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Tue, 8 Sep 2020 00:01:04 +0100 Subject: [PATCH 16/18] renames to reflect the switch to using toolrunner --- lib/codeql.js | 6 ++--- lib/codeql.js.map | 2 +- lib/exec-wrapper.js.map | 1 - lib/exec-wrapper.test.js.map | 1 - ...wrapper.js => toolrunner-error-catcher.js} | 6 ++--- lib/toolrunner-error-catcher.js.map | 1 + ...st.js => toolrunner-error-catcher.test.js} | 22 +++++++++---------- lib/toolrunner-error-catcher.test.js.map | 1 + src/codeql.ts | 6 ++--- ...st.ts => toolrunner-error-catcher.test.ts} | 20 ++++++++--------- ...wrapper.ts => toolrunner-error-catcher.ts} | 6 ++--- 11 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 lib/exec-wrapper.js.map delete mode 100644 lib/exec-wrapper.test.js.map rename lib/{exec-wrapper.js => toolrunner-error-catcher.js} (94%) create mode 100644 lib/toolrunner-error-catcher.js.map rename lib/{exec-wrapper.test.js => toolrunner-error-catcher.test.js} (77%) create mode 100644 lib/toolrunner-error-catcher.test.js.map rename src/{exec-wrapper.test.ts => toolrunner-error-catcher.test.ts} (86%) rename src/{exec-wrapper.ts => toolrunner-error-catcher.ts} (91%) diff --git a/lib/codeql.js b/lib/codeql.js index 180e16066..1456fa7fa 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -22,7 +22,7 @@ const v4_1 = __importDefault(require("uuid/v4")); const api = __importStar(require("./api-client")); const defaults = __importStar(require("./defaults.json")); // Referenced from codeql-action-sync-tool! const error_matcher_1 = require("./error-matcher"); -const exec_wrapper_1 = require("./exec-wrapper"); +const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher"); const util = __importStar(require("./util")); /** * Stores the CodeQL object, and is populated by `setupCodeQL` or `getCodeQL`. @@ -308,7 +308,7 @@ function getCodeQLForCmd(cmd) { const ext = process.platform === 'win32' ? '.cmd' : '.sh'; const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await exec_wrapper_1.execErrorCatcher(cmd, [ + await toolrunner_error_catcher_1.toolrunnerErrorCatcher(cmd, [ 'database', 'trace-command', ...getExtraOptionsFromEnv(['database', 'trace-command']), @@ -318,7 +318,7 @@ function getCodeQLForCmd(cmd) { ], error_matcher_1.errorMatchers); }, finalizeDatabase: async function (databasePath) { - await exec_wrapper_1.execErrorCatcher(cmd, [ + await toolrunner_error_catcher_1.toolrunnerErrorCatcher(cmd, [ 'database', 'finalize', ...getExtraOptionsFromEnv(['database', 'finalize']), diff --git a/lib/codeql.js.map b/lib/codeql.js.map index 81a3fd158..809dca090 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/exec-wrapper.js.map b/lib/exec-wrapper.js.map deleted file mode 100644 index c3d4ca1e1..000000000 --- a/lib/exec-wrapper.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"exec-wrapper.js","sourceRoot":"","sources":["../src/exec-wrapper.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAE7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAlED,4CAkEC"} \ No newline at end of file diff --git a/lib/exec-wrapper.test.js.map b/lib/exec-wrapper.test.js.map deleted file mode 100644 index ff8702fc5..000000000 --- a/lib/exec-wrapper.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"exec-wrapper.test.js","sourceRoot":"","sources":["../src/exec-wrapper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/exec-wrapper.js b/lib/toolrunner-error-catcher.js similarity index 94% rename from lib/exec-wrapper.js rename to lib/toolrunner-error-catcher.js index 60259805a..ed6f90a66 100644 --- a/lib/exec-wrapper.js +++ b/lib/toolrunner-error-catcher.js @@ -19,7 +19,7 @@ const toolrunnner = __importStar(require("@actions/exec/lib/toolrunner")); * @param options optional exec options. See ExecOptions * @returns Promise exit code */ -async function execErrorCatcher(commandLine, args, matchers, options) { +async function toolrunnerErrorCatcher(commandLine, args, matchers, options) { var _a; let stdout = ''; let stderr = ''; @@ -82,5 +82,5 @@ async function execErrorCatcher(commandLine, args, matchers, options) { throw returnState; } } -exports.execErrorCatcher = execErrorCatcher; -//# sourceMappingURL=exec-wrapper.js.map \ No newline at end of file +exports.toolrunnerErrorCatcher = toolrunnerErrorCatcher; +//# sourceMappingURL=toolrunner-error-catcher.js.map \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.js.map b/lib/toolrunner-error-catcher.js.map new file mode 100644 index 000000000..e3bf54dec --- /dev/null +++ b/lib/toolrunner-error-catcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toolrunner-error-catcher.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAlED,wDAkEC"} \ No newline at end of file diff --git a/lib/exec-wrapper.test.js b/lib/toolrunner-error-catcher.test.js similarity index 77% rename from lib/exec-wrapper.test.js rename to lib/toolrunner-error-catcher.test.js index 97ef1073d..e2c514a8b 100644 --- a/lib/exec-wrapper.test.js +++ b/lib/toolrunner-error-catcher.test.js @@ -13,26 +13,26 @@ Object.defineProperty(exports, "__esModule", { value: true }); const exec = __importStar(require("@actions/exec")); const toolrunnner = __importStar(require("@actions/exec/lib/toolrunner")); const ava_1 = __importDefault(require("ava")); -const exec_wrapper_1 = require("./exec-wrapper"); const testing_utils_1 = require("./testing-utils"); +const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher"); testing_utils_1.setupTests(ava_1.default); ava_1.default('matchers are never applied if non-error exit', async (t) => { const testArgs = buildDummyArgs("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); const matchers = [[123, new RegExp("foo bar"), 'error!!!']]; t.deepEqual(await exec.exec('node', testArgs), 0); - t.deepEqual(await exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), 0); + t.deepEqual(await toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), 0); }); ava_1.default('regex matchers are applied to stdout for non-zero exit code', async (t) => { const testArgs = buildDummyArgs("foo bar\\nblort qux", '', '', 1); const matchers = [[123, new RegExp("foo bar"), '🦄']]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('regex matchers are applied to stderr for non-zero exit code', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); const matchers = [[123, new RegExp("foo bar"), '🦄']]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns correct error message when multiple matchers defined', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); @@ -40,7 +40,7 @@ ava_1.default('matcher returns correct error message when multiple matchers defi [123, new RegExp("foo bar"), '🦄'], [789, new RegExp("blah blah"), '🤦‍♂️']]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns first match to regex when multiple matches', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); @@ -48,18 +48,18 @@ ava_1.default('matcher returns first match to regex when multiple matches', asyn [789, new RegExp("blah blah"), '🤦‍♂️'], [987, new RegExp("foo bar"), '🚫']]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('exit code matchers are applied', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 123); const matchers = [[123, new RegExp("this will not match"), '🦄']]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 123' }); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('execErrorCatcher respects the ignoreReturnValue option', async (t) => { const testArgs = buildDummyArgs("standard output", 'error output', '', 199); - await t.throwsAsync(exec_wrapper_1.execErrorCatcher('node', testArgs, [], { ignoreReturnCode: false }), { instanceOf: Error }); - t.deepEqual(await exec_wrapper_1.execErrorCatcher('node', testArgs, [], { ignoreReturnCode: true }), 199); + await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, [], { ignoreReturnCode: false }), { instanceOf: Error }); + t.deepEqual(await toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, [], { ignoreReturnCode: true }), 199); }); ava_1.default('execErrorCatcher preserves behavior of provided listeners', async (t) => { let stdoutExpected = 'standard output'; @@ -75,7 +75,7 @@ ava_1.default('execErrorCatcher preserves behavior of provided listeners', async } }; const testArgs = buildDummyArgs(stdoutExpected, stderrExpected, '', 0); - t.deepEqual(await exec_wrapper_1.execErrorCatcher('node', testArgs, [], { listeners: listeners }), 0); + t.deepEqual(await toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, [], { listeners: listeners }), 0); t.deepEqual(stdoutActual, stdoutExpected + "\n"); t.deepEqual(stderrActual, stderrExpected + "\n"); }); @@ -93,4 +93,4 @@ function buildDummyArgs(stdoutContents, stderrContents, desiredErrorMessage, des command += 'process.exitCode = ' + desiredExitCode + ';'; return toolrunnner.argStringToArray('-e "' + command + '"'); } -//# sourceMappingURL=exec-wrapper.test.js.map \ No newline at end of file +//# sourceMappingURL=toolrunner-error-catcher.test.js.map \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.test.js.map b/lib/toolrunner-error-catcher.test.js.map new file mode 100644 index 000000000..0960eac20 --- /dev/null +++ b/lib/toolrunner-error-catcher.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index fd23f3df3..429bde487 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -12,9 +12,9 @@ import uuidV4 from 'uuid/v4'; import * as api from './api-client'; import * as defaults from './defaults.json'; // Referenced from codeql-action-sync-tool! import { errorMatchers} from './error-matcher'; -import { execErrorCatcher } from './exec-wrapper'; import { Language } from './languages'; import { Logger } from './logging'; +import { toolrunnerErrorCatcher } from './toolrunner-error-catcher'; import * as util from './util'; type Options = (string|number|boolean)[]; @@ -425,7 +425,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { const traceCommand = path.resolve(JSON.parse(extractorPath), 'tools', 'autobuild' + ext); // Run trace command - await execErrorCatcher( + await toolrunnerErrorCatcher( cmd, [ 'database', 'trace-command', @@ -438,7 +438,7 @@ function getCodeQLForCmd(cmd: string): CodeQL { ); }, finalizeDatabase: async function(databasePath: string) { - await execErrorCatcher( + await toolrunnerErrorCatcher( cmd, [ 'database', 'finalize', diff --git a/src/exec-wrapper.test.ts b/src/toolrunner-error-catcher.test.ts similarity index 86% rename from src/exec-wrapper.test.ts rename to src/toolrunner-error-catcher.test.ts index bd89f58e5..8538b3ea9 100644 --- a/src/exec-wrapper.test.ts +++ b/src/toolrunner-error-catcher.test.ts @@ -3,8 +3,8 @@ import * as toolrunnner from '@actions/exec/lib/toolrunner'; import test from 'ava'; import { ErrorMatcher } from './error-matcher'; -import { execErrorCatcher } from './exec-wrapper'; import {setupTests} from './testing-utils'; +import { toolrunnerErrorCatcher } from './toolrunner-error-catcher'; setupTests(test); @@ -16,7 +16,7 @@ test('matchers are never applied if non-error exit', async t => { t.deepEqual(await exec.exec('node', testArgs), 0); - t.deepEqual(await execErrorCatcher('node', testArgs, matchers), 0); + t.deepEqual(await toolrunnerErrorCatcher('node', testArgs, matchers), 0); }); @@ -29,7 +29,7 @@ test('regex matchers are applied to stdout for non-zero exit code', async t => { await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - execErrorCatcher('node', testArgs, matchers), + toolrunnerErrorCatcher('node', testArgs, matchers), {instanceOf: Error, message: '🦄'} ); @@ -44,7 +44,7 @@ test('regex matchers are applied to stderr for non-zero exit code', async t => { await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - execErrorCatcher('node', testArgs, matchers), + toolrunnerErrorCatcher('node', testArgs, matchers), {instanceOf: Error, message: '🦄'} ); @@ -61,7 +61,7 @@ test('matcher returns correct error message when multiple matchers defined', asy await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - execErrorCatcher('node', testArgs, matchers), + toolrunnerErrorCatcher('node', testArgs, matchers), {instanceOf: Error, message: '🦄'} ); @@ -78,7 +78,7 @@ test('matcher returns first match to regex when multiple matches', async t => { await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); await t.throwsAsync( - execErrorCatcher('node', testArgs, matchers), + toolrunnerErrorCatcher('node', testArgs, matchers), {instanceOf: Error, message: '🦄'} ); @@ -93,7 +93,7 @@ test('exit code matchers are applied', async t => { await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 123'}); await t.throwsAsync( - execErrorCatcher('node', testArgs, matchers), + toolrunnerErrorCatcher('node', testArgs, matchers), {instanceOf: Error, message: '🦄'} ); @@ -102,9 +102,9 @@ test('exit code matchers are applied', async t => { test('execErrorCatcher respects the ignoreReturnValue option', async t => { const testArgs = buildDummyArgs("standard output", 'error output', '', 199); - await t.throwsAsync(execErrorCatcher('node', testArgs, [], {ignoreReturnCode: false}), {instanceOf: Error}); + await t.throwsAsync(toolrunnerErrorCatcher('node', testArgs, [], {ignoreReturnCode: false}), {instanceOf: Error}); - t.deepEqual(await execErrorCatcher('node', testArgs, [], {ignoreReturnCode: true}), 199); + t.deepEqual(await toolrunnerErrorCatcher('node', testArgs, [], {ignoreReturnCode: true}), 199); }); @@ -127,7 +127,7 @@ test('execErrorCatcher preserves behavior of provided listeners', async t => { const testArgs = buildDummyArgs(stdoutExpected, stderrExpected, '', 0); - t.deepEqual(await execErrorCatcher('node', testArgs, [], {listeners: listeners}), 0); + t.deepEqual(await toolrunnerErrorCatcher('node', testArgs, [], {listeners: listeners}), 0); t.deepEqual(stdoutActual, stdoutExpected + "\n"); t.deepEqual(stderrActual, stderrExpected + "\n"); diff --git a/src/exec-wrapper.ts b/src/toolrunner-error-catcher.ts similarity index 91% rename from src/exec-wrapper.ts rename to src/toolrunner-error-catcher.ts index 96ec8e9a5..276fc408d 100644 --- a/src/exec-wrapper.ts +++ b/src/toolrunner-error-catcher.ts @@ -14,9 +14,9 @@ import {ErrorMatcher} from './error-matcher'; * @param options optional exec options. See ExecOptions * @returns Promise exit code */ -export async function execErrorCatcher(commandLine: string, args?: string[], - matchers?: ErrorMatcher[], - options?: im.ExecOptions): Promise { +export async function toolrunnerErrorCatcher(commandLine: string, args?: string[], + matchers?: ErrorMatcher[], + options?: im.ExecOptions): Promise { let stdout = ''; let stderr = ''; From 1fb7c81099a0cf4b3c37f9e2cfd8e5912780534e Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Fri, 11 Sep 2020 18:25:23 +0100 Subject: [PATCH 17/18] tweak in response to reviewer comments --- lib/error-matcher.js | 5 ++--- lib/error-matcher.js.map | 2 +- lib/error-matcher.test.js | 16 ++++++---------- lib/error-matcher.test.js.map | 2 +- lib/toolrunner-error-catcher.js | 10 +++++----- lib/toolrunner-error-catcher.js.map | 2 +- lib/toolrunner-error-catcher.test.js | 9 ++++----- lib/toolrunner-error-catcher.test.js.map | 2 +- src/error-matcher.test.ts | 18 +++++++----------- src/error-matcher.ts | 5 ++--- src/toolrunner-error-catcher.test.ts | 9 ++++----- src/toolrunner-error-catcher.ts | 12 ++++++------ 12 files changed, 40 insertions(+), 52 deletions(-) diff --git a/lib/error-matcher.js b/lib/error-matcher.js index 2557b5a07..3881dac19 100644 --- a/lib/error-matcher.js +++ b/lib/error-matcher.js @@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.namedMatchersForTesting = { /* In due course it may be possible to remove the regex, if/when javascript also exits with code 32. - For context see https://github.com/github/semmle-code/pull/36921 */ noSourceCodeFound: [ 32, new RegExp("No JavaScript or TypeScript code found\\."), - `No source code was seen during the build. Please see... -https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` + "No code found during the build. Please see:\n" + + "https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build" ], }; // we collapse the matches into an array for use in execErrorCatcher diff --git a/lib/error-matcher.js.map b/lib/error-matcher.js.map index 3e6fa866c..dd41806ff 100644 --- a/lib/error-matcher.js.map +++ b/lib/error-matcher.js.map @@ -1 +1 @@ -{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;;MAGE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD;wJACoJ;KACrJ;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;MAEE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD,+CAA+C;YAC/C,yJAAyJ;KAC1J;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/error-matcher.test.js b/lib/error-matcher.test.js index d68d58d96..c79bf5719 100644 --- a/lib/error-matcher.test.js +++ b/lib/error-matcher.test.js @@ -17,17 +17,13 @@ ava_1.default('noSourceCodeFound matches against example javascript output', asy `)); }); function testErrorMatcher(matcherName, logSample) { - const regex = error_matcher_1.namedMatchersForTesting[matcherName] ? error_matcher_1.namedMatchersForTesting[matcherName][1] : null; - if (regex) { - return regex.test(logSample); + if (!(matcherName in error_matcher_1.namedMatchersForTesting)) { + throw new Error(`Unknown matcher ${matcherName}`); } - else { - if (error_matcher_1.namedMatchersForTesting[matcherName]) { - throw new Error(`Cannot test matcher ${matcherName} with null regex`); - } - else { - throw new Error(`Unknown matcher ${matcherName}`); - } + const regex = error_matcher_1.namedMatchersForTesting[matcherName][1]; + if (regex === null) { + throw new Error(`Cannot test matcher ${matcherName} with null regex`); } + return regex.test(logSample); } //# sourceMappingURL=error-matcher.test.js.map \ No newline at end of file diff --git a/lib/error-matcher.test.js.map b/lib/error-matcher.test.js.map index 60db0bb8b..321a28a65 100644 --- a/lib/error-matcher.test.js.map +++ b/lib/error-matcher.test.js.map @@ -1 +1 @@ -{"version":3,"file":"error-matcher.test.js","sourceRoot":"","sources":["../src/error-matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;SAAM;QACL,IAAI,uCAAuB,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;SACvE;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;SACnD;KACF;AAEH,CAAC"} \ No newline at end of file +{"version":3,"file":"error-matcher.test.js","sourceRoot":"","sources":["../src/error-matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,IAAI,CAAC,CAAC,WAAW,IAAI,uCAAuB,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;KACnD;IACD,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC"} \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.js b/lib/toolrunner-error-catcher.js index ed6f90a66..ec1ebdad8 100644 --- a/lib/toolrunner-error-catcher.js +++ b/lib/toolrunner-error-catcher.js @@ -9,13 +9,13 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const toolrunnner = __importStar(require("@actions/exec/lib/toolrunner")); /** - * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. + * Wrapper for toolrunner.Toolrunner which checks for specific return code and/or regex matches in console output. * Output will be streamed to the live console as well as captured for subsequent processing. * Returns promise with return code * - * @param commandLine command to execute (can include additional args). Must be correctly escaped. - * @param matchers defines specific codes and/or regexes that should lead to return of a custom error + * @param commandLine command to execute * @param args optional arguments for tool. Escaping is handled by the lib. + * @param matchers defines specific codes and/or regexes that should lead to return of a custom error * @param options optional exec options. See ExecOptions * @returns Promise exit code */ @@ -31,7 +31,7 @@ async function toolrunnerErrorCatcher(commandLine, args, matchers, options) { options.listeners.stdout(data); } else { - // if no stdout listener was originally defined then we match default behavior of exec.exec + // if no stdout listener was originally defined then we match default behavior of Toolrunner process.stdout.write(data); } }, @@ -42,7 +42,7 @@ async function toolrunnerErrorCatcher(commandLine, args, matchers, options) { options.listeners.stderr(data); } else { - // if no stderr listener was originally defined then we match default behavior of exec.exec + // if no stderr listener was originally defined then we match default behavior of Toolrunner process.stderr.write(data); } } diff --git a/lib/toolrunner-error-catcher.js.map b/lib/toolrunner-error-catcher.js.map index e3bf54dec..1ccaea597 100644 --- a/lib/toolrunner-error-catcher.js.map +++ b/lib/toolrunner-error-catcher.js.map @@ -1 +1 @@ -{"version":3,"file":"toolrunner-error-catcher.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,2FAA2F;gBAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAlED,wDAkEC"} \ No newline at end of file +{"version":3,"file":"toolrunner-error-catcher.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAlED,wDAkEC"} \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.test.js b/lib/toolrunner-error-catcher.test.js index e2c514a8b..12446ae52 100644 --- a/lib/toolrunner-error-catcher.test.js +++ b/lib/toolrunner-error-catcher.test.js @@ -11,7 +11,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const exec = __importStar(require("@actions/exec")); -const toolrunnner = __importStar(require("@actions/exec/lib/toolrunner")); const ava_1 = __importDefault(require("ava")); const testing_utils_1 = require("./testing-utils"); const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher"); @@ -82,15 +81,15 @@ ava_1.default('execErrorCatcher preserves behavior of provided listeners', async function buildDummyArgs(stdoutContents, stderrContents, desiredErrorMessage, desiredExitCode) { let command = ''; if (stdoutContents) - command += 'console.log(\\"' + stdoutContents + '\\");'; + command += 'console.log("' + stdoutContents + '");'; if (stderrContents) - command += 'console.error(\\"' + stderrContents + '\\");'; + command += 'console.error("' + stderrContents + '");'; if (command.length === 0) throw new Error("Must provide contents for either stdout or stderr"); if (desiredErrorMessage) - command += 'throw new Error(\\"' + desiredErrorMessage + '\\");'; + command += 'throw new Error("' + desiredErrorMessage + '");'; if (desiredExitCode) command += 'process.exitCode = ' + desiredExitCode + ';'; - return toolrunnner.argStringToArray('-e "' + command + '"'); + return ["-e", command]; } //# sourceMappingURL=toolrunner-error-catcher.test.js.map \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.test.js.map b/lib/toolrunner-error-catcher.test.js.map index 0960eac20..27ae17803 100644 --- a/lib/toolrunner-error-catcher.test.js.map +++ b/lib/toolrunner-error-catcher.test.js.map @@ -1 +1 @@ -{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/error-matcher.test.ts b/src/error-matcher.test.ts index 4dc99bccf..fadfb2381 100644 --- a/src/error-matcher.test.ts +++ b/src/error-matcher.test.ts @@ -18,16 +18,12 @@ test('noSourceCodeFound matches against example javascript output', async t => { function testErrorMatcher(matcherName: string, logSample: string): boolean { - const regex = namedMatchersForTesting[matcherName] ? namedMatchersForTesting[matcherName][1] : null; - - if (regex) { - return regex.test(logSample); - } else { - if (namedMatchersForTesting[matcherName]) { - throw new Error(`Cannot test matcher ${matcherName} with null regex`); - } else { - throw new Error(`Unknown matcher ${matcherName}`); - } + if (!(matcherName in namedMatchersForTesting)) { + throw new Error(`Unknown matcher ${matcherName}`); } - + const regex = namedMatchersForTesting[matcherName][1]; + if (regex === null) { + throw new Error(`Cannot test matcher ${matcherName} with null regex`); + } + return regex.test(logSample); } diff --git a/src/error-matcher.ts b/src/error-matcher.ts index 68f0bbb1d..ba4a684ee 100644 --- a/src/error-matcher.ts +++ b/src/error-matcher.ts @@ -5,13 +5,12 @@ export type ErrorMatcher = [number|null, RegExp|null, string]; export const namedMatchersForTesting: { [key: string]: ErrorMatcher } = { /* In due course it may be possible to remove the regex, if/when javascript also exits with code 32. - For context see https://github.com/github/semmle-code/pull/36921 */ noSourceCodeFound: [ 32, new RegExp("No JavaScript or TypeScript code found\\."), - `No source code was seen during the build. Please see... -https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build` + "No code found during the build. Please see:\n" + + "https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build" ], }; diff --git a/src/toolrunner-error-catcher.test.ts b/src/toolrunner-error-catcher.test.ts index 8538b3ea9..389882dc4 100644 --- a/src/toolrunner-error-catcher.test.ts +++ b/src/toolrunner-error-catcher.test.ts @@ -1,5 +1,4 @@ import * as exec from '@actions/exec'; -import * as toolrunnner from '@actions/exec/lib/toolrunner'; import test from 'ava'; import { ErrorMatcher } from './error-matcher'; @@ -139,13 +138,13 @@ function buildDummyArgs(stdoutContents: string, stderrContents: string, let command = ''; - if (stdoutContents) command += 'console.log(\\"' + stdoutContents + '\\");'; - if (stderrContents) command += 'console.error(\\"' + stderrContents + '\\");'; + if (stdoutContents) command += 'console.log("' + stdoutContents + '");'; + if (stderrContents) command += 'console.error("' + stderrContents + '");'; if (command.length === 0) throw new Error("Must provide contents for either stdout or stderr"); - if (desiredErrorMessage) command += 'throw new Error(\\"' + desiredErrorMessage + '\\");'; + if (desiredErrorMessage) command += 'throw new Error("' + desiredErrorMessage + '");'; if (desiredExitCode) command += 'process.exitCode = ' + desiredExitCode + ';'; - return toolrunnner.argStringToArray('-e "' + command + '"'); + return ["-e", command]; } diff --git a/src/toolrunner-error-catcher.ts b/src/toolrunner-error-catcher.ts index 276fc408d..e423e427e 100644 --- a/src/toolrunner-error-catcher.ts +++ b/src/toolrunner-error-catcher.ts @@ -4,13 +4,13 @@ import * as toolrunnner from '@actions/exec/lib/toolrunner'; import {ErrorMatcher} from './error-matcher'; /** - * Wrapper for exec.exec which checks for specific return code and/or regex matches in console output. + * Wrapper for toolrunner.Toolrunner which checks for specific return code and/or regex matches in console output. * Output will be streamed to the live console as well as captured for subsequent processing. * Returns promise with return code * - * @param commandLine command to execute (can include additional args). Must be correctly escaped. - * @param matchers defines specific codes and/or regexes that should lead to return of a custom error + * @param commandLine command to execute * @param args optional arguments for tool. Escaping is handled by the lib. + * @param matchers defines specific codes and/or regexes that should lead to return of a custom error * @param options optional exec options. See ExecOptions * @returns Promise exit code */ @@ -27,7 +27,7 @@ export async function toolrunnerErrorCatcher(commandLine: string, args?: string[ if (options?.listeners?.stdout !== undefined) { options.listeners.stdout(data); } else { - // if no stdout listener was originally defined then we match default behavior of exec.exec + // if no stdout listener was originally defined then we match default behavior of Toolrunner process.stdout.write(data); } @@ -37,7 +37,7 @@ export async function toolrunnerErrorCatcher(commandLine: string, args?: string[ if (options?.listeners?.stderr !== undefined) { options.listeners.stderr(data); } else { - // if no stderr listener was originally defined then we match default behavior of exec.exec + // if no stderr listener was originally defined then we match default behavior of Toolrunner process.stderr.write(data); } } @@ -50,7 +50,7 @@ export async function toolrunnerErrorCatcher(commandLine: string, args?: string[ commandLine, args, { - ...options, // pass original options first in order to override below + ...options, // we want to override the original options, so include them first listeners: listeners, ignoreReturnCode: true, // so we can check for specific codes using the matchers } From b3b99014eb254ee8a0a84d95e5a57b48639e7881 Mon Sep 17 00:00:00 2001 From: Nick Fyson Date: Fri, 11 Sep 2020 18:30:07 +0100 Subject: [PATCH 18/18] make ErrorMatcher an object rather than a tuple --- lib/error-matcher.js | 10 +++++----- lib/error-matcher.js.map | 2 +- lib/error-matcher.test.js | 4 ++-- lib/error-matcher.test.js.map | 2 +- lib/toolrunner-error-catcher.js | 10 +++++----- lib/toolrunner-error-catcher.js.map | 2 +- lib/toolrunner-error-catcher.test.js | 20 ++++++++++---------- lib/toolrunner-error-catcher.test.js.map | 2 +- src/error-matcher.test.ts | 4 ++-- src/error-matcher.ts | 20 +++++++++++++------- src/toolrunner-error-catcher.test.ts | 20 ++++++++++---------- src/toolrunner-error-catcher.ts | 10 +++++++--- 12 files changed, 58 insertions(+), 48 deletions(-) diff --git a/lib/error-matcher.js b/lib/error-matcher.js index 3881dac19..4bc56bdcf 100644 --- a/lib/error-matcher.js +++ b/lib/error-matcher.js @@ -5,12 +5,12 @@ exports.namedMatchersForTesting = { /* In due course it may be possible to remove the regex, if/when javascript also exits with code 32. */ - noSourceCodeFound: [ - 32, - new RegExp("No JavaScript or TypeScript code found\\."), - "No code found during the build. Please see:\n" + + noSourceCodeFound: { + exitCode: 32, + outputRegex: new RegExp("No JavaScript or TypeScript code found\\."), + message: "No code found during the build. Please see:\n" + "https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build" - ], + }, }; // we collapse the matches into an array for use in execErrorCatcher exports.errorMatchers = Object.values(exports.namedMatchersForTesting); diff --git a/lib/error-matcher.js.map b/lib/error-matcher.js.map index dd41806ff..bfd9adcac 100644 --- a/lib/error-matcher.js.map +++ b/lib/error-matcher.js.map @@ -1 +1 @@ -{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAGA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;MAEE;IACF,iBAAiB,EAAE;QACjB,EAAE;QACF,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACvD,+CAA+C;YAC/C,yJAAyJ;KAC1J;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AASA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;MAEE;IACF,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACpE,OAAO,EAAE,+CAA+C;YAC/C,yJAAyJ;KACnK;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/error-matcher.test.js b/lib/error-matcher.test.js index c79bf5719..1d8601120 100644 --- a/lib/error-matcher.test.js +++ b/lib/error-matcher.test.js @@ -20,8 +20,8 @@ function testErrorMatcher(matcherName, logSample) { if (!(matcherName in error_matcher_1.namedMatchersForTesting)) { throw new Error(`Unknown matcher ${matcherName}`); } - const regex = error_matcher_1.namedMatchersForTesting[matcherName][1]; - if (regex === null) { + const regex = error_matcher_1.namedMatchersForTesting[matcherName].outputRegex; + if (regex === undefined) { throw new Error(`Cannot test matcher ${matcherName} with null regex`); } return regex.test(logSample); diff --git a/lib/error-matcher.test.js.map b/lib/error-matcher.test.js.map index 321a28a65..660294611 100644 --- a/lib/error-matcher.test.js.map +++ b/lib/error-matcher.test.js.map @@ -1 +1 @@ -{"version":3,"file":"error-matcher.test.js","sourceRoot":"","sources":["../src/error-matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,IAAI,CAAC,CAAC,WAAW,IAAI,uCAAuB,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;KACnD;IACD,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC"} \ No newline at end of file +{"version":3,"file":"error-matcher.test.js","sourceRoot":"","sources":["../src/error-matcher.test.ts"],"names":[],"mappings":";;;;;AACA,8CAAuB;AAEvB,mDAA0D;AAE1D;;EAEE;AAEF,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;;;;;GAK9C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAE9D,IAAI,CAAC,CAAC,WAAW,IAAI,uCAAuB,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;KACnD;IACD,MAAM,KAAK,GAAG,uCAAuB,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,kBAAkB,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC"} \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.js b/lib/toolrunner-error-catcher.js index ec1ebdad8..ead5ec0b5 100644 --- a/lib/toolrunner-error-catcher.js +++ b/lib/toolrunner-error-catcher.js @@ -20,7 +20,7 @@ const toolrunnner = __importStar(require("@actions/exec/lib/toolrunner")); * @returns Promise exit code */ async function toolrunnerErrorCatcher(commandLine, args, matchers, options) { - var _a; + var _a, _b, _c; let stdout = ''; let stderr = ''; let listeners = { @@ -63,15 +63,15 @@ async function toolrunnerErrorCatcher(commandLine, args, matchers, options) { if (returnState === 0) return returnState; if (matchers) { - for (const [customCode, regex, message] of matchers) { - if (customCode === returnState || regex && (regex.test(stderr) || regex.test(stdout))) { - throw new Error(message); + for (const matcher of matchers) { + if (matcher.exitCode === returnState || ((_a = matcher.outputRegex) === null || _a === void 0 ? void 0 : _a.test(stderr)) || ((_b = matcher.outputRegex) === null || _b === void 0 ? void 0 : _b.test(stdout))) { + throw new Error(matcher.message); } } } if (typeof returnState === 'number') { // only if we were instructed to ignore the return code do we ever return it non-zero - if ((_a = options) === null || _a === void 0 ? void 0 : _a.ignoreReturnCode) { + if ((_c = options) === null || _c === void 0 ? void 0 : _c.ignoreReturnCode) { return returnState; } else { diff --git a/lib/toolrunner-error-catcher.js.map b/lib/toolrunner-error-catcher.js.map index 1ccaea597..ee483b129 100644 --- a/lib/toolrunner-error-catcher.js.map +++ b/lib/toolrunner-error-catcher.js.map @@ -1 +1 @@ -{"version":3,"file":"toolrunner-error-catcher.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;YACnD,IAAI,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAG;gBACtF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAlED,wDAkEC"} \ No newline at end of file +{"version":3,"file":"toolrunner-error-catcher.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.ts"],"names":[],"mappings":";;;;;;;;;AACA,0EAA4D;AAI5D;;;;;;;;;;GAUG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB,EAAE,IAAe,EACpC,QAAyB,EACzB,OAAwB;;IAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,SAAS,GAAG;QACd,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QAEH,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;;YACvB,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,aAAA,OAAO,0CAAE,SAAS,0CAAE,MAAM,MAAK,SAAS,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4FAA4F;gBAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACH,CAAC;KACF,CAAC;IAEF,0GAA0G;IAC1G,IAAI,WAAyB,CAAC;IAC9B,IAAI;QACF,WAAW,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,CAC5C,WAAW,EACX,IAAI,EACJ;YACE,GAAG,OAAO;YACV,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI;SACvB,CACA,CAAC,IAAI,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,WAAW,GAAG,CAAC,CAAC;KACjB;IAED,mEAAmE;IACnE,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAE1C,IAAI,QAAQ,EAAE;QACZ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IACE,OAAO,CAAC,QAAQ,KAAK,WAAW,WAChC,OAAO,CAAC,WAAW,0CAAE,IAAI,CAAC,MAAM,EAAC,WACjC,OAAO,CAAC,WAAW,0CAAE,IAAI,CAAC,MAAM,EAAC,EAC/B;gBACF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAClC;SACF;KACF;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,qFAAqF;QACrF,UAAI,OAAO,0CAAE,gBAAgB,EAAE;YAC7B,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,4BAA4B,WAAW,EAAE,CAAC,CAAC;SACxF;KACF;SAAM;QACL,MAAM,WAAW,CAAC;KACnB;AACH,CAAC;AAtED,wDAsEC"} \ No newline at end of file diff --git a/lib/toolrunner-error-catcher.test.js b/lib/toolrunner-error-catcher.test.js index 12446ae52..a088397bf 100644 --- a/lib/toolrunner-error-catcher.test.js +++ b/lib/toolrunner-error-catcher.test.js @@ -17,41 +17,41 @@ const toolrunner_error_catcher_1 = require("./toolrunner-error-catcher"); testing_utils_1.setupTests(ava_1.default); ava_1.default('matchers are never applied if non-error exit', async (t) => { const testArgs = buildDummyArgs("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); - const matchers = [[123, new RegExp("foo bar"), 'error!!!']]; + const matchers = [{ exitCode: 123, outputRegex: new RegExp("foo bar"), message: 'error!!!' }]; t.deepEqual(await exec.exec('node', testArgs), 0); t.deepEqual(await toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), 0); }); ava_1.default('regex matchers are applied to stdout for non-zero exit code', async (t) => { const testArgs = buildDummyArgs("foo bar\\nblort qux", '', '', 1); - const matchers = [[123, new RegExp("foo bar"), '🦄']]; + const matchers = [{ exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('regex matchers are applied to stderr for non-zero exit code', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers = [[123, new RegExp("foo bar"), '🦄']]; + const matchers = [{ exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns correct error message when multiple matchers defined', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers = [[456, new RegExp("lorem ipsum"), '😩'], - [123, new RegExp("foo bar"), '🦄'], - [789, new RegExp("blah blah"), '🤦‍♂️']]; + const matchers = [{ exitCode: 456, outputRegex: new RegExp("lorem ipsum"), message: '😩' }, + { exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }, + { exitCode: 789, outputRegex: new RegExp("blah blah"), message: '🤦‍♂️' }]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('matcher returns first match to regex when multiple matches', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers = [[123, new RegExp("foo bar"), '🦄'], - [789, new RegExp("blah blah"), '🤦‍♂️'], - [987, new RegExp("foo bar"), '🚫']]; + const matchers = [{ exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }, + { exitCode: 789, outputRegex: new RegExp("blah blah"), message: '🤦‍♂️' }, + { exitCode: 987, outputRegex: new RegExp("foo bar"), message: '🚫' }]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 1' }); await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); ava_1.default('exit code matchers are applied', async (t) => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 123); - const matchers = [[123, new RegExp("this will not match"), '🦄']]; + const matchers = [{ exitCode: 123, outputRegex: new RegExp("this will not match"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), { instanceOf: Error, message: 'The process \'node\' failed with exit code 123' }); await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher('node', testArgs, matchers), { instanceOf: Error, message: '🦄' }); }); diff --git a/lib/toolrunner-error-catcher.test.js.map b/lib/toolrunner-error-catcher.test.js.map index 27ae17803..c47222015 100644 --- a/lib/toolrunner-error-catcher.test.js.map +++ b/lib/toolrunner-error-catcher.test.js.map @@ -1 +1 @@ -{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/error-matcher.test.ts b/src/error-matcher.test.ts index fadfb2381..2f62211d8 100644 --- a/src/error-matcher.test.ts +++ b/src/error-matcher.test.ts @@ -21,8 +21,8 @@ function testErrorMatcher(matcherName: string, logSample: string): boolean { if (!(matcherName in namedMatchersForTesting)) { throw new Error(`Unknown matcher ${matcherName}`); } - const regex = namedMatchersForTesting[matcherName][1]; - if (regex === null) { + const regex = namedMatchersForTesting[matcherName].outputRegex; + if (regex === undefined) { throw new Error(`Cannot test matcher ${matcherName} with null regex`); } return regex.test(logSample); diff --git a/src/error-matcher.ts b/src/error-matcher.ts index ba4a684ee..d4e5c15d4 100644 --- a/src/error-matcher.ts +++ b/src/error-matcher.ts @@ -1,17 +1,23 @@ -export type ErrorMatcher = [number|null, RegExp|null, string]; +// defines properties to match against the result of executed commands, +// and a custom error to return when a match is found +export interface ErrorMatcher { + exitCode?: number; // exit code of the run process + outputRegex?: RegExp; // pattern to match against either stdout or stderr + message: string; // the error message that will be thrown for a matching process +} // exported only for testing purposes export const namedMatchersForTesting: { [key: string]: ErrorMatcher } = { /* In due course it may be possible to remove the regex, if/when javascript also exits with code 32. */ - noSourceCodeFound: [ - 32, - new RegExp("No JavaScript or TypeScript code found\\."), - "No code found during the build. Please see:\n" + - "https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build" - ], + noSourceCodeFound: { + exitCode: 32, + outputRegex: new RegExp("No JavaScript or TypeScript code found\\."), + message: "No code found during the build. Please see:\n" + + "https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build" + }, }; // we collapse the matches into an array for use in execErrorCatcher diff --git a/src/toolrunner-error-catcher.test.ts b/src/toolrunner-error-catcher.test.ts index 389882dc4..26f32a4fd 100644 --- a/src/toolrunner-error-catcher.test.ts +++ b/src/toolrunner-error-catcher.test.ts @@ -11,7 +11,7 @@ test('matchers are never applied if non-error exit', async t => { const testArgs = buildDummyArgs("foo bar\\nblort qux", "foo bar\\nblort qux", '', 0); - const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), 'error!!!']]; + const matchers: ErrorMatcher[] = [{exitCode: 123, outputRegex: new RegExp("foo bar"), message: 'error!!!' }]; t.deepEqual(await exec.exec('node', testArgs), 0); @@ -23,7 +23,7 @@ test('regex matchers are applied to stdout for non-zero exit code', async t => { const testArgs = buildDummyArgs("foo bar\\nblort qux", '', '', 1); - const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄']]; + const matchers: ErrorMatcher[] = [{exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); @@ -38,7 +38,7 @@ test('regex matchers are applied to stderr for non-zero exit code', async t => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄']]; + const matchers: ErrorMatcher[] = [{exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); @@ -53,9 +53,9 @@ test('matcher returns correct error message when multiple matchers defined', asy const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers: ErrorMatcher[] = [[456, new RegExp("lorem ipsum"), '😩'], - [123, new RegExp("foo bar"), '🦄'], - [789, new RegExp("blah blah"), '🤦‍♂️']]; + const matchers: ErrorMatcher[] = [{exitCode: 456, outputRegex: new RegExp("lorem ipsum"), message: '😩'}, + {exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄'}, + {exitCode: 789, outputRegex: new RegExp("blah blah"), message: '🤦‍♂️'}]; await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); @@ -70,9 +70,9 @@ test('matcher returns first match to regex when multiple matches', async t => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 1); - const matchers: ErrorMatcher[] = [[123, new RegExp("foo bar"), '🦄'], - [789, new RegExp("blah blah"), '🤦‍♂️'], - [987, new RegExp("foo bar"), '🚫']]; + const matchers: ErrorMatcher[] = [{exitCode: 123, outputRegex: new RegExp("foo bar"), message: '🦄'}, + {exitCode: 789, outputRegex: new RegExp("blah blah"), message: '🤦‍♂️'}, + {exitCode: 987, outputRegex: new RegExp("foo bar"), message: '🚫'}]; await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 1'}); @@ -87,7 +87,7 @@ test('exit code matchers are applied', async t => { const testArgs = buildDummyArgs("non matching string", 'foo bar\\nblort qux', '', 123); - const matchers: ErrorMatcher[] = [[123, new RegExp("this will not match"), '🦄']]; + const matchers: ErrorMatcher[] = [{exitCode: 123, outputRegex: new RegExp("this will not match"), message: '🦄' }]; await t.throwsAsync(exec.exec('node', testArgs), {instanceOf: Error, message: 'The process \'node\' failed with exit code 123'}); diff --git a/src/toolrunner-error-catcher.ts b/src/toolrunner-error-catcher.ts index e423e427e..140186684 100644 --- a/src/toolrunner-error-catcher.ts +++ b/src/toolrunner-error-catcher.ts @@ -63,9 +63,13 @@ export async function toolrunnerErrorCatcher(commandLine: string, args?: string[ if (returnState === 0) return returnState; if (matchers) { - for (const [customCode, regex, message] of matchers) { - if (customCode === returnState || regex && (regex.test(stderr) || regex.test(stdout)) ) { - throw new Error(message); + for (const matcher of matchers) { + if ( + matcher.exitCode === returnState || + matcher.outputRegex?.test(stderr) || + matcher.outputRegex?.test(stdout) + ) { + throw new Error(matcher.message); } } }