Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add system tests #30744

Open
wknapik opened this issue Jun 1, 2023 · 4 comments
Open

Add system tests #30744

wknapik opened this issue Jun 1, 2023 · 4 comments

Comments

@wknapik
Copy link
Contributor

wknapik commented Jun 1, 2023

We could run tests with the entire (optionally ASANified) browser.

We could use Selenium/Puppeteer/etc. to have the browser access pages, execute actions with the mouse and keyboard, etc. Those pages could include old/new exploits, or have generated content (along with generated events) to fuzz the browser, or just check for expected behavior which shouldn't change.

We could test cases like:

  • Crashes on startup, or after some actions
    • Covering at least the most popular combinations of settings
  • Correct auto update behavior
  • Behavior on SIGKILL (is any data lost? is the session restored on restart?)
  • Hardware events (resources running out (e.g. disk space), devices being plugged in/out, etc.)
  • Network events (connections/disconnections, vpn changes, etc.)
  • UI operations (dragging tabs/tab groups, etc.)
  • Correct operation with different containment options (snap, flatpak, etc.)
  • Correct functioning of extensions, like Snowflake
  • Verification with fingerprinting websites (regular/private/tor), etc.
  • Webcompat tests for top X sites
@wknapik
Copy link
Contributor Author

wknapik commented Jun 2, 2023

cc @bsclifton, @kdenhartog, @iefremov, @goodov

Just some ideas. Wdyt?

@kdenhartog
Copy link
Member

For me I was thinking more low level, so fuzzing very specific functions like wallet transaction parsers. It seems being able to do this at a higher level could be useful and achievable just as easily with fuzzing the JS APIs rather than particular C++ functions.

@wknapik
Copy link
Contributor Author

wknapik commented Jun 5, 2023

@kdenhartog yeah, we should fuzz at a lower level, for sure. This would just introduce the highest level in addition to whatever else we do. Figured I'd tag you, given your interest in fuzzing.

@bsclifton
Copy link
Member

We can use puppeteer for doing this - one example @pes10k and I hashed out a while back:
https://github.com/brave-experiments/brave-twitter-tip-tester

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

3 participants