Task #5026

Self-learning: unit testing

Added by Teng Liang about 2 years ago. Updated 5 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 about 2 years ago

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

Updated by Davide Pesavento about 2 years ago

  • Tags changed from SelfLearning to SelfLearning, UnitTests

We already had #4401...


Updated by Junxiao Shi about 2 years ago

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

Updated by Md Ashiqur Rahman about 2 years 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 almost 2 years ago

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

Updated by Teng Liang about 1 year 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 about 1 year ago

  • Assignee deleted (Md Ashiqur Rahman)

Updated by Davide Pesavento 5 months ago

  • Priority changed from High to Normal
  • Target version deleted (v0.8)
  • Start date deleted (10/13/2019)

Also available in: Atom PDF