@jupyterlab/testing 4.5.2 → 4.6.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -75,6 +75,7 @@ class JupyterServer {
|
|
|
75
75
|
if (Private.child !== null) {
|
|
76
76
|
throw Error('Previous server was not disposed');
|
|
77
77
|
}
|
|
78
|
+
console.debug('Starting Jupyter Server');
|
|
78
79
|
const startDelegate = new coreutils_2.PromiseDelegate();
|
|
79
80
|
const env = {
|
|
80
81
|
JUPYTER_CONFIG_DIR: Private.handleConfig(options),
|
|
@@ -88,17 +89,19 @@ class JupyterServer {
|
|
|
88
89
|
let started = false;
|
|
89
90
|
// Handle server output.
|
|
90
91
|
const handleOutput = (output) => {
|
|
91
|
-
|
|
92
|
+
// Use process.stdout.write to make logs much more concise
|
|
93
|
+
process.stdout.write(output);
|
|
92
94
|
if (started) {
|
|
93
95
|
return;
|
|
94
96
|
}
|
|
95
97
|
const baseUrl = Private.handleStartup(output);
|
|
96
98
|
if (baseUrl) {
|
|
97
|
-
console.debug('Jupyter Server started');
|
|
99
|
+
console.debug('Jupyter Server started and output received');
|
|
98
100
|
started = true;
|
|
99
101
|
void Private.connect(baseUrl, startDelegate);
|
|
100
102
|
}
|
|
101
103
|
};
|
|
104
|
+
console.debug(`Jupyter Server spawned with pid ${child.pid}`);
|
|
102
105
|
child.stdout.on('data', data => {
|
|
103
106
|
handleOutput(String(data));
|
|
104
107
|
});
|
|
@@ -117,8 +120,12 @@ class JupyterServer {
|
|
|
117
120
|
}
|
|
118
121
|
const stopDelegate = new coreutils_2.PromiseDelegate();
|
|
119
122
|
const child = Private.child;
|
|
123
|
+
let killTimer;
|
|
120
124
|
child.on('exit', code => {
|
|
121
125
|
Private.child = null;
|
|
126
|
+
// Clear the force-kill timer since the process exited
|
|
127
|
+
clearTimeout(killTimer);
|
|
128
|
+
console.debug(`Jupyter Server exited with code ${code}`);
|
|
122
129
|
if (code !== null && code !== 0) {
|
|
123
130
|
stopDelegate.reject('child process exited with code ' + String(code));
|
|
124
131
|
}
|
|
@@ -126,9 +133,11 @@ class JupyterServer {
|
|
|
126
133
|
stopDelegate.resolve(void 0);
|
|
127
134
|
}
|
|
128
135
|
});
|
|
136
|
+
console.debug(`Killing Jupyter Server (pid ${child.pid})`);
|
|
129
137
|
child.kill();
|
|
130
|
-
|
|
138
|
+
killTimer = setTimeout(() => {
|
|
131
139
|
if (Private.child) {
|
|
140
|
+
console.debug(`Forcibly killing Jupyter Server with kill -9 (pid ${child.pid})`);
|
|
132
141
|
Private.child.kill(9);
|
|
133
142
|
}
|
|
134
143
|
}, 3000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_jupyter_server.js","sourceRoot":"","sources":["../src/start_jupyter_server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8BAA8B;AAC9B,0CAA0C;AAE1C,iDAAoD;AACpD,0DAA8B;AAC9B,uCAAyB;AACzB,2CAA6B;AAE7B,qDAA2D;AAC3D,iDAAsE;AACtE,qCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,aAAa;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,UAA2C,EAAE;QACvD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;
|
|
1
|
+
{"version":3,"file":"start_jupyter_server.js","sourceRoot":"","sources":["../src/start_jupyter_server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/testing",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.0-alpha.1",
|
|
4
4
|
"description": "JupyterLab basic testing utilities.",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@babel/core": "^7.10.2",
|
|
37
37
|
"@babel/preset-env": "^7.10.2",
|
|
38
|
-
"@jupyterlab/coreutils": "^6.
|
|
38
|
+
"@jupyterlab/coreutils": "^6.6.0-alpha.1",
|
|
39
39
|
"@lumino/coreutils": "^2.2.2",
|
|
40
40
|
"@lumino/signaling": "^2.1.5",
|
|
41
41
|
"deepmerge": "^4.2.2",
|
|
@@ -50,6 +50,9 @@ export class JupyterServer {
|
|
|
50
50
|
if (Private.child !== null) {
|
|
51
51
|
throw Error('Previous server was not disposed');
|
|
52
52
|
}
|
|
53
|
+
|
|
54
|
+
console.debug('Starting Jupyter Server');
|
|
55
|
+
|
|
53
56
|
const startDelegate = new PromiseDelegate<string>();
|
|
54
57
|
|
|
55
58
|
const env = {
|
|
@@ -67,19 +70,22 @@ export class JupyterServer {
|
|
|
67
70
|
|
|
68
71
|
// Handle server output.
|
|
69
72
|
const handleOutput = (output: string) => {
|
|
70
|
-
|
|
73
|
+
// Use process.stdout.write to make logs much more concise
|
|
74
|
+
process.stdout.write(output);
|
|
71
75
|
|
|
72
76
|
if (started) {
|
|
73
77
|
return;
|
|
74
78
|
}
|
|
75
79
|
const baseUrl = Private.handleStartup(output);
|
|
76
80
|
if (baseUrl) {
|
|
77
|
-
console.debug('Jupyter Server started');
|
|
81
|
+
console.debug('Jupyter Server started and output received');
|
|
78
82
|
started = true;
|
|
79
83
|
void Private.connect(baseUrl, startDelegate);
|
|
80
84
|
}
|
|
81
85
|
};
|
|
82
86
|
|
|
87
|
+
console.debug(`Jupyter Server spawned with pid ${child.pid}`);
|
|
88
|
+
|
|
83
89
|
child.stdout.on('data', data => {
|
|
84
90
|
handleOutput(String(data));
|
|
85
91
|
});
|
|
@@ -101,8 +107,14 @@ export class JupyterServer {
|
|
|
101
107
|
}
|
|
102
108
|
const stopDelegate = new PromiseDelegate<void>();
|
|
103
109
|
const child = Private.child;
|
|
110
|
+
|
|
111
|
+
let killTimer: NodeJS.Timeout;
|
|
112
|
+
|
|
104
113
|
child.on('exit', code => {
|
|
105
114
|
Private.child = null;
|
|
115
|
+
// Clear the force-kill timer since the process exited
|
|
116
|
+
clearTimeout(killTimer);
|
|
117
|
+
console.debug(`Jupyter Server exited with code ${code}`);
|
|
106
118
|
if (code !== null && code !== 0) {
|
|
107
119
|
stopDelegate.reject('child process exited with code ' + String(code));
|
|
108
120
|
} else {
|
|
@@ -110,9 +122,13 @@ export class JupyterServer {
|
|
|
110
122
|
}
|
|
111
123
|
});
|
|
112
124
|
|
|
125
|
+
console.debug(`Killing Jupyter Server (pid ${child.pid})`);
|
|
113
126
|
child.kill();
|
|
114
|
-
|
|
127
|
+
killTimer = setTimeout(() => {
|
|
115
128
|
if (Private.child) {
|
|
129
|
+
console.debug(
|
|
130
|
+
`Forcibly killing Jupyter Server with kill -9 (pid ${child.pid})`
|
|
131
|
+
);
|
|
116
132
|
Private.child.kill(9);
|
|
117
133
|
}
|
|
118
134
|
}, 3000);
|