summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am20
-rw-r--r--tests/runtest.in12
-rw-r--r--tests/testdatabase.ok1916
-rw-r--r--tests/testrecord.ok200
-rw-r--r--tests/testsuite.at24
-rw-r--r--tests/testsuminfo.ok91
6 files changed, 24 insertions, 2239 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 1ffdab1..c0eac24 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,30 +7,10 @@ testrecord_LDADD = ../libmsi/libmsi.la
testdatabase_SOURCES = testdatabase.c
testdatabase_LDADD = ../libmsi/libmsi.la
-TESTS_ENVIRONMENT = srcdir=$(srcdir) ./runtest
-
if WIN32
noinst_PROGRAMS += testsuminfo
testdatabase_LDADD += -lole32
testsuminfo_SOURCES = testsuminfo.c
testsuminfo_LDADD = ../libmsi/libmsi.la -lole32
-
-TESTS = \
- testdatabase$(EXEEXT) \
- testrecord$(EXEEXT) \
- testsuminfo$(EXEEXT)
-
endif
-
-CLEANFILES = \
- testdatabase.log testdatabase.diff \
- testrecord.log testrecord.diff \
- testsuminfo.log testsuminfo.diff
-
-EXTRA_DIST = runtest \
- testdatabase.ok \
- testrecord.ok \
- testsuminfo.ok
-
-.NOTPARALLEL:
diff --git a/tests/runtest.in b/tests/runtest.in
deleted file mode 100644
index f8a3f4e..0000000
--- a/tests/runtest.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/bash
-
-: ${srcdir=$(basename $0)}
-: ${EXEEXT=@EXEEXT@}
-
-base=${1%${EXEEXT}}
-
-rm -f winetest-db.msi
-$1 > $base.log
-diff -u $srcdir/$base.ok $base.log | tee $base.diff
-test -s $base.diff && exit 1
-exit 0
diff --git a/tests/testdatabase.ok b/tests/testdatabase.ok
deleted file mode 100644
index 2141550..0000000
--- a/tests/testdatabase.ok
+++ /dev/null
@@ -1,1916 +0,0 @@
-ok: res == LIBMSI_RESULT_OPEN_FAILED
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 != access( msifile, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 != access( msifile2, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 == access( msifile2, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 != access( msifile2, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 != access( msifile, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 == access( msifile, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: -1 != access( msifile, F_OK )
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == 0
-ok: res == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 3
-ok: r == false
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf,"Abe")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf,"8675309")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: hrec == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r != LIBMSI_RESULT_SUCCESS
-ok: r != LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 0
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: rec
-ok: check_record( rec, 1, "S255")
-ok: check_record( rec, 2, "S1")
-ok: check_record( rec, 3, "I2")
-ok: check_record( rec, 4, "I2")
-ok: check_record( rec, 5, "I2")
-ok: check_record( rec, 6, "I4")
-ok: check_record( rec, 7, "S0")
-ok: 0x3dff == get_columns_table_type(hdb, "Properties", 1 )
-ok: 0x1d01 == get_columns_table_type(hdb, "Properties", 2 )
-ok: 0x1502 == get_columns_table_type(hdb, "Properties", 3 )
-ok: 0x1502 == get_columns_table_type(hdb, "Properties", 4 )
-ok: 0x1502 == get_columns_table_type(hdb, "Properties", 5 )
-ok: 0x1104 == get_columns_table_type(hdb, "Properties", 6 )
-ok: 0x1d00 == get_columns_table_type(hdb, "Properties", 7 )
-ok: rec
-ok: check_record( rec, 1, "Property")
-ok: check_record( rec, 2, "Value")
-ok: check_record( rec, 3, "Intvalue")
-ok: check_record( rec, 4, "Integervalue")
-ok: check_record( rec, 5, "Shortvalue")
-ok: check_record( rec, 6, "Longvalue")
-ok: check_record( rec, 7, "Longcharvalue")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: rec
-ok: check_record( rec, 1, "S255")
-ok: check_record( rec, 2, "V0")
-ok: 0x3dff == get_columns_table_type(hdb, "Binary", 1 )
-ok: 0x1900 == get_columns_table_type(hdb, "Binary", 2 )
-ok: rec
-ok: check_record( rec, 1, "Name")
-ok: check_record( rec, 2, "Data")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0x2d48 == get_columns_table_type(hdb, "UIText", 1 )
-ok: 0x1fff == get_columns_table_type(hdb, "UIText", 2 )
-ok: rec
-ok: check_record( rec, 1, "Key")
-ok: check_record( rec, 2, "Text")
-ok: rec
-ok: check_record( rec, 1, "s72")
-ok: check_record( rec, 2, "L255")
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer,"Name")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer,"s64")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: rec == 0
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_INVALID_HANDLE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: fd != -1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: length == strlen(expected)
-ok: !strcmp(buffer, expected)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: len == STRING_LENGTH
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: rec
-ok: check_record( rec, 1, "s62")
-ok: check_record( rec, 2, "V0")
-ok: rec
-ok: check_record( rec, 1, "Name")
-ok: check_record( rec, 2, "Data")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "data")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "test.txt\n")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "data1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "test1.txt\n")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "data1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "Binary.filename1.1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "test.txt\n")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "filename1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "test.txt\n")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record( rec, 1, "cond2")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record( rec, 1, "cond3")
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record( rec, 4, "zero.cab")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record( rec, 4, "one.cab")
-ok: 2 == r
-ok: 1 == r
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, "2" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, "3" )
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 9
-ok: check_record(rec, 1, "FirstPrimaryColumn")
-ok: check_record(rec, 2, "SecondPrimaryColumn")
-ok: check_record(rec, 3, "ShortInt")
-ok: check_record(rec, 4, "ShortIntNullable")
-ok: check_record(rec, 5, "LongInt")
-ok: check_record(rec, 6, "LongIntNullable")
-ok: check_record(rec, 7, "String")
-ok: check_record(rec, 8, "LocalizableString")
-ok: check_record(rec, 9, "LocalizableStringNullable")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 9
-ok: check_record(rec, 1, "s255")
-ok: check_record(rec, 2, "i2")
-ok: check_record(rec, 3, "i2")
-ok: check_record(rec, 4, "I2")
-ok: check_record(rec, 5, "i4")
-ok: check_record(rec, 6, "I4")
-ok: check_record(rec, 7, "S255")
-ok: check_record(rec, 8, "S0")
-ok: check_record(rec, 9, "s0")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record(rec, 1, "stringage")
-ok: check_record(rec, 7, "another string")
-ok: check_record(rec, 8, "localizable")
-ok: check_record(rec, 9, "duh")
-ok: i == 5
-ok: i == 2
-ok: i == MSI_NULL_INTEGER
-ok: i == 2147483640
-ok: i == -2147483640
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: check_record(rec, 1, "PrimaryOne")
-ok: check_record(rec, 2, "PrimaryTwo")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: check_record(rec, 1, "s255")
-ok: check_record(rec, 2, "s255")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record(rec, 1, "papaya")
-ok: check_record(rec, 2, "leaf")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record(rec, 1, "papaya")
-ok: check_record(rec, 2, "flower")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 6
-ok: check_record(rec, 1, "A")
-ok: check_record(rec, 2, "B")
-ok: check_record(rec, 3, "C")
-ok: check_record(rec, 4, "D")
-ok: check_record(rec, 5, "E")
-ok: check_record(rec, 6, "F")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 6
-ok: check_record(rec, 1, "s72")
-ok: check_record(rec, 2, "s72")
-ok: check_record(rec, 3, "s72")
-ok: check_record(rec, 4, "s72")
-ok: check_record(rec, 5, "s72")
-ok: check_record(rec, 6, "s72")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record(rec, 1, "a")
-ok: check_record(rec, 2, "b")
-ok: check_record(rec, 3, "c")
-ok: check_record(rec, 4, "d")
-ok: check_record(rec, 5, "e")
-ok: check_record(rec, 6, "f")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: check_record(rec, 1, "g")
-ok: check_record(rec, 2, "h")
-ok: check_record(rec, 3, "i")
-ok: check_record(rec, 4, "j")
-ok: check_record(rec, 5, "k")
-ok: check_record(rec, 6, "l")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "filename1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "just some words")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: i == MY_NQUERIES
-ok: i == MY_NQUERIES
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == S_OK
-ok: r == S_OK
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !memcmp(buffer, "naengmyon", 9)
-ok: sz == 9
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "c")
-ok: r == 0x80000000
-ok: r == 5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "b")
-ok: r == 0x80000000
-ok: r == 0x80000000
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].one )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].two )
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].one )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].two )
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].one )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].two )
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].one )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].two )
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].one )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buf, join_res_first[i].two )
-ok: i == 5
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: i == 24
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 2
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 2
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 1
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 1
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 6
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 3
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 6
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: data_correct
-ok: i == 6
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 6
-ok: count == 6
-ok: count == 6
-ok: count == 6
-ok: count == 6
-ok: count == 6
-ok: data_correct
-ok: i == 6
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: cond == LIBMSI_CONDITION_ERROR
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: cond == LIBMSI_CONDITION_ERROR
-ok: cond == LIBMSI_CONDITION_NONE
-ok: cond == LIBMSI_CONDITION_NONE
-ok: cond == LIBMSI_CONDITION_NONE
-ok: cond == LIBMSI_CONDITION_NONE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: cond == LIBMSI_CONDITION_TRUE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: cond == LIBMSI_CONDITION_TRUE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: cond == LIBMSI_CONDITION_FALSE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: cond == LIBMSI_CONDITION_NONE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: cond == LIBMSI_CONDITION_TRUE
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: cond == LIBMSI_CONDITION_NONE
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0 == strcmp("G255", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0 == strcmp("j2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: cond == LIBMSI_CONDITION_FALSE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 8
-ok: check_record(rec, 1, "one")
-ok: check_record(rec, 2, "two")
-ok: check_record(rec, 3, "three")
-ok: check_record(rec, 4, "four")
-ok: check_record(rec, 5, "five")
-ok: check_record(rec, 6, "six")
-ok: check_record(rec, 7, "seven")
-ok: check_record(rec, 8, "eight")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 8
-ok: check_record(rec, 1, "I2")
-ok: check_record(rec, 2, "I2")
-ok: check_record(rec, 3, "I2")
-ok: check_record(rec, 4, "I4")
-ok: check_record(rec, 5, "i2")
-ok: check_record(rec, 6, "i2")
-ok: check_record(rec, 7, "i2")
-ok: check_record(rec, 8, "i4")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == -1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 8
-ok: i == MSI_NULL_INTEGER
-ok: i == MSI_NULL_INTEGER
-ok: i == 2
-ok: i == 4
-ok: i == 5
-ok: i == 6
-ok: i == 7
-ok: i == 8
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(result, "this is text")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strlen(result)
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(result, "this is text")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strlen(result)
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(result, "this is text")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(result, "this is text")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(result, "this is text")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 8
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 8
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 5
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "foo")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "bar")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "foo")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "bar")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "baz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "foo")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "bar")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "foo")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "A")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "B")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "C")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "E")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "D")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "E")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "F")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "A")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "apple")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "two")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "apple")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "two")
-ok: r == 2
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "apple")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "two")
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "banana")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "three")
-ok: r == 3
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "one")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "two")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == 5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "five")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: hr == S_OK
-ok: stg != NULL
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: read == 4
-ok: hr == S_OK
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: read == 8
-ok: hr == S_OK
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: read == 24
-ok: !memcmp(buffer, data12, read)
-ok: hr == S_OK
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: hr == S_OK
-ok: hr == S_OK
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: hr == S_OK
-ok: stg != NULL
-ok: hr == S_OK
-ok: !lstrcmpW(stat.pwcsName, database_table_data[n].name)
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: count == database_table_data[n].size
-ok: !memcmp(data, check, MAX_PATH)
-ok: !lstrcmpW(stat.pwcsName, database_table_data[n].name)
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: count == database_table_data[n].size
-ok: !memcmp(data, check, MAX_PATH)
-ok: !lstrcmpW(stat.pwcsName, database_table_data[n].name)
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: count == database_table_data[n].size
-ok: !memcmp(data, database_table_data[n].data, database_table_data[n].size)
-ok: n == 3
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 3
-ok: val == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 5
-ok: val == 6
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 1
-ok: val == 2
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 1
-ok: val == 12
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 3
-ok: val == 12
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 5
-ok: val == 12
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 1
-ok: val == 14
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 3
-ok: val == 14
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 5
-ok: val == 14
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 1
-ok: val == 10
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 3
-ok: val == 10
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 5
-ok: val == 10
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "dos")
-ok: r == 3
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "two")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "This is a \"string\" ok")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "This is a new 'string' ok")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "\rOne")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Tw\ro")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Three\r")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table2")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table3")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "A")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table2")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "A")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "Table3")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "A")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "hi")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: fd != -1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "\r\n\r\n0\t_ForceCodepage\r\n")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: fd != -1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "\r\n\r\n850\t_ForceCodepage\r\n")
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: hrec
-ok: check_record(hrec, 1, "s62")
-ok: check_record(hrec, 2, "V0")
-ok: hrec
-ok: check_record(hrec, 1, "Name")
-ok: check_record(hrec, 2, "Data")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(file, "stgname")
-ok: r == LIBMSI_RESULT_INVALID_DATA
-ok: !strcmp(buf, "apple")
-ok: size == 0
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: hr == S_OK
-ok: stg != NULL
-ok: hr == S_OK
-ok: inner != NULL
-ok: hr == S_OK
-ok: stm != NULL
-ok: hr == S_OK
-ok: size == 8
-ok: !strcmp(buf, "stgdata")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "One")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "One")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "A")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "One")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "One")
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "B")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "One")
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "C")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == vals[i][0]
-ok: r == vals[i][1]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == vals[i][0]
-ok: r == vals[i][1]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == vals[i][0]
-ok: r == vals[i][1]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == vals[i][0]
-ok: r == vals[i][1]
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == ordervals[i][0]
-ok: r == ordervals[i][1]
-ok: r == ordervals[i][2]
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("s255", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("I2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("S255", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("i2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("i2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("D", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("E", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("A", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("C", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("B", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("bc", buf)
-ok: r == 3
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("a", buf)
-ok: r == 2
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("D", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("E", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 3
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("A", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("C", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("B", buf)
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("i2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("S255", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("s255", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("I2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("i2", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("C", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("A", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("D", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("E", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("B", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("a", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("bc", buf)
-ok: r == 3
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("D", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("E", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 3
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("A", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("C", buf)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("T", buf)
-ok: r == 5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp("B", buf)
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 14
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_INT
-ok: int_value == 1252
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: size == 18
-ok: !strcmp(str_value, "Installer Database")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "Installer description")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "WineHQ")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "Installer")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "Installer comments")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "Intel;1033,2057")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "{12345678-1234-1234-1234-123456789012}")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_FILETIME
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_FILETIME
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_INT
-ok: int_value == 200
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_INT
-ok: int_value == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_INT
-ok: int_value == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(str_value, "Vim")
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: hdb
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer,"b")
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer,"b")
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: res == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "\2")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "A")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "\1")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "B")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !memcmp(buffer, letter_a_ring, sizeof(letter_a_ring))
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "C")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring))
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "D")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring))
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buffer, "D")
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !memcmp( "text\r\ntext\ntext", buffer, sizeof("text\r\ntext\ntext") - 1 )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "f0" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "1" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "1" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "3" )
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == 3
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "1" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "2" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "3" )
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !buffer[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp( buffer, "4" )
-ok: r == LIBMSI_RESULT_NO_MORE_ITEMS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_BAD_QUERY_SYNTAX
-ok: r == LIBMSI_RESULT_SUCCESS
diff --git a/tests/testrecord.ok b/tests/testrecord.ok
deleted file mode 100644
index 28c2439..0000000
--- a/tests/testrecord.ok
+++ /dev/null
@@ -1,200 +0,0 @@
-ok: r==-1
-ok: r==0
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_INVALID_HANDLE
-ok: r == LIBMSI_RESULT_INVALID_HANDLE
-ok: h==0
-ok: h==0
-ok: r == LIBMSI_RESULT_INVALID_HANDLE
-ok: r == 0
-ok: h!=0
-ok: r==0
-ok: r
-ok: r
-ok: r
-ok: r==0
-ok: r==LIBMSI_RESULT_SUCCESS
-ok: sz==0
-ok: buf[0]==0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r==0
-ok: r==sizeof(unsigned)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r==0
-ok: r == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == true
-ok: r == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: buf[0] == 0
-ok: sz == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == true
-ok: r == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: buf[0] == 0
-ok: sz == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == MSI_NULL_INTEGER
-ok: r==sizeof str-1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0==strcmp(buf,str)
-ok: sz == sizeof str-1
-ok: r == LIBMSI_RESULT_MORE_DATA
-ok: sz == sizeof str-1
-ok: 0==strncmp(buf,str,sizeof str-3)
-ok: buf[sizeof str - 3]==0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz == sizeof str-1
-ok: 0==strcmp(buf,str)
-ok: r == LIBMSI_RESULT_MORE_DATA
-ok: sz == 5
-ok: 0==memcmp(buf,str,4)
-ok: r == LIBMSI_RESULT_MORE_DATA
-ok: sz == 5
-ok: 'x'==buf[0]
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == 42
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == -42
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == -1530494976
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == 2147483647
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == -2147483647
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == 1
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: i == LIBMSI_RESULT_SUCCESS
-ok: i == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz == 2
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0==strcmp(buf,"32")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz == 3
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: 0==strcmp(buf,"-32")
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_INVALID_DATATYPE
-ok: sz == sizeof buf
-ok: r == 0
-ok: r == 4
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: h
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==26
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==sizeof buf
-ok: !strncmp(buf,"abcdefghij",10)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==sizeof buf
-ok: !strncmp(buf,"klmnopqrst",10)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==6
-ok: !strcmp(buf,"uvwxyz")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==0
-ok: buf[0]==0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz==26
-ok: r == 26
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: rec != 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "")
-ok: sz == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "")
-ok: sz == 0
-ok: rec != 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: sz == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "5")
-ok: sz == 1
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "-5")
-ok: sz == 2
-ok: rec != 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == 5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == -5
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: val == MSI_NULL_INTEGER
-ok: rec != 0
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "")
-ok: sz == 0
-ok: r == true
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "")
-ok: sz == 0
-ok: r == true
-ok: r == 42
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "")
-ok: sz == 0
-ok: r == true
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "bologna")
-ok: sz == 7
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == MSI_NULL_INTEGER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(buf, "drone")
-ok: sz == 5
-ok: r == false
-ok: r == LIBMSI_RESULT_INVALID_TABLE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r != MSI_NULL_INTEGER && r != 0
-ok: r == false
-ok: r == LIBMSI_RESULT_SUCCESS
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 681df93..fd18a55 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -20,4 +20,28 @@
m4_include([package.m4])
AT_INIT
+
# Cannot use AT_TESTED because of $EXEEXT (Autotest bug)
+
+AT_BANNER([libmsi tests])
+
+AT_SETUP([testdatabase])
+AT_KEYWORDS([testdatabase])
+AT_SKIP_IF([! test -f $abs_builddir/tests/testdatabase$EXEEXT])
+AT_CHECK([tests/testdatabase$EXEEXT], [ignore], [stdout], [ignore])
+AT_CHECK([grep ^FAIL stdout], [1], [], [])
+AT_CLEANUP
+
+AT_SETUP([testrecord])
+AT_KEYWORDS([testrecord])
+AT_SKIP_IF([! test -f $abs_builddir/tests/testrecord$EXEEXT])
+AT_CHECK([tests/testrecord$EXEEXT], [ignore], [stdout], [ignore])
+AT_CHECK([grep ^FAIL stdout], [1], [], [])
+AT_CLEANUP
+
+AT_SETUP([testsuminfo])
+AT_KEYWORDS([testsuminfo])
+AT_SKIP_IF([! test -f $abs_builddir/tests/testsuminfo$EXEEXT])
+AT_CHECK([tests/testsuminfo$EXEEXT], [ignore], [stdout], [ignore])
+AT_CHECK([grep ^FAIL stdout], [1], [], [])
+AT_CLEANUP
diff --git a/tests/testsuminfo.ok b/tests/testsuminfo.ok
deleted file mode 100644
index 7ba7199..0000000
--- a/tests/testsuminfo.ok
+++ /dev/null
@@ -1,91 +0,0 @@
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_INVALID_HANDLE
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: count == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_UNKNOWN_PROPERTY
-ok: r == LIBMSI_RESULT_UNKNOWN_PROPERTY
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == 0
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: type == 0
-ok: val == 1234
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: buf[0]=='x'
-ok: sz == 0x10
-ok: type == LIBMSI_PROPERTY_TYPE_EMPTY
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_INVALID_PARAMETER
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_MORE_DATA
-ok: sz == 4
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(buf,"M")
-ok: r == LIBMSI_RESULT_MORE_DATA
-ok: sz == 4
-ok: type == LIBMSI_PROPERTY_TYPE_STRING
-ok: !strcmp(buf,"Mik")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_DATATYPE_MISMATCH
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: r == S_OK
-ok: INVALID_FILE_ATTRIBUTES != GetFileAttributes(msifile)
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: !strcmp(sval, "") || !strcmp(sval, "7")
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_SUCCESS
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED
-ok: r == LIBMSI_RESULT_FUNCTION_FAILED