[1691] | 1 | #!/bin/ksh |
---|
| 2 | # |
---|
[1742] | 3 | # Use this script to test if files are the same in all configurations in this directory. All files in the GENERAL, POST and EXPERIMENTS |
---|
[1691] | 4 | # directories with the same name and path should be the identic before commit to svn. The difference between configurations are the |
---|
| 5 | # scripts for compiling and which files are available. |
---|
| 6 | # |
---|
| 7 | # Syntax |
---|
| 8 | # To test all files in all configurations : |
---|
| 9 | # ./diff_configuration.ksh |
---|
| 10 | # To test the files file1 and file2 in all configurations : |
---|
| 11 | # ./diff_configuration.ksh file1 file2 |
---|
| 12 | # |
---|
| 13 | # Josefine Ghattas IPSL |
---|
| 14 | |
---|
| 15 | BaseDir=`pwd` |
---|
[2210] | 16 | ConfigFamily=v6 |
---|
[1691] | 17 | ConfigList=`ls |grep ${ConfigFamily} |grep -v out` |
---|
[2234] | 18 | ConfigList=$ConfigList" IPSLCM6" |
---|
[1691] | 19 | verbose=no |
---|
| 20 | echo All configurations to tests : $ConfigList |
---|
| 21 | |
---|
| 22 | if [ $# == 0 ] ; then |
---|
| 23 | TestAll="yes" |
---|
| 24 | echo "Test all files." |
---|
| 25 | else |
---|
| 26 | TestAll="no" |
---|
| 27 | FileList0=$* |
---|
| 28 | echo "Test only following files : $FileList0" |
---|
| 29 | fi |
---|
| 30 | |
---|
| 31 | |
---|
| 32 | for conf in $ConfigList ; do |
---|
| 33 | # Construct list of files to test |
---|
| 34 | if [ $TestAll = "yes" ] ; then |
---|
[1742] | 35 | FileList=`ls -d ${conf}/GENERAL/DRIVER/* ${conf}/GENERAL/PARAM/* ${conf}/GENERAL/POST/* ${conf}/EXPERIMENTS/*/*/* ${conf}/EXPERIMENTS/*/*/*/*` |
---|
[1691] | 36 | else |
---|
| 37 | FileList="" |
---|
| 38 | for file in $FileList0 ; do |
---|
| 39 | FileList=$( echo $FileList `ls ${conf}/GENERAL/*/$file`) |
---|
| 40 | done |
---|
| 41 | fi |
---|
| 42 | |
---|
| 43 | for conf2 in $ConfigList ; do |
---|
| 44 | if [ $conf2 != $conf ] ; then |
---|
| 45 | for file in $FileList ; do |
---|
| 46 | # Remove conf from path |
---|
| 47 | file=$( echo $file | awk -F"${conf}/" '{print $2}' ) |
---|
| 48 | |
---|
| 49 | # Test if the file exists also in second directory, if yes test difference |
---|
| 50 | if [ -f ${conf2}/${file} ] ; then |
---|
| 51 | # Test if files are different |
---|
| 52 | cmp -s ${conf}/${file} ${conf2}/${file} |
---|
| 53 | if [ $? -ne 0 ] ; then |
---|
| 54 | diff --brief ${conf}/${file} ${conf2}/${file} |
---|
| 55 | if [ $verbose == yes ] ; then |
---|
| 56 | diff ${conf}/${file} ${conf2}/${file} |
---|
| 57 | echo |
---|
| 58 | fi |
---|
| 59 | fi |
---|
| 60 | fi |
---|
| 61 | done |
---|
| 62 | fi |
---|
| 63 | done |
---|
| 64 | |
---|
| 65 | done |
---|