Commit f305f749 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

CIL API sanity checks (well known to fail at the moment)

parent 0daf5bc0
EXTRA_DIST = $(SOURCES_testvlc) EXTRA_DIST = $(SOURCES_testvlc)
MOSTLYCLEANFILES = $(check_SCRIPTS) MOSTLYCLEANFILES = $(check_SCRIPTS)
check_SCRIPTS = testvlc.exe noinst_SCRIPTS = testvlc.exe
dist_check_SCRIPTS = missing_api
SOURCES_testvlc = testvlc.cs SOURCES_testvlc = testvlc.cs
LDADD_testvlc = -lib:../src -r:VideoLAN.LibVLC.dll LDADD_testvlc = -lib:../src -r:VideoLAN.LibVLC.dll
...@@ -9,3 +10,4 @@ LDADD_testvlc = -lib:../src -r:VideoLAN.LibVLC.dll ...@@ -9,3 +10,4 @@ LDADD_testvlc = -lib:../src -r:VideoLAN.LibVLC.dll
testvlc.exe: $(SOURCES_testvlc) testvlc.exe: $(SOURCES_testvlc)
$(CSC) -target:exe -out:$@ $(CSFLAGS) $^ $(LDADD_testvlc) $(CSC) -target:exe -out:$@ $(CSFLAGS) $^ $(LDADD_testvlc)
TESTS = missing_api
#! /bin/dash
# Finds LibVLC API mismatch within the CIL bindings
# Copyright 2008 Rémi Denis-Courmont
if test "${srcdir}" = ""; then
srcdir="$(dirname "$0")"
fi
libvlcsym="${srcdir}/../../../src/libvlc.sym"
if ! test -f "${libvlcsym}"; then
echo "Cannot find ${libvlcsym}\!" >&2
exit 77
fi
cat ${srcdir}/../src/*.cs | \
sed -n -e 's,^.*EntryPoint="\([^"]*\)".*$,\1,p' | {
cat
# Symbols we do not need:
echo 'libvlc_exception_raise'
} | \
sort -u | \
diff -u - "${libvlcsym}" | \
grep -ve '^+\(mediacontrol_\|libvlc_playlist_\)' | {
read line # ---
read line # +++
broken=no
while read line; do
match="${line#+}"
if test "${line}" != "${match}"; then
echo "Unimplemented: $match"
broken=yes
fi
match="${line#-}"
if test "${line}" != "${match}"; then
echo "Invalid: $match"
broken=yes
fi
done
test "${broken}" = "no"
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment