bbfdm/gitlab-ci/memory-test.sh
2023-04-14 10:05:08 +00:00

64 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
echo "Functional API Tests"
pwd
. ./gitlab-ci/shared.sh
date +%s > timestamp.log
echo "Starting supervisor"
supervisorctl shutdown
sleep 1
supervisord -c /etc/supervisor/supervisord.conf
sleep 3
supervisorctl status all
function run_valgrind()
{
echo "Running # bbf_dm $@ #"
exec_cmd valgrind -q --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes ./test/bbf_test/bbf_dm $@
}
function run_valgrind_verbose()
{
echo "Running # bbf_dm $@ #"
exec_cmd_verbose valgrind -q --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes ./test/bbf_test/bbf_dm $@
}
function run_valgrind_redirect()
{
echo "Running # bbf_dm $@ #" >> output-report-device-get.txt
exec_cmd_verbose valgrind -q --leak-check=full --show-reachable=yes --show-leak-kinds=all --errors-for-leak-kinds=all --error-exitcode=1 --track-origins=yes ./test/bbf_test/bbf_dm $@ | tee -a output-report-device-get.txt
}
echo "Running memory check on datamodel"
run_valgrind_verbose -u get Device.RootDataModelVersion
run_valgrind_verbose -c get Device.RootDataModelVersion
run_valgrind -u get Device.
run_valgrind -c get Device.
run_valgrind -u instances Device.
run_valgrind -c instances Device.
run_valgrind -u schema Device.
run_valgrind -c schema Device.
run_valgrind_verbose -u get Device.IP.Interface.*.IPv4Address.
run_valgrind_verbose -c get Device.IP.Interface.*.IPv6Address.*.IPAddress
run_valgrind_redirect -u get Device.
run_valgrind_redirect -c get Device.
supervisorctl stop all
supervisorctl status
#report part
#GitLab-CI output
gcovr -r . 2> /dev/null #throw away stderr
# Artefact
gcovr -r . 2> /dev/null --xml -o ./memory-test-coverage.xml
echo "Memory Test :: PASS"