davideicardi / live-plugin-manager

Plugin manager and installer for Node.JS
MIT License
242 stars 44 forks source link

Update locking test #72

Open quarenw opened 2 years ago

quarenw commented 2 years ago

This PR is to hopefully fix some strange errors with the test for locking to prevent multiple parallel installations.

I have not been able to replicate the issue consistently but from what I saw during debugging the issue the test would sometimes not throw an error due to an absence of a lock file.

My hunch is that as there is no way to guarantee promises run in parallel sometimes the installation of the local plugin1 happens all at once in the await and so never conflicting with the "moment" plugin install.

This change makes it so both installs are in theory initiated at once and given that the moment install is more likely to yield in the event loop, more likely to then clash as the local plugin install starts.