[tor-bugs] #7384 [Metrics/Ooni]: Implement bisection method in keyword filtering test
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun May 1 16:09:07 UTC 2016
#7384: Implement bisection method in keyword filtering test
----------------------------------+-------------------------
Reporter: hellais | Owner: hellais
Type: task | Status: new
Priority: Medium | Milestone:
Component: Metrics/Ooni | Version:
Severity: Normal | Resolution:
Keywords: ooni_tests, wishlist | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
----------------------------------+-------------------------
Changes (by elation):
* severity: => Normal
Comment:
This comment refers only to the keyword list bisection aspect of this
issue.
I have mocked up a few nearly working version of this and have been
playing with placing the bisection logic into the inputProcessor. I did
this to separate the keyword testing components from the keyword bisection
components. The mocked up code is considerable cleaner.
In order to make it functional the individual tests need to be able to
pass data to the main test_case.inputs generator that seeds each
measurement.
https://github.com/TheTorProject/ooni-
probe/blob/master/ooni/nettest.py#L528-L538
I see this being done in one of two ways.
* The first is to leverage an outside data-store that the inputProcessor
is pulling from, and the test is populating with results. This adds the
addition of new services into the stack for a single test, which I don't
see as a useful addition.
* The second option is to use the send() function to push values into the
generator. This would be a clean way to provide feedback to the
test_case.inputs generator that it could use to bisect the blocked input
and provide them on a later iteration. I currently cannot use this method
because the test instance passed to each measurement is a new test_case
object, and therefore does not have access to the test_case.inputs object
that is generating inputs.
I would be happy to take a pass at passing reference to the
test_case.inputs object to the test to get a working prototype working if
that is the right path to head down. I wanted to ask in here to see if
there might be a more appropriate way. I don't want to head down this path
if there are reasons why this would never be merged into the core
codebase.
Here is my current bisection functionality mock-up for the interested:
https://github.com/elationfoundation/ooni-
probe/blob/feature/bisect_inputs/ooni/nettests/experimental/bisect_send.py
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7384#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list