1#!/bin/sh
2
3set -e
4
5cd /opt/libc-test
6make cleanall
7make run || true
8
9echo ""
10echo "--- ptest result ---"
11# libc-test runs tests by module(e.g. src/api) and generates sub-module test
12# report(e.g. src/api/REPORT) first. After all tests finish, it generates the
13# consolidated report file src/REPORT.
14report="/opt/libc-test/src/REPORT"
15if ! [ -f "${report}" ]; then
16    echo "${report} not found!"
17    echo "FAIL: libc-test"
18    exit 1
19# libc-test prints error on failure and prints nothing on success.
20elif grep -q '^FAIL src.*\.exe.*' "${report}"; then
21    # Print test failure in ptest format.
22    # e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main"
23    grep '^FAIL src.*\.exe.*' "${report}" \
24        | sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||'
25    exit 1
26else
27    echo "PASS: libc-test"
28fi
29