Task #5026

Self-learning: unit testing

Added by Teng Liang over 1 year ago. Updated 4 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


Self-learning strategy operates between two threads, mainIo and 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.

Related issues

Has duplicate NFD - Task #4401: Unit tests for Self-learning Forwarding StrategyAbandoned


Updated by Teng Liang over 1 year ago

  • Subject changed from Self-learning Strategy: Unit Testing to Self-learning: unit testing

Updated by Davide Pesavento over 1 year ago

  • Tags changed from SelfLearning to SelfLearning, UnitTests

We already had #4401...


Updated by Junxiao Shi over 1 year ago

  • Has duplicate Task #4401: Unit tests for Self-learning Forwarding Strategy added

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 Davide Pesavento about 1 year ago

  • Target version changed from v0.7 to v0.8

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?


Updated by Md Ashiqur Rahman 4 months ago

  • Assignee deleted (Md Ashiqur Rahman)

Also available in: Atom PDF