Back to home page

Enduro/X

 
 

    


0001 #!/bin/bash
0002 ##
0003 ## @brief Check duplicate field id handling
0004 ##
0005 ## @file test_mkfldhdr_dup.sh
0006 ##
0007 ## -----------------------------------------------------------------------------
0008 ## Enduro/X Middleware Platform for Distributed Transaction Processing
0009 ## Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.
0010 ## Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved.
0011 ## This software is released under one of the following licenses:
0012 ## AGPL (with Java and Go exceptions) or Mavimax's license for commercial use.
0013 ## See LICENSE file for full text.
0014 ## -----------------------------------------------------------------------------
0015 ## AGPL license:
0016 ##
0017 ## This program is free software; you can redistribute it and/or modify it under
0018 ## the terms of the GNU Affero General Public License, version 3 as published
0019 ## by the Free Software Foundation;
0020 ##
0021 ## This program is distributed in the hope that it will be useful, but WITHOUT ANY
0022 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
0023 ## PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3
0024 ## for more details.
0025 ##
0026 ## You should have received a copy of the GNU Affero General Public License along 
0027 ## with this program; if not, write to the Free Software Foundation, Inc.,
0028 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0029 ##
0030 ## -----------------------------------------------------------------------------
0031 ## A commercial use license is available from Mavimax, Ltd
0032 ## contact@mavimax.com
0033 ## -----------------------------------------------------------------------------
0034 ##
0035 echo "Testing mkfldhdr, reading field table from cmd." >&2
0036 #####
0037 DIR=`mktemp -d`
0038 
0039 #  Generate files
0040 ret=0
0041 
0042 # Ensure that not flags are used
0043 unset NDRX_APIFLAGS
0044 
0045 ../mkfldhdr/mkfldhdr -d $DIR ./ubftab/dup.test
0046 
0047 XRET=$?
0048 
0049 #
0050 # DUP NOK
0051 #
0052 if [ "X$XRET" == "X0" ]; then
0053     echo "TESTERROR: mkfldhdr shall fail for duplicate names/ids"
0054     ret=-1
0055 fi
0056 
0057 export NDRX_APIFLAGS=ubf_dupfidok
0058 
0059 ../mkfldhdr/mkfldhdr -d $DIR ./ubftab/dup.test
0060 
0061 XRET=$?
0062 
0063 if [ "X$XRET" != "X0" ]; then
0064     echo "TESTERROR: mkfldhdr ubf_dupfidok flag not working"
0065     ret=-1
0066 fi
0067 
0068 # Compare each generated file, should be the same...
0069 if [ $ret -eq 0 ]; then
0070     # Compare each file by file
0071     LIST=`ls -1 $DIR`
0072     for f in $LIST; do
0073         echo "Comparing $DIR/$f with mkfldhdr_ref/$f" >&2
0074         diff $DIR/$f mkfldhdr_ref/$f
0075         ret=$?
0076         if [ $ret -ne 0 ]; then
0077             break;              
0078         fi
0079     done
0080 fi
0081 
0082 # Remove temp dir
0083 rm -rf $DIR
0084 exit $ret
0085 # vim: set ts=4 sw=4 et smartindent: