surprisingly fine.
Sadly sonarcloud does not allow external plugins so checker can't be included.
if [ -z "${HOSTFILE}" ] ; then
HOSTFILETMP=1
HOSTFILE="$(mktemp tmphostXXXXXX)"
- perl -ne 'print "$1\n" if /.*<host.*?id="(.*?)".*?\/>.*/' ${PLATFORM} > ${HOSTFILE}
+ perl -ne 'print "$1\n" if /.*<host.*?id="(.*?)".*?\/>.*/' "${PLATFORM}" > "${HOSTFILE}"
fi
UNROLLEDHOSTFILETMP=0
#parse if our lines are terminated by :num_process
-multiple_processes=$(grep -c ":" $HOSTFILE)
+multiple_processes=$(grep -c ":" "$HOSTFILE")
if [ "${multiple_processes}" -gt 0 ] ; then
UNROLLEDHOSTFILETMP=1
UNROLLEDHOSTFILE="$(mktemp tmphostXXXXXX)"
- perl -ne ' do{ for ( 1 .. $2 ) { print "$1\n" } } if /(.*?):(\d+).*/' ${HOSTFILE} > ${UNROLLEDHOSTFILE}
+ perl -ne ' do{ for ( 1 .. $2 ) { print "$1\n" } } if /(.*?):(\d+).*/' "${HOSTFILE}" > "${UNROLLEDHOSTFILE}"
if [ ${HOSTFILETMP} = 1 ] ; then
- rm ${HOSTFILE}
+ rm "${HOSTFILE}"
HOSTFILETMP=0
fi
HOSTFILE=$UNROLLEDHOSTFILE
fi
# Don't use wc -l to compute it to avoid issues with trailing \n at EOF
-hostfile_procs=$(grep -c "[a-zA-Z0-9]" $HOSTFILE)
-if [ ${hostfile_procs} = 0 ] ; then
- echo "[$(basename $0)] ** error: the hostfile '${HOSTFILE}' is empty. Aborting." >&2
+hostfile_procs=$(grep -c "[a-zA-Z0-9]" "$HOSTFILE")
+if [ "${hostfile_procs}" = 0 ] ; then
+ echo "[$(basename "$0")] ** error: the hostfile '${HOSTFILE}' is empty. Aborting." >&2
exit 1
fi
##-------------------------------- DEFAULT APPLICATION --------------------------------------
-APPLICATIONTMP=$(echo ${PROC_ARGS}|cut -d' ' -f2 -s)
+APPLICATIONTMP=$(echo "${PROC_ARGS}"|cut -d' ' -f2 -s)
-cat > ${APPLICATIONTMP} <<APPLICATIONHEAD
+cat > "${APPLICATIONTMP}" <<APPLICATIONHEAD
<?xml version='1.0'?>
<!DOCTYPE platform SYSTEM "https://simgrid.org/simgrid.dtd">
<platform version="4.1">
APPLICATIONHEAD
##---- cache hostnames of hostfile---------------
-if [ -n "${HOSTFILE}" ] && [ -f ${HOSTFILE} ]; then
- hostnames=$(tr '\n\r' ' ' < ${HOSTFILE})
- NUMHOSTS=$(wc -l < ${HOSTFILE})
+if [ -n "${HOSTFILE}" ] && [ -f "${HOSTFILE}" ]; then
+ hostnames=$(tr '\n\r' ' ' < "${HOSTFILE}")
+ NUMHOSTS=$(wc -l < "${HOSTFILE}")
fi
-DESCRIPTIONFILE=$(echo $PROC_ARGS|cut -d' ' -f1)
+DESCRIPTIONFILE=$(echo "$PROC_ARGS"|cut -d' ' -f1)
if [ -n "${DESCRIPTIONFILE}" ] && [ -f "${DESCRIPTIONFILE}" ]; then
IFS_OLD=$IFS
hosttrace=$(tr '\n\r' ' ' < $(echo "$line"|cut -d' ' -f2))
NUMPROCSMINE=$(wc -l < $(echo "$line"|cut -d' ' -f2))
- if [ $NUMPROCSMINE != $(echo "$line"|cut -d' ' -f3) ];
+ if [ "$NUMPROCSMINE" != $(echo "$line"|cut -d' ' -f3) ];
then
echo "declared num of processes for instance $instance : $(echo "$line"|cut -d' ' -f3) is not the same as the one in the replay files : $NUMPROCSMINE. Please check consistency of these information"
exit 1
if [ -n "${HOSTFILE}" ]; then
j=$(( NUMPROCS % NUMHOSTS + 1))
fi
- hostname=$(echo $hostnames|cut -d' ' -f$j)
+ hostname=$(echo "$hostnames"|cut -d' ' -f$j)
if [ -z "${hostname}" ]; then
host="host"$($j)
else
host="${hostname}"
fi
-
- echo " <actor host=\"${host}\" function=\"${instance}\"> <!-- function name used only for logging -->" >> ${APPLICATIONTMP}
- echo " <argument value=\"${instance}\"/> <!-- instance -->" >> ${APPLICATIONTMP}
- echo " <argument value=\"${i}\"/> <!-- rank -->" >> ${APPLICATIONTMP}
- echo " <argument value=\"$(echo $hosttrace|cut -d' ' -f$((i+1)))\"/>" >> ${APPLICATIONTMP}
+ {
+ echo " <actor host=\"${host}\" function=\"${instance}\"> <!-- function name used only for logging -->"
+ echo " <argument value=\"${instance}\"/> <!-- instance -->"
+ echo " <argument value=\"${i}\"/> <!-- rank -->"
+ echo " <argument value=\"$(echo "$hosttrace"|cut -d' ' -f$((i+1)))\"/>"
- echo " <argument value=\"${sleeptime}\"/> <!-- delay -->" >> ${APPLICATIONTMP}
- echo " </actor>" >> ${APPLICATIONTMP}
+ echo " <argument value=\"${sleeptime}\"/> <!-- delay -->"
+ echo " </actor>"
+ } >> "${APPLICATIONTMP}"
NUMPROCS=$(( NUMPROCS + 1))
done
# return IFS back to newline for "for" loop
IFS_OLD=$IFS
IFS=$(printf '\n_'); IFS=${IFS%_} # protect trailing \n
- done < ${DESCRIPTIONFILE}
+ done < "${DESCRIPTIONFILE}"
# return delimiter to previous value
IFS=$IFS_OLD
IFS_OLD=
else
- printf "File not found: %s\n", ${DESCRIPTIONFILE} >&2
+ printf "File not found: %s\n", "${DESCRIPTIONFILE}" >&2
exit 1
fi
-cat >> ${APPLICATIONTMP} <<APPLICATIONFOOT
+cat >> "${APPLICATIONTMP}" <<APPLICATIONFOOT
</platform>
APPLICATIONFOOT
##-------------------------------- end DEFAULT APPLICATION --------------------------------------
if [ ${HOSTFILETMP} = 1 ] ; then
- rm ${HOSTFILE}
+ rm "${HOSTFILE}"
fi
if [ ${UNROLLEDHOSTFILETMP} = 1 ] ; then
- rm ${UNROLLEDHOSTFILE}
+ rm "${UNROLLEDHOSTFILE}"
fi
exit 0
@SMPITOOLS_SH@
# Don't use -Wl,-z-defs with Clang and address sanitizer
-if [ "@CMAKE_C_COMPILER_ID@" = "Clang" -a "@HAVE_SANITIZER_ADDRESS@" = "TRUE" ]; then
+if [ "@CMAKE_C_COMPILER_ID@" = "Clang" ] && [ "@HAVE_SANITIZER_ADDRESS@" = "TRUE" ]; then
LINKER_UNDEFINED_ERROR=""
else
LINKER_UNDEFINED_ERROR="1"
list_add CMDARGS "-c"
;;
*.c)
- SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+ SRCFILE="$(readlink -f "${ARG}" 2>/dev/null)"
if [ -z "$SRCFILE" ] ; then
SRCFILE="$ARG"
fi
list_set CMDLINE "${CC}"
list_add_not_empty CMDLINE "${CFLAGS}"
list_add_not_empty CMDLINE ${INCLUDEARGS}
-list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
list_add_not_empty CMDLINE "${CMDARGS}"
list_add_not_empty CMDLINE "${LINKARGS}"
-eval $(list_get CMDLINE)
-if [ "x$VERBOSE" = x1 -o "x$show" = x1 ] ; then
+eval "$(list_get CMDLINE)"
+if [ "x$VERBOSE" = x1 ] || [ "x$show" = x1 ] ; then
echo "$@"
[ "x$show" = x1 ] && exit 0
fi
list_set CXXFLAGS "-std=gnu++11" @SMPI_CXX_FLAGS@
list_set LINKARGS
-if [ "@CMAKE_C_COMPILER_ID@" = "Clang" -a "@HAVE_SANITIZER_ADDRESS@" = "TRUE" ]; then
+if [ "@CMAKE_C_COMPILER_ID@" = "Clang" ] && [ "@HAVE_SANITIZER_ADDRESS@" = "TRUE" ]; then
LINKER_UNDEFINED_ERROR=""
else
LINKER_UNDEFINED_ERROR="1"
list_add CMDARGS "-c"
;;
*.c)
- SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+ SRCFILE="$(readlink -f "${ARG}" 2>/dev/null)"
if [ -z "$SRCFILE" ] ; then
SRCFILE="$ARG"
fi
list_set CMDLINE "${CXX}"
list_add_not_empty CMDLINE "${CXXFLAGS}"
list_add_not_empty CMDLINE ${INCLUDEARGS}
-list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
list_add_not_empty CMDLINE "${CMDARGS}"
list_add_not_empty CMDLINE "${LINKARGS}"
eval $(list_get CMDLINE)
-if [ "x$VERBOSE" = x1 -o "x$show" = x1 ] ; then
+if [ "x$VERBOSE" = x1 ] || [ "x$show" = x1 ] ; then
echo "$@"
[ "x$show" = x1 ] && exit 0
fi
echo "Warning: smpif90 pretends to be a regular compiler (SMPI_PRETEND_CC is set). Produced binaries will not be usable in SimGrid."
fi
list_set TMPFILES
-main_name=main
cleanup () {
eval $(list_get TMPFILES)
list_add CMDLINE "-c"
;;
*.f90)
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".f90")
ORIGFILE="${FILENAME%.f90}"
filter_and_compile
;;
*.F90)
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".F90")
ORIGFILE="${FILENAME%.F90}"
filter_and_compile
fi
list_add_not_empty CMDLINE ${INCLUDEARGS}
-list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
list_add_not_empty CMDLINE "${LINKARGS}"
eval $(list_get CMDLINE)
-if [ "x$VERBOSE" = x1 -o "x$show" = x1 ] ; then
+if [ "x$VERBOSE" = x1 ] || [ "x$show" = x1 ] ; then
echo "$@"
[ "x$show" = x1 ] && exit 0
fi
echo "Warning: smpiff pretends to be a regular compiler (SMPI_PRETEND_CC is set). Produced binaries will not be usable in SimGrid."
fi
list_set TMPFILES
-main_name=main
cleanup () {
eval $(list_get TMPFILES)
list_add TMPFILES "${TMPFILE}"
if [ "x${SMPI_PRETEND_CC}" = "x" ]; then
#replace "program main_name by subroutine user_main (and the end clause as well)"
- if [ $TRACE_CALL_LOCATION -gt 0 ]; then
- echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE}
- echo "#line 1 \"${ARG}\"" >> ${TMPFILE}
+ if [ "$TRACE_CALL_LOCATION" -gt 0 ]; then
+ echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > "${TMPFILE}"
+ echo "#line 1 \"${ARG}\"" >> "${TMPFILE}"
fi
sed 's/^[[:space:]]\{6\}[[:space:]]*\([eE][nN][dD] \)\{0,1\}[pP][rR][oO][gG][rR][aA][mM][^a-zA-Z0-9]*\([a-zA-Z0-9_]*\)/ \1subroutine user_main /g' "${ARG}" >> "${TMPFILE}"
SRCFILE="${TMPFILE}"
filter_and_compile_f90() {
list_add TMPFILES "${TMPFILE}"
#replace "program main_name by subroutine user_main (and the end clause as well)"
- if [ $TRACE_CALL_LOCATION -gt 0 ]; then
- echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > ${TMPFILE}
- echo "#line 1 \"${ARG}\"" >> ${TMPFILE}
+ if [ "$TRACE_CALL_LOCATION" -gt 0 ]; then
+ echo "#include \"@includedir@/smpi/smpi_extended_traces_fortran.h\"" > "${TMPFILE}"
+ echo "#line 1 \"${ARG}\"" >> "${TMPFILE}"
fi
sed 's/^\([[:space:]]*\)\([eE][nN][dD] \)\{0,1\}[pP][rR][oO][gG][rR][aA][mM][^a-zA-Z0-9]*\([a-zA-Z0-9_]*\)/\1\2subroutine user_main /g' "${ARG}" >> "${TMPFILE}"
SRCFILE="${TMPFILE}"
list_add CMDLINE "-c"
;;
*.f)
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".f")
ORIGFILE="${FILENAME%.f}"
filter_and_compile_f77
;;
*.F)$
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".F")
ORIGFILE="${FILENAME%.F}"
filter_and_compile_f77
;;
*.f90)
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".f90")
ORIGFILE="${FILENAME%.f90}"
filter_and_compile_f90
;;
*.F90)$
- FILENAME=`basename ${ARG}`
+ FILENAME=$(basename "${ARG}")
TMPFILE=$(mymktemp "${ARG}" ".F90")
ORIGFILE="${FILENAME%.F90}"
filter_and_compile_f90
fi
list_add_not_empty CMDLINE ${INCLUDEARGS}
-list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${CMAKE_LINKARGS}"
list_add_not_empty CMDLINE "${LINKARGS}"
eval $(list_get CMDLINE)
-if [ "x$VERBOSE" = x1 -o "x$show" = x1 ] ; then
+if [ "x$VERBOSE" = x1 ] || [ "x$show" = x1 ] ; then
echo "$@"
[ "x$show" = x1 ] && exit 0
fi