mirror of
https://github.com/overleaf/overleaf.git
synced 2025-02-25 00:11:32 +00:00
Merge pull request #3613 from overleaf/em-unit-tests-leaks
Fix memory leaks in unit tests GitOrigin-RevId: e2b366dd9f277823db4c7c00c209da2b3774a0fe
This commit is contained in:
parent
a6e2fa6ad1
commit
bbe4137d81
1 changed files with 14 additions and 0 deletions
14
services/web/test/unit/bootstrap.js
vendored
14
services/web/test/unit/bootstrap.js
vendored
|
@ -52,3 +52,17 @@ LIBRARIES.forEach(lib => {
|
||||||
SandboxedModule.configure({
|
SandboxedModule.configure({
|
||||||
requires: GLOBAL_REQUIRE_CACHE_FOR_SANDBOXED_MODULES
|
requires: GLOBAL_REQUIRE_CACHE_FOR_SANDBOXED_MODULES
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// sandboxed-module somehow registers every fake module it creates in this
|
||||||
|
// module's children array, which uses quite a big amount of memory. We'll take
|
||||||
|
// a copy of the module children array and restore it after each test so that
|
||||||
|
// the garbage collector has a chance to reclaim the fake modules.
|
||||||
|
let initialModuleChildren
|
||||||
|
before('record initial module children', function() {
|
||||||
|
initialModuleChildren = module.children.slice()
|
||||||
|
})
|
||||||
|
|
||||||
|
afterEach('restore module children', function() {
|
||||||
|
// Delete leaking sandboxed modules
|
||||||
|
module.children = initialModuleChildren.slice()
|
||||||
|
})
|
||||||
|
|
Loading…
Reference in a new issue