Build client Docker image
./build.sh -i clientBuild server Docker image for ASIC trident2 target saivs:
./build.sh -i server -a trident2 -t saivsStart SAI Challenger client:
./run.sh -i clientStart SAI Challenger server:
./run.sh -i server -a trident2 -t saivsCreate veth links between client and server dockers:
sudo ./veth-create-host.sh sc-server-run sc-client-runWhere: sc-server-run and sc-client-run are docker names of SAI-Challenger server and client respectively. (sc-server-trident2-saivs-run and sc-client-run)
Alternatively, you can run the whole client-server environment on the same host with a single script:
./run_client_server.sh -a trident2 -t saivs start
./run_client_server.sh startAnd then shut it down:
./run_client_server.sh stopRun SAI Challenger testcases:
./exec.sh -i client pytest --testbed=saivs_client_server -v -k "test_l2_basic"Run SAI Challenger testcases and generate HTML report:
./exec.sh -i client pytest --testbed=saivs_client_server -v -k "test_l2_basic" --html=report.html --self-contained-htmlNOTE: The option --traffic will be ignored when running on saivs target.
In order to see the syncd log you need to connect to the server:
docker exec -it sc-server-trident2-saivs-run bash
And check /var/log/syslog
To see the input of the redis-server you need to install tcpdump and run it while tests are running:
sudo apt install -y tcpdump
sudo tcpdump port 6379