@@ -4,24 +4,31 @@ export BIN_DIR="build/bin"
4
4
5
5
pushd $BIN_DIR
6
6
7
+ echo Enable NMI watchdog
8
+ echo 1 > /proc/sys/kernel/nmi_watchdog
9
+
10
+ echo Testing pcm with PCM_NO_PERF=1
7
11
PCM_NO_PERF=1 ./pcm -r -- sleep 1
8
12
if [ " $? " -ne " 0" ]; then
9
13
echo " Error in pcm"
10
14
exit 1
11
15
fi
12
16
17
+ echo Testing pcm with PCM_USE_UNCORE_PERF=1
13
18
PCM_USE_UNCORE_PERF=1 ./pcm -r -- sleep 1
14
19
if [ " $? " -ne " 0" ]; then
15
20
echo " Error in pcm"
16
21
exit 1
17
22
fi
18
23
24
+ echo Testing pcm w/o env vars
19
25
./pcm -r -- sleep 1
20
26
if [ " $? " -ne " 0" ]; then
21
27
echo " Error in pcm"
22
28
exit 1
23
29
fi
24
30
31
+ echo Testing pcm with -pid
25
32
perl -e ' do {} until (0)' &
26
33
test_pid=" $! "
27
34
./pcm -pid $test_pid -- sleep 1
@@ -32,102 +39,126 @@ if [ "$?" -ne "0" ]; then
32
39
fi
33
40
kill $test_pid
34
41
42
+ echo Testing pcm with PCM_KEEP_NMI_WATCHDOG=1
43
+ PCM_KEEP_NMI_WATCHDOG=1 ./pcm -r -- sleep 1
44
+ if [ " $? " -ne " 0" ]; then
45
+ echo " Error in pcm"
46
+ exit 1
47
+ fi
48
+
49
+ echo Testing pcm with -csv
35
50
./pcm -r 0.1 -csv=pcm.csv -- sleep 5
36
51
if [ " $? " -ne " 0" ]; then
37
52
echo " Error in pcm"
38
53
exit 1
39
54
fi
40
55
56
+ echo Testing pcm-memory
41
57
./pcm-memory -- sleep 1
42
58
if [ " $? " -ne " 0" ]; then
43
59
echo " Error in pcm-memory"
44
60
exit 1
45
61
fi
46
62
63
+ echo Testing pcm-memory with -rank
47
64
./pcm-memory -rank=1 -- sleep 1
48
65
if [ " $? " -ne " 0" ]; then
49
66
echo " Error in pcm-memory"
50
67
exit 1
51
68
fi
52
69
70
+ echo Testing pcm-memory with -rank and -csv
53
71
./pcm-memory -rank=1 -csv -- sleep 1
54
72
if [ " $? " -ne " 0" ]; then
55
73
echo " Error in pcm-memory"
56
74
exit 1
57
75
fi
58
76
77
+ echo Testing pcm-iio
59
78
./pcm-iio -i=1
60
79
if [ " $? " -ne " 0" ]; then
61
80
echo " Error in pcm-iio"
62
81
exit 1
63
82
fi
64
83
84
+ echo Testing pcm-raw
65
85
./pcm-raw -e core/config=0x30203,name=LD_BLOCKS.STORE_FORWARD/ -e cha/config=0,name=UNC_CHA_CLOCKTICKS/ -e imc/fixed,name=DRAM_CLOCKS -e thread_msr/config=0x10,config1=1 -e thread_msr/config=0x19c,config1=0 -- sleep 1
66
86
if [ " $? " -ne " 0" ]; then
67
87
echo " Error in pcm-raw"
68
88
exit 1
69
89
fi
70
90
91
+ echo Testing pcm-mmio
71
92
./pcm-mmio 0x0
72
93
if [ " $? " -ne " 0" ]; then
73
94
echo " Error in pcm-mmio"
74
95
exit 1
75
96
fi
76
97
98
+ echo Testing pcm-pcicfg
77
99
./pcm-pcicfg 0 0 0 0 0
78
100
if [ " $? " -ne " 0" ]; then
79
101
echo " Error in pcm-pcicfg"
80
102
exit 1
81
103
fi
82
104
105
+ echo Testing pcm-numa
83
106
./pcm-numa -- sleep 1
84
107
if [ " $? " -ne " 0" ]; then
85
108
echo " Error in pcm-numa"
86
109
exit 1
87
110
fi
88
111
112
+ echo Testing pcm-core
89
113
./pcm-core -e cpu/umask=0x01,event=0x0e,name=UOPS_ISSUED.STALL_CYCLES/ -- sleep 1
90
114
if [ " $? " -ne " 0" ]; then
91
115
echo " Error in pcm-core"
92
116
exit 1
93
117
fi
94
118
119
+ echo Testing c_example
95
120
./examples/c_example
96
121
if [ " $? " -ne " 0" ]; then
97
122
echo " Error in c_example"
98
123
exit 1
99
124
fi
100
125
126
+ echo Testing c_example_shlib
101
127
./examples/c_example_shlib
102
128
if [ " $? " -ne " 0" ]; then
103
129
echo " Error in c_example_shlib"
104
130
exit 1
105
131
fi
106
132
133
+ echo Testing pcm-msr \( read only\)
107
134
./pcm-msr -a 0x30A
108
135
if [ " $? " -ne " 0" ]; then
109
136
echo " Error in pcm-msr"
110
137
exit 1
111
138
fi
112
139
140
+ echo Testing pcm-power
113
141
./pcm-power -- sleep 1
114
142
if [ " $? " -ne " 0" ]; then
115
143
echo " Error in pcm-power"
116
144
exit 1
117
145
fi
118
146
147
+ echo Testing pcm-pcie
119
148
./pcm-pcie -- sleep 1
120
149
if [ " $? " -ne " 0" ]; then
121
150
echo " Error in pcm-pcie"
122
151
exit 1
123
152
fi
124
153
154
+ echo Testing pcm-latency
125
155
./pcm-latency -i=1
126
156
if [ " $? " -ne " 0" ]; then
127
157
echo " Error in pcm-latency"
128
158
exit 1
129
159
fi
130
160
161
+ echo Testing pcm-tsx
131
162
./pcm-tsx -- sleep 1
132
163
if [ " $? " -ne " 0" ]; then
133
164
echo " Error in pcm-tsx"
137
168
# TODO add more tests
138
169
# e.g for ./pcm-sensor-server, ./pcm-sensor, ...
139
170
171
+ echo Testing urltest
140
172
./tests/urltest
141
173
# We have 2 expected errors, anything else is a bug
142
174
if [ " $? " != 2 ]; then
143
175
echo " Error in urltest, 2 expected errors but found $? !"
144
176
exit 1
145
177
fi
146
178
147
- # ## Check pcm-raw with event files
148
- # Download necessary files
179
+ echo Testing pcm-raw with event files
180
+ echo Download necessary files
149
181
if [ ! -f " mapfile.csv" ]; then
150
182
echo " Downloading https://download.01.org/perfmon/mapfile.csv"
151
183
wget -q --timeout=10 https://download.01.org/perfmon/mapfile.csv
193
225
fi
194
226
done
195
227
196
- # Now check pcm-raw with JSON files from mapFile.csv
228
+ echo Now check pcm-raw with JSON files from mapFile.csv
197
229
./pcm-raw -r -e LD_BLOCKS.STORE_FORWARD -e CPU_CLK_UNHALTED.THREAD_ANY -e INST_RETIRED.ANY -e UNC_CHA_CLOCKTICKS -- sleep 1
198
230
199
231
if [ " $? " -ne " 0" ]; then
200
232
echo " Error in pcm-raw"
201
233
exit 1
202
234
fi
203
235
204
- # Now get corresponding TSV files and replace JSON files in mapFile.csv with them
236
+ echo Now get corresponding TSV files and replace JSON files in mapFile.csv with them
205
237
cp " mapfile.csv" " mapfile.csv_orig"
206
238
for FILE in $FILES
207
239
do
220
252
done
221
253
222
254
223
- # Check pcm-raw with TSV files
255
+ # echo Test pcm-raw with TSV files
224
256
# ./pcm-raw -r -e LD_BLOCKS.STORE_FORWARD -e CPU_CLK_UNHALTED.THREAD_ANY -e INST_RETIRED.ANY -e UNC_CHA_CLOCKTICKS -- sleep 1
225
257
226
258
# if [ "$?" -ne "0" ]; then
@@ -274,18 +306,21 @@ EOF
274
306
275
307
fi
276
308
309
+ echo Testing pcm-raw with -el event_file_test.txt -tr -csv
277
310
./pcm-raw -el event_file_test.txt -tr -csv=raw_tr_wo_ext.csv -i=4 0.25
278
311
if [ " $? " -ne " 0" ]; then
279
312
echo " Error in pcm-raw"
280
313
exit 1
281
314
fi
282
315
316
+ echo Testing pcm-raw with -el event_file_test.txt -tr -ext -csv
283
317
./pcm-raw -el event_file_test.txt -tr -ext -csv=raw_tr_wi_ext.csv -i=4 0.25
284
318
if [ " $? " -ne " 0" ]; then
285
319
echo " Error in pcm-raw"
286
320
exit 1
287
321
fi
288
322
323
+ echo Testing pcm-raw with -el event_file_test.txt -tr -ext -single-header -csv
289
324
./pcm-raw -el event_file_test.txt -tr -ext -single-header -csv=raw_tr_wi_ext_single_header.csv -i=4 0.25
290
325
if [ " $? " -ne " 0" ]; then
291
326
echo " Error in pcm-raw"
0 commit comments