Blame jemalloc/test/test.sh.in

Packit 345191
#!/bin/sh
Packit 345191
Packit 345191
case @abi@ in
Packit 345191
  macho)
Packit 345191
    export DYLD_FALLBACK_LIBRARY_PATH="@objroot@lib"
Packit 345191
    ;;
Packit 345191
  pecoff)
Packit 345191
    export PATH="${PATH}:@objroot@lib"
Packit 345191
    ;;
Packit 345191
  *)
Packit 345191
    ;;
Packit 345191
esac
Packit 345191
Packit 345191
# Make a copy of the @JEMALLOC_CPREFIX@MALLOC_CONF passed in to this script, so
Packit 345191
# it can be repeatedly concatenated with per test settings.
Packit 345191
export MALLOC_CONF_ALL=${@JEMALLOC_CPREFIX@MALLOC_CONF}
Packit 345191
# Concatenate the individual test's MALLOC_CONF and MALLOC_CONF_ALL.
Packit 345191
export_malloc_conf() {
Packit 345191
  if [ "x${MALLOC_CONF}" != "x" -a "x${MALLOC_CONF_ALL}" != "x" ] ; then
Packit 345191
    export @JEMALLOC_CPREFIX@MALLOC_CONF="${MALLOC_CONF},${MALLOC_CONF_ALL}"
Packit 345191
  else
Packit 345191
    export @JEMALLOC_CPREFIX@MALLOC_CONF="${MALLOC_CONF}${MALLOC_CONF_ALL}"
Packit 345191
  fi
Packit 345191
}
Packit 345191
Packit 345191
# Corresponds to test_status_t.
Packit 345191
pass_code=0
Packit 345191
skip_code=1
Packit 345191
fail_code=2
Packit 345191
Packit 345191
pass_count=0
Packit 345191
skip_count=0
Packit 345191
fail_count=0
Packit 345191
for t in $@; do
Packit 345191
  if [ $pass_count -ne 0 -o $skip_count -ne 0 -o $fail_count != 0 ] ; then
Packit 345191
    echo
Packit 345191
  fi
Packit 345191
  echo "=== ${t} ==="
Packit 345191
  if [ -e "@srcroot@${t}.sh" ] ; then
Packit 345191
    # Source the shell script corresponding to the test in a subshell and
Packit 345191
    # execute the test.  This allows the shell script to set MALLOC_CONF, which
Packit 345191
    # is then used to set @JEMALLOC_CPREFIX@MALLOC_CONF (thus allowing the
Packit 345191
    # per test shell script to ignore the @JEMALLOC_CPREFIX@ detail).
Packit 345191
    enable_fill=@enable_fill@ \
Packit 345191
    enable_prof=@enable_prof@ \
Packit 345191
    . @srcroot@${t}.sh && \
Packit 345191
    export_malloc_conf && \
Packit 345191
    $JEMALLOC_TEST_PREFIX ${t}@exe@ @abs_srcroot@ @abs_objroot@
Packit 345191
  else
Packit 345191
    export MALLOC_CONF= && \
Packit 345191
    export_malloc_conf && \
Packit 345191
    $JEMALLOC_TEST_PREFIX ${t}@exe@ @abs_srcroot@ @abs_objroot@
Packit 345191
  fi
Packit 345191
  result_code=$?
Packit 345191
  case ${result_code} in
Packit 345191
    ${pass_code})
Packit 345191
      pass_count=$((pass_count+1))
Packit 345191
      ;;
Packit 345191
    ${skip_code})
Packit 345191
      skip_count=$((skip_count+1))
Packit 345191
      ;;
Packit 345191
    ${fail_code})
Packit 345191
      fail_count=$((fail_count+1))
Packit 345191
      ;;
Packit 345191
    *)
Packit 345191
      echo "Test harness error: ${t} w/ MALLOC_CONF=\"${MALLOC_CONF}\"" 1>&2
Packit 345191
      echo "Use prefix to debug, e.g. JEMALLOC_TEST_PREFIX=\"gdb --args\" sh test/test.sh ${t}" 1>&2
Packit 345191
      exit 1
Packit 345191
  esac
Packit 345191
done
Packit 345191
Packit 345191
total_count=`expr ${pass_count} + ${skip_count} + ${fail_count}`
Packit 345191
echo
Packit 345191
echo "Test suite summary: pass: ${pass_count}/${total_count}, skip: ${skip_count}/${total_count}, fail: ${fail_count}/${total_count}"
Packit 345191
Packit 345191
if [ ${fail_count} -eq 0 ] ; then
Packit 345191
  exit 0
Packit 345191
else
Packit 345191
  exit 1
Packit 345191
fi