kaitai-io / kaitai_struct

Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
https://kaitai.io
3.94k stars 191 forks source link

JavaScript CI: in-browser testing #540

Open GreyCat opened 5 years ago

GreyCat commented 5 years ago

Currently, our JS automated tests only run in nodejs environment in VMs provided by Travis CI. This is good, but not enough: it would be great to ensure that code we generate is compatible with multitude of browsers' JS engines.

Current idea for baseline is typed arrays support. That actually means that we'll be officially supporting IE11+, Edge, FF 4+, Chrome 7+, Opera 12+. Everything else is probably more or less safe to ignore.

Ideas worth investigating:

jchv commented 5 years ago

SauceLabs also seems to offer free usage for FOSS projects.

GreyCat commented 5 years ago

LambdaTest offers selenium-based automation and 200 free automated minutes (per month, I believe?). No special support for FOSS projects, but still may be worth checking out.

GreyCat commented 5 years ago

Selenium Ecosystem lists quite a few other "cloud selenium" providers.

KOLANICH commented 5 years ago

I feel like for testing against FF engine one doesn't need a browser. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell

also

https://github.com/mozilla/spidernode

jchv commented 5 years ago

In my personal experience it's usually not worth the trouble to try to avoid running the actual browsers. Node.JS is actually a quite different environment from a web browser, and not all JavaScript engines can be tested this way.

KOLANICH commented 5 years ago

Node.JS is actually a quite different environment from a web browser

KS doesn't depend on browser-specific features currently

and not all JavaScript engines can be tested this way.

Certainly. But it doesn't mean that ones which can be tested this way shouldn't.