infra bot: Add Memcheck bot (valgrind)
[platform/core/graphics/tizenvg.git] / .github / workflows / memcheck_valgrind.sh
1 #!/bin/bash
2
3 echo "Run Valgrind"
4 echo "valgrind --leak-check=yes ./tvgUnitTests"
5 cd ./build/test
6
7 valgrind --leak-check=yes ./tvgUnitTests > memcheck_valgrind.txt 2>&1
8
9
10 PAYLOAD_MEMCHECK=`cat memcheck_valgrind.txt`
11 COMMENTS_URL=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.comments_url)
12
13 echo $COMMENTS_URL
14 echo "MEMCHECK errors:"
15 echo $PAYLOAD_MEMCHECK
16
17 if [[ $PAYLOAD_MEMCHECK == *"definitely lost:"* || $PAYLOAD_MEMCHECK == *"Invalid read "* || $PAYLOAD_MEMCHECK == *"Invalid write "* ]]; then
18   OUTPUT+=$'\n**MEMCHECK(VALGRIND) RESULT**:\n'
19   OUTPUT+=$'\n`valgrind --leak-check=yes ./tvgUnitTests`\n'
20   OUTPUT+=$'\n```\n'
21   OUTPUT+="$PAYLOAD_MEMCHECK"
22   OUTPUT+=$'\n```\n' 
23 fi
24
25 PAYLOAD=$(echo '{}' | jq --arg body "$OUTPUT" '.body = $body')
26
27 curl -s -S -H "Authorization: token $GITHUB_TOKEN" --header "Content-Type: application/vnd.github.VERSION.text+json" --data "$PAYLOAD" "$COMMENTS_URL"