PKGBUILDs/mingw-w64-tbox/testall
2017-05-16 16:52:18 +00:00

169 lines
3.2 KiB
Bash

#!/usr/bin/env bash
set -e
# known not to work
failing=(
# coroutine_echo_client
# coroutine_echo_server
# coroutine_file_client
# coroutine_file_server
# coroutine_http_server
coroutine_lock
memory_check
platform_lock
platform_thread_pool
platform_timer
stream_cache
stream_charset
stream_null
stream_zip
)
# probably expecting input or arguments
stalling=(
# lo_coroutine_echo_client
# lo_coroutine_echo_server
# lo_coroutine_file_client
# lo_coroutine_file_server
# lo_coroutine_http_server
network_whois
platform_event
platform_ltimer
platform_semaphore
platform_thread
platform_thread_local
)
# and finally, the stuff that works
# TODO: pass arguments to those that expect them (e.g. stream)
running=(
algorithm_find
algorithm_sort
container_bloom_filter
container_circle_queue
container_hash_map
container_hash_set
container_heap
container_list
container_list_entry
container_queue
container_single_list
container_single_list_entry
container_stack
container_vector
coroutine_channel
coroutine_nest
coroutine_semaphore
coroutine_sleep
coroutine_spider
coroutine_switch
database_sql
hash_adler32
hash_benchmark
hash_crc16
hash_crc32
hash_crc8
hash_djb2
hash_fnv32
hash_fnv64
hash_md5
hash_sdbm
hash_sha
hash_uuid
libc_mbstowcs
libc_stdlib
libc_string
libc_time
libc_wchar
libc_wcstombs
libm_double
libm_float
libm_integer
lo_coroutine_lock
lo_coroutine_nest
lo_coroutine_sleep
lo_coroutine_switch
math_fixed
math_random
memory_buffer
memory_default_allocator
memory_fixed_pool
memory_impl_static_fixed_pool
memory_large_allocator
memory_memops
memory_queue_buffer
memory_small_allocator
memory_static_buffer
memory_string_pool
network_cookies
network_dns
network_http
network_hwaddr
network_impl_date
network_ipaddr
network_ipv4
network_ipv6
network_url
object_bin
object_bplist
object_dump
object_jcat
object_json
object_xml
object_xplist
other_charset
other_test
platform_addrinfo
platform_atomic
platform_atomic64
platform_backtrace
platform_barrier
platform_cache_time
platform_context
platform_directory
platform_environment
platform_file
platform_hostname
platform_ifaddrs
platform_path
platform_process
platform_processor
platform_utils
regex
stream
string_static_string
string_string
utils_base32
utils_base64
utils_bits
utils_dump
utils_option
utils_url
xml_document
xml_reader
xml_writer
)
testall() {
local demo="$1"
shift || { echo "expected path to demo program" >&2; return -1; }
local ret=0
for d in "${running[@]}"; do
echo "testing: $d" >&2
fail=0
"$demo" "$d" > /tmp/demo_stdout || fail=1
if [ $fail -eq 1 ]; then
cat /tmp/demo_stdout
echo "TEST FAILED: $d" >&2
let ret++
#break
fi
done
rm /tmp/demo_stdout
return $ret
}
testall "$@"