dbsql/test/scr026/chk.method
2009-08-31 20:28:38 -04:00

91 lines
2.5 KiB
Bash

#!/bin/sh -
#
# Check that DBSQL doesn't call DBSQL_ENV methods internally.
d=../..
t=__1
echo ============================================================
echo "Check that DBSQL doesn't call DBSQL_ENV methods internally."
echo ============================================================
m=`grep '(\*[a-z][_a-z]*)' $d/src/dbsql.in |
sed -e 's/^[^(]*(\*//' \
-e 's/).*//' \
-e '/am_remove/d' \
-e '/am_rename/d' \
-e '/app_dispatch/d' \
-e '/c_am_bulk/d' \
-e '/c_am_close/d' \
-e '/c_am_del/d' \
-e '/c_am_destroy/d' \
-e '/c_am_get/d' \
-e '/c_am_put/d' \
-e '/c_am_writelock/d' \
-e '/db_append_recno/d' \
-e '/db_errcall/d' \
-e '/db_feedback/d' \
-e '/db_free/d' \
-e '/db_malloc/d' \
-e '/db_paniccall/d' \
-e '/db_realloc/d' \
-e '/dup_compare/d' \
-e '/s_callback/d' |
sort -u`
(cd $d && for i in $m; do
#echo "$i..." > /dev/stderr
egrep -- "->$i\(" */*.[ch]
done) |
sed \
-e '/Wrapper function for/d' \
-e '/\/db.h:/d' \
-e '/^[^:]*:[ ]*\*[ ]/d' \
-e '/^common\/db_getlong.c:/d' \
-e '/^common\/util_cache.c:/d' \
-e '/^common\/util_log.c:/d' \
-e '/^common\/util_sig.c:/d' \
-e '/^db185\//d' \
-e '/^db_archive\//d' \
-e '/^db_checkpoint\//d' \
-e '/^db_deadlock\//d' \
-e '/^db_dump185\//d' \
-e '/^db_dump\//d' \
-e '/^db_load\//d' \
-e '/^db_printlog\//d' \
-e '/^db_recover\//d' \
-e '/^db_stat\//d' \
-e '/^db_upgrade\//d' \
-e '/^db_verify\//d' \
-e '/^dbm\//d' \
-e '/^examples_c\//d' \
-e '/^examples_cxx\//d' \
-e '/^examples_java\//d' \
-e '/^hsearch\//d' \
-e '/^libdb_java\//d' \
-e '/^mod_db4\//d' \
-e '/^php_db4\//d' \
-e '/^tcl\//d' \
-e '/^test\//d' \
-e '/^test_perf\//d' \
-e '/^test_purify\//d' \
-e '/^test_server\//d' \
-e '/^test_thread\//d' \
-e '/^test_vxworks\//d' \
-e '/^xa\//d' \
-e '/closeme->close() is a wrapper;/d' \
-e '/crypto.c.*db_cipher->close/d' \
-e '/db_err.c:.*dbenv->db_msgcall(dbenv, buf);/d' \
-e '/db_iface.c:.*(txn->commit(txn, nosync ? DB_TXN_NOSYNC : 0));/d' \
-e '/db_iface.c:.*if ((t_ret = txn->abort(txn)) != 0)/d' \
-e '/db_iface.c:.*return (dbenv->txn_begin(dbenv, NULL, txnidp, 0));/d' \
-e '/rep_util.c:.*ret = dbenv->rep_send(dbenv, &cdbt, dbtp, &cntrl.lsn,/d' \
>$t
test -s $t && {
cat $t
echo "FAIL: found DB/DB_ENV method calls DB library."
exit 1
}
exit 0