-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathyapio_tests.sh
executable file
·138 lines (101 loc) · 3.88 KB
/
yapio_tests.sh
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/bin/bash
TEST_DIR=/tmp/yapio.test.`date +%s`
CMD_NUM=0
mkdir ${TEST_DIR}
if [ $? -ne 0 ]
then
echo "Failed to mkdir ${TEST_DIR}"
exit 1
fi
run_cmd()
{
eval "$@ > ${TEST_DIR}/log.${CMD_NUM}"
rc=$?
if [ $rc -ne 0 ]
then
echo "FAILED: $@ rc=$rc"
exit $rc
fi
let CMD_NUM=$CMD_NUM+1
echo "OK: $@"
}
# Ensure mpirun is available
run_cmd which mpirun
# Launch a few simple tests
run_cmd mpirun -np 1 ./yapio -t wsL,rsL ${TEST_DIR}
run_cmd mpirun -np 1 ./yapio -s -t Pssf.:K:wsL,rsL ${TEST_DIR}
run_cmd mpirun -np 1 ./yapio -s -t Pfpp.:F:K:wsL,rsL ${TEST_DIR}
run_cmd mpirun -np 4 ./yapio -s -t Pfpp-multi.:K:F:wsL,rsL ${TEST_DIR}
run_cmd mpirun -np 8 ./yapio -S1 -t n12800:wsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,\
rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL /tmp/
run_cmd mpirun -np 8 ./yapio -S1 -t n12800:wsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,\
rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL -t wsL /tmp/
run_cmd mpirun -np 8 ./yapio -S10 -t n12800:wsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,\
rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL /tmp/
run_cmd mpirun -np 8 ./yapio -mm -s -S10 -t n128:wsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,\
rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL,rsL,rSD,rRD,rsL,rsL,rsL /tmp/
# Specify num blocks with -n
run_cmd mpirun -np 4 ./yapio -n 16 -t B1000:wSD,rsL,rRD,rRL,rSD \
${TEST_DIR}
# Specify num blocks inside cmd string
run_cmd mpirun -np 4 ./yapio -t n16:wsL,rsL,wRL,rRD,wRD,rsL,rsD ${TEST_DIR}
run_cmd mpirun -np 8 ./yapio -t N7:B8:n$((16*7)):wsL,rsL,wRL,rRD,wRD,rsL,rsD -t wsL ${TEST_DIR}
# Use mmap
run_cmd mpirun -np 8 ./yapio -mm -t F:B512:wsL,rsL,wRL,rRD,wRD,rsL,rsD \
${TEST_DIR}
run_cmd mpirun -np 8 ./yapio -mm -t B4096:wsL,rsL,wRL,rRD,wRD,rsL,rsD \
${TEST_DIR}
# Launch a compound test
run_cmd mpirun -np 8 ./yapio -t wsL,rsL,wRL,rRD,wRD,rsL,rsD \
-t F:wsL,rsL,wRL,rRD,wRD,rsL,rsD ${TEST_DIR}
# Launch a compound test with different block sizes
run_cmd mpirun -np 8 ./yapio -t F:K:N4:B4096:wsL,rsL,wRL,rRD,wRD,rsL,rsD \
-t K:N4:B512:wsL,rsL,wRL,rRD,wRD,rsL,rsD ${TEST_DIR}
# Prepare to read tests
let cmd=${CMD_NUM}-1
#cat ${TEST_DIR}/log.$cmd
SUFFIXa=`grep -m1 -e [A-Za-z0-9].00.00: ${TEST_DIR}/log.$cmd | awk '{print $2}' | awk -F \. '{print $1}'`
SUFFIXb=`grep -m1 -e [A-Za-z0-9].01.00: ${TEST_DIR}/log.$cmd | awk '{print $2}' | awk -F \. '{print $1}'`
run_cmd stat ${TEST_DIR}/.yapio.${SUFFIXa}.0.md
run_cmd stat ${TEST_DIR}/.yapio.${SUFFIXb}.0.md
run_cmd mpirun -np 4 ./yapio \
-t K:X${SUFFIXa}:F:N4:B4096:rsL,wsL,rsL ${TEST_DIR}
run_cmd mpirun -np 4 ./yapio \
-t X${SUFFIXb}:N4:B512:rsL,wsL,rsL ${TEST_DIR}
run_cmd md5sum ${TEST_DIR}/.yapio.${SUFFIXa}.0.md
MD5SUM=`md5sum ${TEST_DIR}/.yapio.${SUFFIXa}.0.md | awk '{print $1}'`
# Run this one a few more times
for i in {00..03}
do
run_cmd mpirun -np 4 ./yapio \
-t K:X${SUFFIXa}:F:N4:B4096:rsL,wRD ${TEST_DIR}
MD5SUM_NEW=`md5sum ${TEST_DIR}/.yapio.${SUFFIXa}.0.md | awk '{print $1}'`
if [ $MD5SUM == $MD5SUM_NEW ]
then
echo "Metadata file contents of ${SUFFIXa} have not changed".
exit 1;
fi
MD5SUM=MD5SUM_NEW
done
run_cmd mpirun -np 4 ./yapio -S1 -mm -t \
K:X${SUFFIXa}:F:N4:B4096:rsL,rRD,rSD ${TEST_DIR}
# Last run (with mmap) and cleanup
run_cmd mpirun -np 4 ./yapio -mm -t X${SUFFIXa}:F:N4:B4096:rsL,rRD,rSD \
${TEST_DIR}
stat ${TEST_DIR}/.yapio.${SUFFIXa}.0.md 2>/dev/null >/dev/null
if [ $? -eq 0 ]
then
echo "Failed to remove md file: ${TEST_DIR}/.yapio.${SUFFIXa}.0.md"
exit 1;
fi
stat ${TEST_DIR}/.yapio.${SUFFIXb}.0.md 2>/dev/null >/dev/null
if [ $? -eq 0 ]
then
echo "Failed to remove md file: ${TEST_DIR}/.yapio.${SUFFIXb}.0.md"
exit 1;
fi
run_cmd mpirun -np 8 ./yapio -S1 -t K:B4096:wsL,rsL,wRL,rRD,wRD,rsL,rsD \
-t K:B4096:wsL,rsL,wRL,rRD,wRD,rsL,rsD ${TEST_DIR}
#ls -lrt ${TEST_DIR}
# Remove Test Dir
run_cmd rm -fr ${TEST_DIR}