forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathunittests.ts
More file actions
70 lines (56 loc) · 2.35 KB
/
unittests.ts
File metadata and controls
70 lines (56 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
'use strict';
// Not sure why but on windows, if you execute a process from the System32 directory, it will just crash Node.
// Not throw an exception, just make node exit.
// However if a system32 process is run first, everything works.
import * as child_process from 'child_process';
import * as os from 'os';
if (os.platform() === 'win32') {
const proc = child_process.spawn('C:\\Windows\\System32\\Reg.exe', ['/?']);
proc.on('error', () => {
console.error('error during reg.exe');
});
}
if ((Reflect as any).metadata === undefined) {
require('reflect-metadata');
}
process.env.VSC_PYTHON_CI_TEST = '1';
process.env.VSC_PYTHON_UNIT_TEST = '1';
process.env.NODE_ENV = 'production'; // Make sure react is using production bits or we can run out of memory.
import { initialize } from './vscode-mock';
// Custom module loader so we skip .css files that break non webpack wrapped compiles
const Module = require('module');
// Required for DS functional tests.
(function () {
const origRequire = Module.prototype.require;
const _require = (context: any, filepath: any) => {
return origRequire.call(context, filepath);
};
Module.prototype.require = function (filepath: string) {
if (filepath.endsWith('.css') || filepath.endsWith('.svg')) {
return '';
}
if (filepath.startsWith('expose-loader?')) {
// Pull out the thing to expose
const queryEnd = filepath.indexOf('!');
if (queryEnd >= 0) {
const query = filepath.substring('expose-loader?'.length, queryEnd);
(global as any)[query] = _require(this, filepath.substring(queryEnd + 1));
return '';
}
}
if (filepath.startsWith('slickgrid/slick.core')) {
// Special case. This module sticks something into the global 'window' object.
const result = _require(this, filepath);
// However it doesn't look in the 'window' object later. we have to move it to
// the globals when in node.js
if ((window as any).Slick) {
(global as any).Slick = (window as any).Slick;
}
return result;
}
return _require(this, filepath);
};
})();
initialize();