Open Bug 1602832 Opened 2 months ago Updated 1 month ago

[socket process] Enable xpcshell tests for socket process

Categories

(Core :: Networking, task, P2)

task

Tracking

()

People

(Reporter: kershaw, Assigned: kershaw)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(2 files)

Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.

Summary: [socket process] Enable xpcshell tests socket process → [socket process] Enable xpcshell tests for socket process
Assignee: nobody → kershaw
Priority: -- → P2
Whiteboard: [necko-triaged]

(In reply to Kershaw Chang [:kershaw] from comment #0)

Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.

So, does it work when e10s is enabled? Because if so, that would mean that tests in netwerk/test/unit_ipc/ are run, which normally just wrap the ones in netwerk/test/unit/ - I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?

(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)

(In reply to Kershaw Chang [:kershaw] from comment #0)

Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.

So, does it work when e10s is enabled? Because if so, that would mean that tests in netwerk/test/unit_ipc/ are run, which normally just wrap the ones in netwerk/test/unit/ - I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?

Yes, I think running regulat unit tests with socket process is really important. Tests in netwerk/test/unit_ipc/ are not enough.

Byron, could you remind me again why you added the code here?

Flags: needinfo?(docfaraday)

(In reply to Kershaw Chang [:kershaw] from comment #2)

(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)

(In reply to Kershaw Chang [:kershaw] from comment #0)

Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.

So, does it work when e10s is enabled? Because if so, that would mean that tests in netwerk/test/unit_ipc/ are run, which normally just wrap the ones in netwerk/test/unit/ - I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?

Yes, I think running regulat unit tests with socket process is really important. Tests in netwerk/test/unit_ipc/ are not enough.

Byron, could you remind me again why you added the code here?

I think it was because none of the IPC interfaces worked when the parent process was calling API on the socket process. All of that API was written to be exposed to a content process.

Flags: needinfo?(docfaraday)

(In reply to Byron Campen [:bwc] from comment #5)

(In reply to Kershaw Chang [:kershaw] from comment #2)

(In reply to Valentin Gosu [:valentin] (he/him) [PTO until Jan 6th] from comment #1)

(In reply to Kershaw Chang [:kershaw] from comment #0)

Currently, the socket process is disabled when e10s is not enabled.
This means that we are unable to run all unit tests in netwerk/test/unit/ for socket process.

So, does it work when e10s is enabled? Because if so, that would mean that tests in netwerk/test/unit_ipc/ are run, which normally just wrap the ones in netwerk/test/unit/ - I assume the problem is that we want to test main process things as with the regular unit tests, but exercise the codepaths of the socket process?

Yes, I think running regulat unit tests with socket process is really important. Tests in netwerk/test/unit_ipc/ are not enough.

Byron, could you remind me again why you added the code here?

I think it was because none of the IPC interfaces worked when the parent process was calling API on the socket process. All of that API was written to be exposed to a content process.

I'm not sure which API is exposed to content process only. Maybe you can give me an example?

Everything in here:

https://searchfox.org/mozilla-central/source/dom/media/webrtc/PMediaTransport.ipdl

Note that all of the "parent" API runs on the socket process. If the parent process wanted to use that API, it would need to use it as a child, which I don't think works.

I'll come back to this when bug 1512471 is completed.

Depends on: 1512471
You need to log in before you can comment on or make changes to this bug.