Build client Docker image
./build.sh -i client
Build server Docker image for ASIC trident2
target saivs
:
./build.sh -i server -a trident2 -t saivs
Start SAI Challenger client:
./run.sh -i client
Start SAI Challenger server:
./run.sh -i server -a trident2 -t saivs
Create veth links between client and server dockers:
sudo ./veth-create-host.sh sc-server-run sc-client-run
Where: 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 start
And then shut it down:
./run_client_server.sh stop
Run 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-html
NOTE: 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