Merge pull request #3613 from overleaf/em-unit-tests-leaks

Fix memory leaks in unit tests

GitOrigin-RevId: e2b366dd9f277823db4c7c00c209da2b3774a0fe
This commit is contained in:
Eric Mc Sween 2021-02-03 07:36:39 -05:00 committed by Copybot
parent a6e2fa6ad1
commit bbe4137d81

View file

@ -52,3 +52,17 @@ LIBRARIES.forEach(lib => {
SandboxedModule.configure({
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()
})