[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