source: /cluster/svnroot/bccd-ng/branches/skylar/bccd-3.4.0/trees/bin/bccd-test-suite @ 5022

Last change on this file since 5022 was 5022, checked in by skylar, 6 years ago

testing for mpich2 re #906

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 8.3 KB
Line 
1#!/bin/bash
2
3# $Id: bccd-test-suite 5022 2015-03-02 03:28:53Z skylar $
4
5set -eo pipefail
6
7trap '/bin/rm -f ${TEMP_R_SCRIPT}' INT TERM EXIT ERR
8
9RC=0
10
11function count_tvoc_logs() {
12    local tvoc_count=$(sudo find /var/log/ \
13        -mindepth 1 -maxdepth 1 -type f -print0 | \
14        xargs -0 sudo \
15        awk 'BEGIN { i=0 } $4 ~ /^t-voc/ {i++} END {print i}')
16
17    echo ${tvoc_count}
18}
19
20# LIVE
21if [ "$(cat /etc/bccd-stage)" = "LIVE" ]; then
22
23    # #567
24    if [ -f "/lib/modules/$(uname -r)/kernel/drivers/video/nvidia.ko" ]; then
25        echo "#567 passed"
26    else
27        echo "#567 FAILED"
28        RC=$((RC+1))
29    fi
30
31    # #651
32    if grep -q ^CONFIG_HID_MAGICMOUSE= /boot/config-$(uname -r) > /dev/null       2>&1; then
33        echo "#651 passed"
34    else
35        echo "#651 FAILED"
36        RC=$((RC+1))
37    fi
38
39    # #658
40    if [ -f "/lib/modules/$(uname -r)/kernel/drivers/net/usb/asix.ko" ]; then
41        echo "#658 passed"
42    else
43        echo "#658 FAILED"
44        RC=$((RC+1))
45    fi
46
47    # #666
48    if sensors > /dev/null ;then
49        echo "#666 passed"
50    else
51        echo "#666 FAILED"
52        RC=$((RC+1))
53    fi
54
55    # #781
56    if sudo sh -c "rm -f /root/machines-openmpi && bccd-snarfhosts && test -f /root/machines-openmpi"; then
57        echo "#781 passed"
58    else
59        echo "#781 FAILED"
60        RC=$((RC+1))
61    fi
62
63    # #786
64    if groups|grep -q video; then
65        echo "#786 passed - bccd user in video group"
66    else
67        echo "#786 FAILED"
68        RC=$((RC+1))
69    fi
70
71    # #771
72    if [ -x /bin/bccd-shutdown ]; then
73        echo "#771 passed";
74    else
75        echo "#771 FAILED";
76        RC=$((RC+1))
77    fi
78
79    # #780
80    if [ -d /etc/vim ] && [ $(ls /etc/vim|wc -l) -gt 0 ]; then
81        echo "#780 passed - /etc/vim files exist"
82    else
83        echo "#780 FAILED"
84        RC=$((RC+1))
85    fi
86
87    # #781
88    if sudo sh -c "rm -f /root/machines-openmpi && bccd-snarfhosts && test -f /root/machines-openmpi"; then
89        echo "#781 passed"
90    else
91        echo "#781 FAILED"
92        RC=$((RC+1))
93    fi
94
95    # #788
96    TEMP_R_SCRIPT=$(mktemp /tmp/temp_XXXXX.R)
97    cat > ${TEMP_R_SCRIPT} <<R_HELLO
98cat('Hello, world!\n')
99R_HELLO
100    module purge && module load modules openmpi R
101    if R CMD BATCH ${TEMP_R_SCRIPT}; then
102        echo "#788 passed - R"
103    else
104        echo "#788 FAILED"
105        RC=$((RC+1))
106    fi
107
108    # #790
109    module purge && module load modules openmpi pypar mpi4py
110    if python -c 'import pypar' > /dev/null; then
111        echo "#790 passed - pypar"
112    else
113        echo "#790 FAILED - pypar"
114        RC=$((RC+1))
115    fi
116
117    if python -c 'import mpi4py'; then
118        echo "#790 passed - mpi4py"
119        echo "#795 passed"
120    else
121        echo "#790 FAILED - mpi4py"
122        RC=$((RC+1))
123    fi
124
125    # #794
126    module purge && module load modules papi
127    if papi_avail > /dev/null; then
128        echo "#794 passed"
129    else
130        echo "#794 FAILED"
131        RC=$((RC+1))
132    fi
133
134    # #802
135    if sudo modprobe r8168; then
136        echo "#802 passed"
137    else
138        echo "#802 FAILED"
139        RC=$((RC+1))
140    fi
141
142    # #803
143    module purge && module load modules openmpi
144    if [ -d "${HOME}/HPL-benchmark/hpl-2.0" ]; then
145        /bin/rm -fr ${HOME}/HPL-benchmark/hpl-2.0
146    fi
147    if make -C ~/HPL-benchmark > /dev/null; then
148        echo "#803 passed"
149    else
150        echo "#803 FAILED"
151        RC=$((RC+1))
152    fi
153
154    # #806
155    if [ -d /bccd/software/cuda/5.5.22/Linux/BCCD/x86_64/nvvm/ ] || \
156        [ -d /bccd/software/cuda/5.5.22/Linux/BCCD/i686/nvvm/ ]; then
157        echo "#806 passed";
158    else
159        echo "#806 FAILED";
160        RC=$((RC+1))
161    fi
162
163    # #811
164    if [ -d ~/Community-Modules/UMW/cpumon ]; then
165        echo "#811 passed";
166    else
167        echo "#811 FAILED";
168        RC=$((RC+1))
169    fi
170
171    # #813
172    if module avail 2>&1 | grep -q cuda/5.5.22; then
173        echo "#813 passed";
174    else
175        echo "#813 FAILED";
176        RC=$((RC+1))
177    fi
178
179    # #818
180    if module avail 2>&1 | grep -q R/3.0.1; then
181        echo "#818 passed";
182    else
183        echo "#818 FAILED";
184        RC=$((RC+1))
185    fi
186
187    # #819
188    if grep -q ^CONFIG_USB_NET_SMSC75XX= /boot/config-$(uname -r) > /dev/null 2>&1; then
189        echo "#819 passed"
190    else
191        echo "#819 FAILED"
192        RC=$((RC+1))
193    fi
194
195    # #822
196    if [ "$(count_tvoc_logs)" = "0" ]; then
197        echo "#822 passed"
198    else
199        echo "#822 FAILED"
200        RC=$((RC+1))
201    fi
202
203    # #823
204    if [ ! -d "${HOME}/Molecular-dynamicss/NAMD" ]; then
205        echo "#823 passed"
206    else
207        echo "#823 FAILED"
208        RC=$((RC+1))
209    fi
210
211    # #825
212    if [ -d /var/log/apache2 ]; then
213        echo "#825 passed"
214    else
215        echo "#825 FAILED"
216    fi
217
218    # #828
219    if grep -q ^CONFIG_IWLWIFI= /boot/config-$(uname -r) > /dev/null 2>&1; then
220        echo "#828 passed"
221    else
222        echo "#828 FAILED"
223        RC=$((RC+1))
224    fi
225
226    # #829
227    if ! grep -q '/bin/bccd-get-nicip: No such file or directory' \
228            /var/mail/bccd; then
229        echo "#829 passed"
230    else
231        echo "#829 FAILED"
232        RC=$((RC+1))
233    fi
234
235    # #830
236    if which wpa_passphrase > /dev/null; then
237        echo "#830 passed"
238    else
239        echo "#830 FAILED"
240        RC=$((RC+1))
241    fi
242
243    # #831
244    if [ -s ~/Community-Modules/UMW/cpumon/README ]; then
245        echo "#831 passed"
246    else
247        echo "#831 FAILED"
248        RC=$((RC+1))
249    fi
250
251    # #832
252    if [ -d ~/Community-Modules -a -d ~/Community-Modules/UMW -a -d \
253            ~/Community-Modules/NWMissouri -a -d ~/Community-Modules/WFU ]; then
254        echo "#832 passed"
255    else
256        echo "#832 FAILED"
257        RC=$((RC+1))
258    fi
259
260    # #798
261    # This will complain about no GLX, but should /not/ segfault
262    if LD_PRELOAD=/usr/lib/libGL.so.1.2 /usr/bin/glxinfo > /dev/null 2>&1;
263then
264        echo "#798 passed"
265    else
266        echo "#798 FAILED"
267        RC=$((RC+1))
268    fi
269
270    # #801
271    # This test will fail if apt-get rejects Oracle's key
272    if sudo apt-get -qq update > /dev/null 2>&1; then
273        echo "#801 passed"
274    else
275        echo "#801 FAILED"
276        RC=$((RC+1))
277    fi
278
279    # CUDA
280    module purge && module load modules openmpi cuda
281    if make -C ~/CUDA > /dev/null && ~/CUDA/device-query > /dev/null; then
282        echo "CUDA passed"
283    else
284        echo "CUDA FAILED"
285        RC=$((RC+1))
286    fi
287
288    # ASROCK USB support (#853)
289    if [ -f /lib/modules/$(uname -r)/kernel/drivers/usb/host/xhci-hcd.ko
290]; then
291        echo "ASROCK USB support passed"
292    else
293        echo "ASROCK USB support FAILED"
294        RC=$((RC+1))
295    fi
296
297    # ATLAS package (#899)
298    if dpkg -l libatlas3-base > /dev/null 2>&1 ; then
299        echo "ATLAS installed"
300    else
301        echo "ATLAS install FAILED"
302        RC=$((RC+1))
303    fi
304
305    # LAPACK package (#900)
306    if dpkg -l liblapack3 > /dev/null 2>&1 ;
307        echo "LAPACK installed"
308    else
309        echo "LAPACK install FAILED"
310        RC=$((RC+1))
311    fi
312
313    # BLAS package (#901)
314    if dpkg -l libblas3 > /dev/null 2>&1 ;
315        echo "BLAS installed"
316    else
317        echo "BLAS install FAILED"
318        RC=$((RC+1))
319    fi
320
321    # R package (#902)
322    if dpkg -l r-base-core > /dev/null 2>&1 ;
323        echo "R installed"
324    else
325        echo "R install FAILED"
326        RC=$((RC+1))
327    fi
328
329    # FFTW package (#903)
330    if dpkg -l libfftw3-3 > /dev/null 2>&1 ;
331        echo "FFTW installed"
332    else
333        echo "FFTW install FAILED"
334        RC=$((RC+1))
335    fi
336
337    # hwloc package (#904)
338    if dpkg -l libhwloc5 > /dev/null 2>&1 ;
339        echo "hwloc installed"
340    else
341        echo "hwloc install FAILED"
342        RC=$((RC+1))
343    fi
344
345    # mpi4py package (#905)
346    if dpkg -l python-mpi4py > /dev/null 2>&1 ;
347        echo "mpi4py installed"
348    else
349        echo "mpi4py install FAILED"
350        RC=$((RC+1))
351    fi
352
353    # mpich2 package (#905)
354    if dpkg -l mpich2 > /dev/null 2>&1 ;
355        echo "mpich2 installed"
356    else
357        echo "mpich2 install FAILED"
358        RC=$((RC+1))
359    fi
360
361# LIBERATED
362elif [ "$(cat /etc/bccd-stage)" = "LIBERATED" ]; then
363    for MPI in mpich2 openmpi; do
364        module purge && module load modules ${MPI}
365        bccd-snarfhosts
366
367        for DIR in ${HOME}/{GalaxSee,Life}; do
368            make -C ${DIR} clean > /dev/null
369            if make -j3 -C ${DIR} > /dev/null; then
370                echo "Built ${DIR} w/ ${MPI}"
371            else
372                echo "${DIR} w/ ${MPI} FAILED"
373                RC=$((RC+1))
374            fi
375        done
376    done
377fi
378
379exit ${RC}
Note: See TracBrowser for help on using the repository browser.