Skip to content

Commit f4fd30d

Browse files
author
Joshua Baert
committed
Got exec commands to return results paired with the exact test.
1 parent c7f535c commit f4fd30d

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

controllers/testCtrl.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
const app = require('../server');
1010
const db = app.get('db');
11-
const q = require('q');
11+
const Q = require('q');
1212
const exec = require('child_process').exec;
1313

1414

@@ -22,34 +22,34 @@ module.exports = {
2222
db.read.kata_by_id([req.params.kataId], (err, kataArray)=>{
2323
if(err) console.log(err);
2424
let kata = kataArray[0];
25+
let promiseArr = [];
26+
2527

26-
let promiseArray = [];
2728

2829

2930
kata.test_script.forEach((ele, i) =>{
31+
let deffered = Q.defer();
3032

31-
32-
33-
34-
console.log(ele.test);
3533
exec(`docker run --rm codewars/node-runner run -l javascript -c "${body.script}" -t cw -f "${ele.test}"`,
3634
(err, stdOut, stdErr) => {
3735
if (err) {
38-
console.log(err)
36+
console.log(err);
3937
} else if (stdOut) {
38+
deffered.resolve(stdOut);
4039
ele.result = stdOut;
4140
} else if (stdErr) {
42-
ele.result = stdOut;
41+
deffered.resolve(stdErr);
42+
ele.result = stdErr;
4343
}
4444
});
4545

46-
47-
48-
49-
46+
promiseArr.push(deffered.promise)
5047
});
51-
res.json(kata.test_script)
5248

49+
50+
Q.all(promiseArr).then((response) => {
51+
res.json(kata.test_script);
52+
})
5353
});
5454

5555

db/start/tables.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ INSERT INTO users (github_id, first_name, last_name, email, username, picutre_ur
4040
VALUES (null, 'bob', 'smith', 'bob@smith.com', 'bobIScool', null);
4141

4242
INSERT INTO katas (kyu, description, starter_code, name, examples, test_script)
43-
VALUES (8, 'var a should equal 1', 'var a = 1', 'Sumbit This', '[{"test":"Test.assertEquals(a, 1)","result":""}]', '[{"test":"Test.assertEquals(a, 1)","result":""}]');
43+
VALUES (8, 'var a should equal 1', 'var a = 1', 'Sumbit This', '[{"test":"Test.assertEquals(a, 1)","result":""}]', '[{"test":"Test.assertEquals(a, 0)","result":""},{"test":"Test.assertEquals(a, 2)","result":""},{"test":"Test.assertEquals(a, 1)","result":""}]');
4444

4545
INSERT INTO solutions (user_id, kata_id, script)
4646
VALUES (1, 1, 'var a = 1'),

0 commit comments

Comments
 (0)