Prerequisites
- WSL Setup (Linux for Windows) (windows only)
- Docker environment (Docker desktop started in windows)
- Docker image of latest CPS-NCMP (mvn clean install)
- Docker image of latest DMI-Plugin (mvn clean install)
Run CSIT
Navigate to cps/csit directory.
Run the following script
sudo bash run-project-csit.sh
Note - The first time this runs it will download all the libraries defined in the CSIT scripts. This may take awhile be patient
Once the scripts have run, the output should look like the following
Disable Tear-down
As part of this process docker containers are created for cps-and-ncmp, dbpostgresql, ncmp-dmi-plugin, mariadb and sdnc, once the testing is finished these docker containers are stopped and removed.
To prevent these docker containers from being stopped as part of this process for any reason, within the teardown.sh script located in cps/csit/plans/cps comment out the following line.
Potential issues
Local IP address not set
This issue typically appears when running the scripts from a windows WSL environment
Error response from daemon: invalid IP address in add-host: ""
To resolve this, Install and run ifconfig
sudo apt install net-tools ifconfig
From the eth0 configuration take the inet address
Update the cps/csit/plans/cps/setup.sh to set te IP Address directly instead of extracting it using linux commands that don't work on WSL:
Save this configuration.
Run scripts again.
Port already in use
Another common reason for containers not starting is that the port is already in use. You might see something like below:
Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
The commands to check ports usage are:
- Windows:
netstat -aof
- Unix (WSL):
netstat.exe -an | grep -i "listen" | grep -v "\[::\]"
Stop and disable any conflicting service using the same port and try again
ModuleNotFoundError (python3 v. python)
If the tests don't run at all check for ModuleNotFoundError like this:
/tmp/tmp.rgIeMxiRCGrobot_venv/bin/python: Error while finding module specification for 'robot.run' (ModuleNotFoundError: No module named 'robot')
This might be because of how you environment uses python2 and/or python3
In the file run-csit.sh located within the cps/csit directory
Look for the following line (almost at the end of the file):
python -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}
Change this to us python3
python3 -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}
Run scripts again
System time out of Sync
If there is further issues downloading libraries due to the system date being out of sync with windows issue the following command and run the scripts again.
sudo hwclock --hctosys