Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#! /bin/sh

# Test recode-sr-latin on some input in UTF-8 encoding.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

# Test whether a specific UTF-8 locale is installed.
: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
if test $LOCALE_FR_UTF8 != none; then
  LC_ALL=$LOCALE_FR_UTF8 ./testlocale 2>/dev/null
  case $? in
    0) ;;
    77) LOCALE_FR_UTF8=none;;
    *) exit 1;;
  esac
fi
if test $LOCALE_FR_UTF8 = none; then
  if test -f /usr/bin/localedef; then
    echo "Skipping test: no french UTF-8 locale is installed"
  else
    echo "Skipping test: no french UTF-8 locale is supported"
  fi
  rm -fr $tmpfiles; exit 77
fi

tmpfiles="$tmpfiles rec-srl-1.in"
cat <<\EOF > rec-srl-1.in
Исправни аргументи су
неједнозначан аргумент
EOF

tmpfiles="$tmpfiles rec-srl-1.out"
: ${RECODE=recode}
LC_ALL=$LOCALE_FR_UTF8 \
${RECODE}-sr-latin < rec-srl-1.in > rec-srl-1.out \
  || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles rec-srl-1.ok"
cat <<\EOF > rec-srl-1.ok
Ispravni argumenti su
nejednoznačan argument
EOF

: ${DIFF=diff}
${DIFF} rec-srl-1.ok rec-srl-1.out
result=$?

rm -fr $tmpfiles

exit $result