-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathrunTests
executable file
·121 lines (98 loc) · 3.97 KB
/
runTests
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/bin/bash
CWD=$(pwd)
export PATH="${PATH}:$(pwd)/build/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$(pwd)/build/lib:/usr/local/lib:${CWD}/thirdparty/ThorsMongo/build/lib/:/opt/homebrew/lib/"
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}:$(pwd)/build/lib:/usr/local/lib:${CWD}/thirdparty/ThorsMongo/build/lib/:/opt/homebrew/lib/"
export OS=$1
if [[ "${OS}" == "" ]]; then
export OS=$(uname -s | awk -F- '{print $1}')
fi
if [[ ${OS} == "Linux" ]]; then
dateAt="-d @"
fi
if [[ "${OS}" == "Darwin" ]]; then
dateAt="-r "
fi
rootDir=$(pwd)
echo "Running:"
allparser=$(benchmark --listParser)
parserList=${2:-${allparser}}
echo " Parsers: ${parserList}"
echo
echo
echo "Library,First Commit,Last Commit,Tested Version, Latest Version,Language Type,Stars" > Stats.csv
benchmark --titleOnly Conformance.csv Performance.csv
for parser in ${parserList}; do
for filter in $(benchmark --listTests); do
./runOneTest ${parser} ${filter}
if [[ $? != 0 ]]; then
./runOneTest ${parser} ${filter} --markFailed
r=$?
if [[ $r != 0 ]]; then
echo "Big Issue: $? ${parser} ${filter}"
exit 1
fi
fi
done
cd thirdparty/${parser}
gitInfo=$(git remote get-url origin)
first=$(git log --reverse --pretty=%ct | head -1)
echo date ${dateAt}${first} '+"%c"'
firstOrdered=$(date ${dateAt}${first} +"%c")
echo "firstOrdered: ${firstOrdered}"
firstOrderNumeric=$(date ${dateAt}${first} +"%F")
echo "firstOrderNumeric: ${firstOrderNumeric}"
last=$(git log --pretty=%ct | head -1)
echo "last: ${last}"
lastOrdered=$(date ${dateAt}${last} +"%c")
echo "lastOrdered: ${lastOrdered}"
lastOrderNumeric=$(date ${dateAt}${last} +"%F")
echo "lastOrderNumeric: ${lastOrderNumeric}"
typeOfLib=$(benchmark --parser=${parser} --parserType)
echo "typeOfLib: ${typeOfLib}"
gitInfo1=${gitInfo#https://github.com/}
echo "gitInfo1: ${gitInfo1}"
gitInfo2=${gitInfo1%.*}
echo "gitInfo2: ${gitInfo2}"
gitUser=${gitInfo2%/*}
echo "gitUser: ${gitUser}"
gitRepo=${gitInfo2#*/}
echo "gitRepo: ${gitRepo}"
echo "https://api.github.com/repos/${gitUser}/${gitRepo}?page=$i&per_page=100"
gitData=$(curl -s "https://api.github.com/repos/${gitUser}/${gitRepo}?page=$i&per_page=100")
echo "gitData: ${gitData}"
stars=$(echo ${gitData} | jq '.stargazers_count // 0')
#stars=$(curl -s "https://api.github.com/repos/${gitUser}/${gitRepo}?page=$i&per_page=100" | jq '.stargazers_count // 0')
echo "stars: ${stars}"
tags=$(git rev-list --tags --max-count=1)
echo "tags: ${tags}"
gitLatestVersion=""
if [[ "${tags}" != "" ]]; then
gitLatestVersion=$(git describe --tags ${tags})
fi
echo "gitLatestVersion: ${gitLatestVersion}"
tagsOld=$(git rev-parse HEAD)
echo "tagsOld: ${tagsOld}"
getCurrentVersion=""
if [[ "${tagsOld}" != "" ]]; then
getCurrentVersion=$(git describe --tags ${tagsOld} 2> /dev/null)
fi
echo "getCurrentVersion: ${getCurrentVersion}"
cd ${rootDir}
echo "${parser}, ${firstOrderNumeric}, ${lastOrderNumeric}, ${getCurrentVersion}, ${gitLatestVersion}, ${typeOfLib}, ${stars}"
echo "${parser}, ${firstOrderNumeric}, ${lastOrderNumeric}, ${getCurrentVersion}, ${gitLatestVersion}, ${typeOfLib}, ${stars}" >> Stats.csv
done
cat Stats.csv
echo
echo
echo "Saving For: ${OS}"
echo "================="
echo
echo
php ./script/stats.php Stats.csv > Stats.html
php ./script/conformance.php Conformance.csv ${OS} > Conformance.${OS}.html
php ./script/performance.php Performance.csv ${OS} > Performance.${OS}.html
echo "Complete"
echo "Check the files: Conformance.csv Performance.csv and Stats.csv"
echo
echo "Generated files are: Conformance.${OS}.html Performance.${OS}.html Stats.html are generated for Website"