Self-learning: unit testing
Self-learning strategy operates between two threads,
ribIo, making unit testing challenging. Before Self-learning strategy was merged, only simple integration tests were done. Recently, we have conducted extensive testing on self-learning in several scenarios, and found several bugs. This task is to design and add unit testing to self-learning strategy.
Updated by Md Ashiqur Rahman over 1 year ago
Hi Junxiao, Teng mentioned you and him had a discussion regarding the tests but nit in details. Can we schedule a meeting to discuss? Also, how would you prefer to set a meeting? I sent you a message on slack, but did not get a response. Do you want me to send you an email?
Updated by Teng Liang 4 months ago
Here is the testing plan: test self-learning strategy behaviors in different scenarios on a single node. The purpose is to test if sl is implemented correctly with the right action being conducted.
To test it, the fixture contains a forwarder in the main io, and the rib service in the rib io. The actions for Interest processing do not use rib service, but the actions for Data processing do. In data processing, the strategy is calling
rib::Service::get().getRibManager().slXXX. The current coding difficulty is to connect the rib service(manager) to the forwarder, so that any update sent from the manager is able to reach the forwarder (fib). Any idea to address this?