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

Develop tests!!! #230

Open
1 task
uazo opened this issue Jun 2, 2023 · 5 comments
Open
1 task

Develop tests!!! #230

uazo opened this issue Jun 2, 2023 · 5 comments
Labels

Comments

@uazo
Copy link
Owner

uazo commented Jun 2, 2023

It is outrageous that this browser does not have an automatic test, I am ashamed, but it does.

Repository owner locked and limited conversation to collaborators Jun 2, 2023
@uazo uazo added the epic label Jun 2, 2023
Repository owner unlocked this conversation Jun 28, 2023
@PF4Public
Copy link

I think that Testing in Chromium page would be a good starting point.

According to it, not only they have unit tests, but also it would be possible to load pages in a test renderer (content_shell) and compare the rendered output or JavaScript output against an expected output file. All that from command line: out/Default/blink_unittests --gtest_filter='Foo*'

@uazo
Copy link
Owner Author

uazo commented Jun 28, 2023

yes, i know that approach, i also used it some time ago, but

  • currently, because of the changes, content_shell and the tests don't build. maybe the situation has changed since i removed the mega patch related to safebrowsing but probably a new patch is needed to reenable those builds, i had done it (it's somewhere in the history), i don't think it's worth it to try again.
  • launching those tests in a ci is not a simple matter: in my docker image there is the necessary but it was difficult to maintain and required additional setup (and thus additional maintenance) and sometimes it didn't work because of some qemu trouble.
  • developing "canonical" tests could weigh heavily on code maintenance during rebase and I would not want to increase the load.
  • users would not be able to verify the tests

instead, my idea is to leverage javascript using the api provided in chromium, which allows me to expose java and c++ objects.
that way, i could use html+javascript to drive the tests, and i could probably make maintenance easy by embedding the "tests" within the patch code, which today i simply do via logs and then remove from code.

in this way i could also delegate the construction of the javascript infrastucture, because it would not be necessary to know either java or c++.

but for now it's just an idea, I've never tested it, and definitely something is missing from my analysis

@Krawei
Copy link

Krawei commented Jul 8, 2023

Ever thought of using OpenSUSE's OpenQA for your tests? The SUSE and Fedora Guys use it to test every package of their (semi) rolling release distributions against dozen of tests (for every single package) before the iso is going to be backed.

Maybe it is possible to use it for Android Development,too?

Link here:
https://open.qa/
https://fedoraproject.org/wiki/OpenQA

@PF4Public
Copy link

A somewhat related thing: implement some kind of testing server with the help of which any user could test their current browser for specific privacy issues, especially those, which are fixed in cromite, to have an easy way to verify that those fixes function and not got broken at some point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants