-
Notifications
You must be signed in to change notification settings - Fork 3
Description
from TinyWebEx/AutomaticSettings#19 (comment):
Well, we could always setup CI to run them automatically in Firefox and Chrome, although that would probably be for a separate PR.
Oh yes, and for these tests you'd need to dynamically load the add-on into the browser etc.
Maybe it's possible with some libs and so on, but in the past it either was not possible or I did not tackle it, so well… this is unfortunately the state we have.
See https://github.com/TinyWebEx/common/blob/master/CONTRIBUTING.md#tests on how to run these tests.
Currently it's a lot of manual work and thus I – "naturally" (i.e. I should have seen it) – forgot to run them…
They rotted…
And now a lot of tests do not even work anymore… 😢
As such:
- a first big step would be to actually run these on GitHub Actions. Remember the steps above, there some problems you may have to tackle such as:
- many libraries depend on each other and most depend on the TestHelper…
- you need to open specific URLs with the extension ID in the browser to run these tests
- you may need special permission for each lib. As such, you need to load the
manifest.json? from each lib's directory. (But – due to dependencies – first copy/symblink it in the upper directory, i.e..., as otherwise the dependencies won't load in the browser. You'll see that if you encounter it.) - tests should run on Firefox… and if the libs are (already) compatible with Chromium (or Chrome, whatever) with this polyfill, which you likely need to add
- as said, the tests may be outdated and fail, but…
- I guess making all tests work again and potentially improving them is another huge work
Best way to tackle
As said, I think we should tackle it in this order: 1. integrate the tests in a proper CI 2. then fix them.
Also, likely one needs to be iterate. Use one (smaller/less complicated) lib first, then others etc.
Etc.
So any help is clearly appreciated.
I honestly just did not had the time to keep these up-to-date etc. There is clearly a lot of technical dept here.