]> AND Private Git Repository - Cipher_code.git/blob - IDA_new/jerasure/Examples/test_all_gfs.sh
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new hash version
[Cipher_code.git] / IDA_new / jerasure / Examples / test_all_gfs.sh
1 #!/bin/bash
2 #
3 # Copyright (c) 2013, James S. Plank and Kevin Greenan
4 # All rights reserved.
5 #
6 # Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure
7 # Coding Techniques
8 #
9 # Revision 2.0: Galois Field backend now links to GF-Complete
10 #
11 # Redistribution and use in source and binary forms, with or without
12 # modification, are permitted provided that the following conditions
13 # are met:
14 #
15 #  - Redistributions of source code must retain the above copyright
16 #    notice, this list of conditions and the following disclaimer.
17 #
18 #  - Redistributions in binary form must reproduce the above copyright
19 #    notice, this list of conditions and the following disclaimer in
20 #    the documentation and/or other materials provided with the
21 #    distribution.
22 #
23 #  - Neither the name of the University of Tennessee nor the names of its
24 #    contributors may be used to endorse or promote products derived
25 #    from this software without specific prior written permission.
26 #
27 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34 # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
35 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
37 # WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 # POSSIBILITY OF SUCH DAMAGE.
39 #
40 GF_METHODS=${GF_COMPLETE_DIR:-/usr/local/bin}/gf_methods
41 k=12
42 m=3
43 seed=1370
44
45 if ! test -x ${GF_METHODS} ; then
46     ${GF_METHODS}
47     exit 1
48 fi
49
50 # Test all w=8
51 ${GF_METHODS} 8 -B -L | awk -F: '{ if ($1 == "w=8") print $2; }' |
52 while read method; do
53   echo "Testing ${k} ${m} 8 $seed ${method}"
54   $VALGRIND ./reed_sol_test_gf ${k} ${m} 8 $seed ${method} | tail -n 1
55   if [[ $? != "0" ]]; then
56     echo "Failed test for ${k} ${m} 8 $seed ${method}"
57     exit 1
58   fi
59 done
60
61 if [[ $? == "1" ]]; then
62   exit 1
63 fi
64
65
66 # Test all w=16
67 ${GF_METHODS} 16 -B -L | awk -F: '{ if ($1 == "w=16") print $2; }' |
68 while read method; do
69   echo "Testing ${k} ${m} 16 $seed ${method}"
70   $VALGRIND ./reed_sol_test_gf ${k} ${m} 16 $seed ${method} | tail -n 1
71   if [[ $? != "0" ]]; then
72     echo "Failed test for ${k} ${m} 16 $seed ${method}"
73     exit 1
74   fi
75 done
76
77
78 if [[ $? == "1" ]]; then
79   exit 1
80 fi
81
82 # Test all w=32
83 ${GF_METHODS} 32 -B -L | awk -F: '{ if ($1 == "w=32") print $2; }' |
84 while read method; do
85   echo "Testing ${k} ${m} 32 $seed ${method}"
86   $VALGRIND ./reed_sol_test_gf ${k} ${m} 32 $seed ${method} | tail -n 1
87   if [[ $? != "0" ]]; then
88     echo "Failed test for ${k} ${m} 32 $seed ${method}"
89     exit 1
90   fi
91 done
92
93
94 if [[ $? == "1" ]]; then
95   exit 1
96 fi
97
98 echo "Passed all tests!"