Compare commits

...

5 Commits

Author SHA1 Message Date
Nick O'Leary
0c2be73a88 Add more debug 2024-03-22 15:59:55 +00:00
Nick O'Leary
884bbe01f0 Add trace for who last started the stack 2024-03-21 20:48:35 +00:00
Nick O'Leary
bd57bce2d3 update workflow 2024-03-21 20:22:56 +00:00
Nick O'Leary
331ed78854 bump test helper 2024-03-21 20:21:36 +00:00
Nick O'Leary
abe579d332 Fix async tidy up handling in core tests 2024-03-21 19:27:37 +00:00
6 changed files with 13 additions and 8 deletions

View File

@@ -2,7 +2,7 @@ name: Run tests
on:
push:
branches: [ master, dev ]
branches: [ master, dev, debug-tests ]
pull_request:
branches: [ master, dev ]

View File

@@ -112,7 +112,7 @@
"mermaid": "^10.4.0",
"minami": "1.2.3",
"mocha": "9.2.2",
"node-red-node-test-helper": "^0.3.3",
"node-red-node-test-helper": "^0.3.4-debug",
"nodemon": "2.0.20",
"proxy": "^1.0.2",
"sass": "1.62.1",

View File

@@ -44,9 +44,11 @@ var activeNodesToFlow = {};
var typeEventRegistered = false;
let lastStarterStack
function init(runtime) {
if (started) {
throw new Error("Cannot init without a stop");
throw new Error("Cannot init without a stop:" + lastStarterStack);
}
settings = runtime.settings;
storage = runtime.storage;
@@ -269,12 +271,12 @@ function getFlows() {
return activeConfig;
}
async function start(type,diff,muteLog,isDeploy) {
async function start(type,diff,muteLog,isDeploy, traceError) {
type = type || "full";
if (diff && diff.globalConfigChanged) {
type = 'full'
}
lastStarterStack = traceError || new Error('Flows started here').stack
started = true;
state = 'start'
var i;
@@ -334,6 +336,7 @@ async function start(type,diff,muteLog,isDeploy) {
log.info(log._("nodes.flows.stopped-flows"));
events.emit("runtime-event",{id:"runtime-state",payload:{ state: 'stop', deploy:isDeploy },retain:true});
state = 'stop'
lastStarterStack = null
started = false
return
}
@@ -454,6 +457,7 @@ function stop(type,diff,muteLog,isDeploy) {
if (diff.globalConfigChanged) {
type = 'full'
}
lastStarterStack = null
started = false;
state = 'stop'
var promises = [];

View File

@@ -131,6 +131,7 @@ function getVersion() {
* @memberof @node-red/runtime
*/
function start() {
const startedCaller = new Error('runtime/lib/index.start started here').stack
return i18n.registerMessageCatalog("runtime",path.resolve(path.join(__dirname,"..","locales")),"runtime.json")
.then(function() { return storage.init(runtime)})
.then(function() { return settings.load(storage)})
@@ -233,7 +234,7 @@ function start() {
}
}
return redNodes.loadContextsPlugin().then(function () {
redNodes.loadFlows().then(() => { redNodes.startFlows() }).catch(function(err) {});
redNodes.loadFlows().then(() => { redNodes.startFlows(null, null, null, null, startedCaller) }).catch(function(err) {});
started = true;
});
});

View File

@@ -43,7 +43,7 @@ describe('inject node', function() {
});
}
afterEach(async function() {
afterEach(function(done) {
helper.unload().then(function () {
return Context.clean({allNodes: {}});
}).then(function () {

View File

@@ -66,7 +66,7 @@ describe('websocket Node', function() {
afterEach(function() {
closeAll();
helper.unload();
return helper.unload();
});
describe('websocket-listener', function() {