• nitaicaro's avatar
    Extend client tracking tests (#7998) · 19c29b60
    nitaicaro authored
    Test support for the new map, null and push message types. Map objects are parsed as a list of lists of key value pairs.
    for instance: user => john password => 123
    
    will be parsed to the following TCL list:
    
    {{user john} {password 123}}
    
    Also added the following tests:
    
    Redirection still works with RESP3
    
    Able to use a RESP3 client as a redirection client
    
    No duplicate invalidation messages when turning BCAST mode on after normal tracking
    
    Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort
    
    Different clients using different protocols can track the same key
    
    OPTOUT tests
    
    OPTIN tests
    
    Clients can redirect to the same connection
    
    tracking-redir-broken test
    
    HELLO 3 checks
    
    Invalidation messages still work when using RESP3, with and without redirection
    
    Switching to RESP3 doesn't disturb previous tracked keys
    
    Tracking info is correct
    
    Flushall and flushdb produce invalidation messages
    
    These tests achieve 100% line coverage for tracking.c using lcov.
    19c29b60
tracking.tcl 14.6 KB