I found the test28 and test29 tests difficult to understand, and
they seemed to not provide the intended coverage. Rewrite them for
clarity and completeness.
---
src/postconf/Makefile.in | 40 +++++--------------------
src/postconf/test28-main.cf | 22 ++++++++++++++
src/postconf/test28-master.cf | 2 ++
src/postconf/test28.ref | 11 ++++---
src/postconf/test29-main.cf | 55 +++++++++++++++++++++++++++++++++++
src/postconf/test29.ref | 49 +++++++++++++++++++------------
6 files changed, 124 insertions(+), 55 deletions(-)
create mode 100644 src/postconf/test28-main.cf
create mode 100644 src/postconf/test28-master.cf
create mode 100644 src/postconf/test29-main.cf
diff --git a/src/postconf/Makefile.in b/src/postconf/Makefile.in
index 9e5e3b966..e23a81f87 100644
--- a/src/postconf/Makefile.in
+++ b/src/postconf/Makefile.in
@@ -430,48 +430,22 @@ test27: $(PROG) test27.ref
# Test macro expansion, type:table parsing and scoping.
-test28: $(PROG) test28.ref
+test28: $(PROG) test28-main.cf test28-master.cf test28.ref
rm -f main.cf master.cf
- touch main.cf master.cf
- echo 'xx = proxy:ldap:foo' >> main.cf
- echo 'foo_domain = bar' >> main.cf
- echo 'header_checks = ldap:hh' >> main.cf
- echo 'hh_domain = whatever' >> main.cf
- echo 'zz = $$yy' >> main.cf
- echo 'yy = aap' >> main.cf
- echo 'db = memcache' >> main.cf
- echo whatevershebrings unix - n n - 0 other >> master.cf
- echo ' -o body_checks=$$db:$$zz' >> master.cf
- echo 'aap_domain = whatever' >> main.cf
- echo 'aa_domain = whatever' >> main.cf
+ cp test28-main.cf main.cf
+ cp test28-master.cf master.cf
touch -t 197101010000 main.cf
+ touch master.cf
$(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -nc . >test28.tmp 2>&1
diff test28.ref test28.tmp
rm -f main.cf master.cf test28.tmp
# Test the handling of known and unknown database-defined suffixes.
-test29: $(PROG) test29.ref
+test29: $(PROG) test29-main.cf test29.ref
rm -f main.cf master.cf
- touch main.cf master.cf
- echo 'ldapxx = proxy:ldap:ldapfoo' >> main.cf
- echo 'ldapfoo_domain = bar' >> main.cf
- echo 'ldapfoo_domainx = bar' >> main.cf
- echo 'mysqlxx = proxy:mysql:mysqlfoo' >> main.cf
- echo 'mysqlfoo_domain = bar' >> main.cf
- echo 'mysqlfoo_domainx = bar' >> main.cf
- echo 'pgsqlxx = proxy:pgsql:pgsqlfoo' >> main.cf
- echo 'pgsqlfoo_domain = bar' >> main.cf
- echo 'pgsqlfoo_domainx = bar' >> main.cf
- echo 'sqlitexx = proxy:sqlite:sqlitefoo' >> main.cf
- echo 'sqlitefoo_domain = bar' >> main.cf
- echo 'sqlitefoo_domainx = bar' >> main.cf
- echo 'memcachexx = proxy:memcache:memcachefoo' >> main.cf
- echo 'memcachefoo_domain = bar' >> main.cf
- echo 'memcachefoo_domainx = bar' >> main.cf
- echo 'mongodbxx = proxy:mongodb:mongodbfoo' >> main.cf
- echo 'mongodbfoo_domain = bar' >> main.cf
- echo 'mongodbfoo_domainx = bar' >> main.cf
+ cp test29-main.cf main.cf
+ touch master.cf
touch -t 197101010000 main.cf
$(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -nc . >test29.tmp 2>&1
diff test29.ref test29.tmp
diff --git a/src/postconf/test28-main.cf b/src/postconf/test28-main.cf
new file mode 100644
index 000000000..6f33bc398
--- /dev/null
+++ b/src/postconf/test28-main.cf
@@ -0,0 +1,22 @@
+_unused_tables =
+ ldap:_unused_ldap
+ proxy:ldap:_unused_proxy_ldap
+_unused_ldap_domain = whatever
+_unused_proxy_ldap_domain = whatever
+
+header_checks = $_used_tables
+_used_tables =
+ ldap:_used_ldap
+ proxy:ldap:_used_proxy_ldap
+_used_ldap_domain = whatever
+_used_proxy_ldap_domain = whatever
+
+# These are referenced by master.cf ($aap_domain is referenced indirectly via
+# the memcache:aap table specified as $db:$zz in master.cf).
+zz = $yy
+yy = aap
+db = memcache
+aap_domain = whatever
+
+# There is no db table with the name "aa", not even in an unused variable.
+aa_domain = whatever
diff --git a/src/postconf/test28-master.cf b/src/postconf/test28-master.cf
new file mode 100644
index 000000000..9f42beb9c
--- /dev/null
+++ b/src/postconf/test28-master.cf
@@ -0,0 +1,2 @@
+whatevershebrings unix - n n - 0 other
+ -o body_checks=$db:$zz
diff --git a/src/postconf/test28.ref b/src/postconf/test28.ref
index 4e9373463..fdd723188 100644
--- a/src/postconf/test28.ref
+++ b/src/postconf/test28.ref
@@ -1,10 +1,13 @@
+_used_ldap_domain = whatever
+_used_proxy_ldap_domain = whatever
+_used_tables = ldap:_used_ldap proxy:ldap:_used_proxy_ldap
aap_domain = whatever
config_directory = .
db = memcache
-header_checks = ldap:hh
-hh_domain = whatever
+header_checks = $_used_tables
yy = aap
zz = $yy
-./postconf: warning: ./main.cf: unused parameter: foo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: xx=proxy:ldap:foo
+./postconf: warning: ./main.cf: unused parameter: _unused_ldap_domain=whatever
+./postconf: warning: ./main.cf: unused parameter:
_unused_proxy_ldap_domain=whatever
+./postconf: warning: ./main.cf: unused parameter:
_unused_tables=ldap:_unused_ldap proxy:ldap:_unused_proxy_ldap
./postconf: warning: ./main.cf: unused parameter: aa_domain=whatever
diff --git a/src/postconf/test29-main.cf b/src/postconf/test29-main.cf
new file mode 100644
index 000000000..9fc223748
--- /dev/null
+++ b/src/postconf/test29-main.cf
@@ -0,0 +1,55 @@
+_ldap_tables =
+ ldap:_ldap
+ proxy:ldap:_proxy_ldap
+_ldap_domain = whatever
+_ldap_domainx = whatever
+_proxy_ldap_domain = whatever
+_proxy_ldap_domainx = whatever
+
+_memcache_tables =
+ memcache:_memcache
+ proxy:memcache:_proxy_memcache
+_memcache_domain = whatever
+_memcache_domainx = whatever
+_proxy_memcache_domain = whatever
+_proxy_memcache_domainx = whatever
+
+_mongodb_tables =
+ mongodb:_mongodb
+ proxy:mongodb:_proxy_mongodb
+_mongodb_domain = whatever
+_mongodb_domainx = whatever
+_proxy_mongodb_domain = whatever
+_proxy_mongodb_domainx = whatever
+
+_mysql_tables =
+ mysql:_mysql
+ proxy:mysql:_proxy_mysql
+_mysql_domain = whatever
+_mysql_domainx = whatever
+_proxy_mysql_domain = whatever
+_proxy_mysql_domainx = whatever
+
+_pgsql_tables =
+ pgsql:_pgsql
+ proxy:pgsql:_proxy_pgsql
+_pgsql_domain = whatever
+_pgsql_domainx = whatever
+_proxy_pgsql_domain = whatever
+_proxy_pgsql_domainx = whatever
+
+_sqlite_tables =
+ sqlite:_sqlite
+ proxy:sqlite:_proxy_sqlite
+_sqlite_domain = whatever
+_sqlite_domainx = whatever
+_proxy_sqlite_domain = whatever
+_proxy_sqlite_domainx = whatever
+
+header_checks =
+ $_ldap_tables
+ $_memcache_tables
+ $_mongodb_tables
+ $_mysql_tables
+ $_pgsql_tables
+ $_sqlite_tables
diff --git a/src/postconf/test29.ref b/src/postconf/test29.ref
index c3bbaecab..b188d5215 100644
--- a/src/postconf/test29.ref
+++ b/src/postconf/test29.ref
@@ -1,19 +1,32 @@
+_ldap_domain = whatever
+_ldap_tables = ldap:_ldap proxy:ldap:_proxy_ldap
+_memcache_domain = whatever
+_memcache_tables = memcache:_memcache proxy:memcache:_proxy_memcache
+_mongodb_domain = whatever
+_mongodb_tables = mongodb:_mongodb proxy:mongodb:_proxy_mongodb
+_mysql_domain = whatever
+_mysql_tables = mysql:_mysql proxy:mysql:_proxy_mysql
+_pgsql_domain = whatever
+_pgsql_tables = pgsql:_pgsql proxy:pgsql:_proxy_pgsql
+_proxy_ldap_domain = whatever
+_proxy_memcache_domain = whatever
+_proxy_mongodb_domain = whatever
+_proxy_mysql_domain = whatever
+_proxy_pgsql_domain = whatever
+_proxy_sqlite_domain = whatever
+_sqlite_domain = whatever
+_sqlite_tables = sqlite:_sqlite proxy:sqlite:_proxy_sqlite
config_directory = .
-./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: ldapxx=proxy:ldap:ldapfoo
-./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter:
sqlitexx=proxy:sqlite:sqlitefoo
-./postconf: warning: ./main.cf: unused parameter: mysqlfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: sqlitefoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: memcachefoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter: pgsqlfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: mongodbfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: ldapfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: ldapfoo_domain=bar
-./postconf: warning: ./main.cf: unused parameter:
memcachexx=proxy:memcache:memcachefoo
-./postconf: warning: ./main.cf: unused parameter: memcachefoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: mysqlfoo_domainx=bar
-./postconf: warning: ./main.cf: unused parameter: mysqlxx=proxy:mysql:mysqlfoo
-./postconf: warning: ./main.cf: unused parameter:
mongodbxx=proxy:mongodb:mongodbfoo
-./postconf: warning: ./main.cf: unused parameter: pgsqlxx=proxy:pgsql:pgsqlfoo
+header_checks = $_ldap_tables $_memcache_tables $_mongodb_tables
$_mysql_tables $_pgsql_tables $_sqlite_tables
+./postconf: warning: ./main.cf: unused parameter: _proxy_ldap_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter:
_proxy_sqlite_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter:
_proxy_mongodb_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _memcache_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _proxy_mysql_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter:
_proxy_memcache_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _mongodb_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _ldap_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _sqlite_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _proxy_pgsql_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _mysql_domainx=whatever
+./postconf: warning: ./main.cf: unused parameter: _pgsql_domainx=whatever
--
2.49.0
_______________________________________________
Postfix-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]