Search is temporarily disabled.
See ticket for more info.
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
ldap/schema/slapd-collations.conf | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
New commits:
commit 3e3dff89c29afdf52a32e4d44f01bddedd60bcd3
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Thu Jul 28 22:23:20 2016 -0700
Ticket #48936 - Duplicate collation entries
Description: In the fix for "Ticket #53 - Need to update supported locales",
some locales were not set country and variant codes correctly, which caused
the duplicate matchintRules. Also, ig-NG was mapped to a wrong locale.
An example of the broken matchingRules.
Before the fix>
matchingRules: ( 2.16.840.1.113730.3.3.2.42.1 NAME 'caseIgnoreOrderingMatch-sk' DESC 'sk' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
matchingRules: ( 2.16.840.1.113730.3.3.2.211.1 NAME 'caseIgnoreOrderingMatch-sk' DESC 'sk' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
After the fix>
matchingRules: ( 2.16.840.1.113730.3.3.2.42.1 NAME 'caseIgnoreOrderingMatch-sk' DESC 'sk' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
matchingRules: ( 2.16.840.1.113730.3.3.2.211.1 NAME 'caseIgnoreOrderingMatch-sk-SK' DESC 'sk-SK' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
https://fedorahosted.org/389/ticket/48936
Reviewed by rmeggins(a)redhat.com (Thank you, Rich!!)
diff --git a/ldap/schema/slapd-collations.conf b/ldap/schema/slapd-collations.conf
index 9f653e4..31fa477 100644
--- a/ldap/schema/slapd-collations.conf
+++ b/ldap/schema/slapd-collations.conf
@@ -88,7 +88,7 @@ collation as "" "" 1 3 2.16.840.1.113730.3.3.2.71.1 as
collation as IN "" 1 3 2.16.840.1.113730.3.3.2.72.1 as-IN
collation az "" "" 1 3 2.16.840.1.113730.3.3.2.73.1 az
collation az Latn "" 1 3 2.16.840.1.113730.3.3.2.74.1 az-Latn
-collation az Latn_AZ "" 1 3 2.16.840.1.113730.3.3.2.75.1 az-Latn-AZ
+collation az Latn AZ 1 3 2.16.840.1.113730.3.3.2.75.1 az-Latn-AZ
collation bn "" "" 1 3 2.16.840.1.113730.3.3.2.76.1 bn
collation bn BD "" 1 3 2.16.840.1.113730.3.3.2.77.1 bn-BD
collation bn IN "" 1 3 2.16.840.1.113730.3.3.2.78.1 bn-IN
@@ -189,8 +189,8 @@ collation ha Latn NG 1 3 2.16.840.1.113730.3.3.2.172.1 ha-Latn-NG
collation he "" "" 1 3 2.16.840.1.113730.3.3.2.173.1 he he-IL
collation hi "" "" 1 3 2.16.840.1.113730.3.3.2.174.1 hi hi-IN
collation hy "" "" 1 3 2.16.840.1.113730.3.3.2.175.1 hy hy-AM
-collation id "" "" 1 3 2.16.840.1.113730.3.3.2.176.1 id-ID
-collation id ID "" 1 3 2.16.840.1.113730.3.3.2.177.1 ig-NG
+collation id "" "" 1 3 2.16.840.1.113730.3.3.2.176.1 id id-ID
+collation ig "" "" 1 3 2.16.840.1.113730.3.3.2.177.1 ig ig-NG
collation it IT "" 1 3 2.16.840.1.113730.3.3.2.178.1 it-IT
collation ka "" "" 1 3 2.16.840.1.113730.3.3.2.179.1 ka
collation ka GE "" 1 3 2.16.840.1.113730.3.3.2.180.1 ka-GE
@@ -224,9 +224,9 @@ collation ru MD "" 1 3 2.16.840.1.113730.3.3.2.207.1 ru-MD
collation ru RU "" 1 3 2.16.840.1.113730.3.3.2.208.1 ru-RU
collation ru UA "" 1 3 2.16.840.1.113730.3.3.2.209.1 ru-UA
collation si "" "" 1 3 2.16.840.1.113730.3.3.2.210.1 si si-LK
-collation sk "" "" 1 3 2.16.840.1.113730.3.3.2.211.1 sk sk-SK
-collation sl "" "" 1 3 2.16.840.1.113730.3.3.2.212.1 sl sl-SI
-collation sq "" "" 1 3 2.16.840.1.113730.3.3.2.213.1 sq sq-AL
+collation sk SK "" 1 3 2.16.840.1.113730.3.3.2.211.1 sk-SK
+collation sl SI "" 1 3 2.16.840.1.113730.3.3.2.212.1 sl-SI
+collation sq AL "" 1 3 2.16.840.1.113730.3.3.2.213.1 sq-AL
collation sr Cyrl "" 1 3 2.16.840.1.113730.3.3.2.214.1 sr-Cyrl
collation sr Cyrl BA 1 3 2.16.840.1.113730.3.3.2.215.1 sr-Cyrl-BA
collation sr Cyrl ME 1 3 2.16.840.1.113730.3.3.2.216.1 sr-Cyrl-ME
dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py | 6 +
dirsrvtests/tests/tickets/ticket1347760_test.py | 44 +++++------
dirsrvtests/tests/tickets/ticket47838_test.py | 25 ++----
3 files changed, 38 insertions(+), 37 deletions(-)
New commits:
commit 6d472e4818197d30b961571334c20a87f4258ab1
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Fri Jul 29 13:40:41 2016 +0200
Ticket 48832 - Fix timing and localhost issues
Description: Add smart time.sleep() before a checking of access log.
Replace 'localhost' with DirSrvTools.getLocalhost() function for
rootdn-allow-host and rootdn-deny-host attrs.
https://fedorahosted.org/389/ticket/48832
Reviewed by: mreynolds (Thanks!)
diff --git a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
index 7b2c01a..a904644 100644
--- a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
+++ b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
@@ -377,13 +377,14 @@ def test_rootdn_access_denied_host(topology):
log.info('Running test_rootdn_access_denied_host...')
hostname = socket.gethostname()
+ localhost = DirSrvTools.getLocalhost()
try:
topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
hostname)])
topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
- 'localhost')])
+ localhost)])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set deny host: error ' +
e.message['desc'])
@@ -559,10 +560,11 @@ def test_rootdn_access_allowed_host(topology):
assert False
hostname = socket.gethostname()
+ localhost = DirSrvTools.getLocalhost()
try:
topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
- 'localhost')])
+ localhost)])
topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-allow-host',
hostname)])
diff --git a/dirsrvtests/tests/tickets/ticket1347760_test.py b/dirsrvtests/tests/tickets/ticket1347760_test.py
index a54aea1..6b0be59 100644
--- a/dirsrvtests/tests/tickets/ticket1347760_test.py
+++ b/dirsrvtests/tests/tickets/ticket1347760_test.py
@@ -85,27 +85,29 @@ def topology(request):
def pattern_accesslog(file, log_pattern):
- try:
- pattern_accesslog.last_pos += 1
- except AttributeError:
- pattern_accesslog.last_pos = 0
-
- found = None
- file.seek(pattern_accesslog.last_pos)
-
- # Use a while true iteration because 'for line in file: hit a
- # python bug that break file.tell()
- while True:
- line = file.readline()
- found = log_pattern.search(line)
- if ((line == '') or (found)):
- break
-
- pattern_accesslog.last_pos = file.tell()
- if found:
- return line
- else:
- return None
+ for i in range(5):
+ try:
+ pattern_accesslog.last_pos += 1
+ except AttributeError:
+ pattern_accesslog.last_pos = 0
+
+ found = None
+ file.seek(pattern_accesslog.last_pos)
+
+ # Use a while true iteration because 'for line in file: hit a
+ # python bug that break file.tell()
+ while True:
+ line = file.readline()
+ found = log_pattern.search(line)
+ if ((line == '') or (found)):
+ break
+
+ pattern_accesslog.last_pos = file.tell()
+ if found:
+ return line
+ else:
+ time.sleep(1)
+ return None
def check_op_result(server, op, dn, superior, exists, rc):
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py b/dirsrvtests/tests/tickets/ticket47838_test.py
index 85e5166..d2b07cf 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -373,7 +373,7 @@ def test_47838_run_4(topology):
global plus_all_ecount
global plus_all_dcount
if nss_version >= NSS323:
- assert ecount == 23
+ assert ecount == 29
else:
assert ecount == 20
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
@@ -411,10 +411,10 @@ def test_47838_run_5(topology):
log.info("Disabled ciphers: %d" % dcount)
global plus_all_ecount
global plus_all_dcount
- if nss_version >= NSS320:
- assert ecount == 23
+ if nss_version >= NSS323:
+ assert ecount == 29
else:
- assert ecount == 12
+ assert ecount == 23
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
@@ -516,10 +516,10 @@ def test_47838_run_8(topology):
log.info("Disabled ciphers: %d" % dcount)
global plus_all_ecount
global plus_all_dcount
- if nss_version >= NSS320:
- assert ecount == 23
+ if nss_version >= NSS323:
+ assert ecount == 29
else:
- assert ecount == 12
+ assert ecount == 23
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
@@ -556,10 +556,10 @@ def test_47838_run_9(topology):
log.info("Enabled ciphers: %d" % ecount)
log.info("Disabled ciphers: %d" % dcount)
- if nss_version >= NSS320:
- assert ecount == 30
+ if nss_version >= NSS323:
+ assert ecount == 36
else:
- assert ecount == 23
+ assert ecount == 30
assert dcount == 0
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
@@ -606,10 +606,7 @@ def test_47838_run_10(topology):
log.info("Disabled ciphers: %d" % dcount)
global plus_all_ecount
global plus_all_dcount
- if nss_version >= NSS320:
- assert ecount == 5
- else:
- assert ecount == 9
+ assert ecount == 9
assert dcount == 0
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
dirsrvtests/tests/tickets/ticket142_test.py | 32 +++--------------
dirsrvtests/tests/tickets/ticket47838_test.py | 36 +++++++++----------
dirsrvtests/tests/tickets/ticket48194_test.py | 48 +++++++-------------------
dirsrvtests/tests/tickets/ticket48294_test.py | 8 ++--
dirsrvtests/tests/tickets/ticket48295_test.py | 4 +-
dirsrvtests/tests/tickets/ticket48745_test.py | 9 ----
dirsrvtests/tests/tickets/ticket48784_test.py | 1
7 files changed, 44 insertions(+), 94 deletions(-)
New commits:
commit d193997f705a4421ac99078a63554afaf1d29d94
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Thu Jul 28 20:34:02 2016 +0200
Ticket 48832 - Fix pytest compatibility in CI tests
Description: For pytest compatibility all test suites should have test
functions starting with 'test' word. Fix it. Also clean up the tests
from old 'run_isolated' functions.
https://fedorahosted.org/389/ticket/48832
Reviewed by: mreynolds (Thanks!)
diff --git a/dirsrvtests/tests/tickets/ticket142_test.py b/dirsrvtests/tests/tickets/ticket142_test.py
index bc4e7c0..3c9cfce 100644
--- a/dirsrvtests/tests/tickets/ticket142_test.py
+++ b/dirsrvtests/tests/tickets/ticket142_test.py
@@ -104,7 +104,7 @@ def check_attr_val(topology, dn, attr, expected):
assert False
-def _142_init(topology):
+def test_142_init(topology):
"""
Set global password policy.
Then, set fine-grained subtree level password policy to ou=People with no password syntax.
@@ -155,7 +155,7 @@ def _142_init(topology):
'(targetattr="*")(version 3.0; acl "pwp test"; allow (all) userdn="ldap:///%s";)' % BN)])
-def _142_run_0(topology):
+def test_142_run_0(topology):
"""
Make sure an entry added to ou=people has no password syntax restrictions.
"""
@@ -175,7 +175,7 @@ def _142_run_0(topology):
log.info('PASSED')
-def _142_run_1(topology):
+def test_142_run_1(topology):
"""
Set 'nsslapd-pwpolicy-inherit-global: on'
But passwordCheckSyntax is still off.
@@ -201,7 +201,7 @@ def _142_run_1(topology):
log.info('PASSED')
-def _142_run_2(topology):
+def test_142_run_2(topology):
"""
Set 'passwordCheckSyntax: on'
Set 'passwordMinLength: 9' for testing
@@ -244,7 +244,7 @@ def _142_run_2(topology):
log.info('PASSED')
-def _142_run_3(topology):
+def test_142_run_3(topology):
"""
Set 'passwordCheckSyntax: on'
Set 'nsslapd-pwpolicy-inherit-global: off'
@@ -271,7 +271,7 @@ def _142_run_3(topology):
log.info('PASSED')
-def _142_run_4(topology):
+def test_142_run_4(topology):
"""
Set 'passwordCheckSyntax: on'
Set 'nsslapd-pwpolicy-inherit-global: on'
@@ -300,26 +300,6 @@ def _142_run_4(topology):
log.info('PASSED')
-def test_ticket142(topology):
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- _142_init(topology)
-
- _142_run_0(topology)
- _142_run_1(topology)
- _142_run_2(topology)
- _142_run_3(topology)
- _142_run_4(topology)
-
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py b/dirsrvtests/tests/tickets/ticket47838_test.py
index 109b48d..85e5166 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -96,7 +96,7 @@ def _header(topology, label):
topology.standalone.log.info("###############################################")
-def _47838_init(topology):
+def test_47838_init(topology):
"""
Generate self signed cert and import it to the DS cert db.
Enable SSL
@@ -200,7 +200,7 @@ def comp_nsSSLEnableCipherCount(topology, ecount):
assert ecount == enabledciphercnt
-def _47838_run_0(topology):
+def test_47838_run_0(topology):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
@@ -240,7 +240,7 @@ def _47838_run_0(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_1(topology):
+def test_47838_run_1(topology):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
@@ -283,7 +283,7 @@ def _47838_run_1(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_2(topology):
+def test_47838_run_2(topology):
"""
Check nsSSL3Ciphers: +rsa_aes_128_sha,+rsa_aes_256_sha
rsa_aes_128_sha, tls_rsa_aes_128_sha, rsa_aes_256_sha, tls_rsa_aes_256_sha are enabled.
@@ -315,7 +315,7 @@ def _47838_run_2(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_3(topology):
+def test_47838_run_3(topology):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
@@ -346,7 +346,7 @@ def _47838_run_3(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_4(topology):
+def test_47838_run_4(topology):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
@@ -385,7 +385,7 @@ def _47838_run_4(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_5(topology):
+def test_47838_run_5(topology):
"""
Check nsSSL3Ciphers: default
Default ciphers are enabled.
@@ -424,7 +424,7 @@ def _47838_run_5(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_6(topology):
+def test_47838_run_6(topology):
"""
Check nsSSL3Ciphers: +all,-rsa_rc4_128_md5
All ciphers are disabled.
@@ -458,7 +458,7 @@ def _47838_run_6(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_7(topology):
+def test_47838_run_7(topology):
"""
Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5
All ciphers are disabled.
@@ -490,7 +490,7 @@ def _47838_run_7(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_8(topology):
+def test_47838_run_8(topology):
"""
Check nsSSL3Ciphers: default + allowWeakCipher: off
Strong Default ciphers are enabled.
@@ -529,7 +529,7 @@ def _47838_run_8(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_9(topology):
+def test_47838_run_9(topology):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
@@ -572,7 +572,7 @@ def _47838_run_9(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_10(topology):
+def test_47838_run_10(topology):
"""
Check nsSSL3Ciphers: -TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,
+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
@@ -620,7 +620,7 @@ def _47838_run_10(topology):
comp_nsSSLEnableCipherCount(topology, ecount)
-def _47838_run_11(topology):
+def test_47838_run_11(topology):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
@@ -647,7 +647,7 @@ def _47838_run_11(topology):
comp_nsSSLEnableCipherCount(topology, 0)
-def _47928_run_0(topology):
+def test_47928_run_0(topology):
"""
No SSL version config parameters.
Check SSL3 (TLS1.0) is off.
@@ -682,7 +682,7 @@ def _47928_run_0(topology):
assert False
-def _47928_run_1(topology):
+def test_47928_run_1(topology):
"""
No nsSSL3, nsTLS1; sslVersionMin > sslVersionMax
Check sslVersionMax is ignored.
@@ -716,7 +716,7 @@ def _47928_run_1(topology):
assert False
-def _47928_run_2(topology):
+def test_47928_run_2(topology):
"""
nsSSL3: on; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3 and range; nsSSL3 is disabled
@@ -759,7 +759,7 @@ def _47928_run_2(topology):
assert False
-def _47928_run_3(topology):
+def test_47928_run_3(topology):
"""
nsSSL3: on; nsTLS1: off; sslVersionMin: TLS1.1; sslVersionMax: TLS1.2
Conflict between nsSSL3/nsTLS1 and range; nsSSL3 is disabled; nsTLS1 is enabled.
@@ -803,7 +803,7 @@ def _47928_run_3(topology):
assert False
-def _47838_run_last(topology):
+def test_47838_run_last(topology):
"""
Check nsSSL3Ciphers: all <== invalid value
All ciphers are disabled.
diff --git a/dirsrvtests/tests/tickets/ticket48194_test.py b/dirsrvtests/tests/tickets/ticket48194_test.py
index 897f4d0..10192c1 100644
--- a/dirsrvtests/tests/tickets/ticket48194_test.py
+++ b/dirsrvtests/tests/tickets/ticket48194_test.py
@@ -82,7 +82,7 @@ def _header(topology, label):
topology.standalone.log.info("###############################################")
-def my_test_init(topology):
+def test_init(topology):
"""
Generate self signed cert and import it to the DS cert db.
Enable SSL
@@ -204,7 +204,7 @@ def connectWithOpenssl(topology, cipher, expect):
proc.stdin.close()
assert False
-def my_test_run_0(topology):
+def test_run_0(topology):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
@@ -221,7 +221,7 @@ def my_test_run_0(topology):
connectWithOpenssl(topology, 'RC4-SHA', True)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_1(topology):
+def test_run_1(topology):
"""
Check nsSSL3Ciphers: +all
All ciphers are enabled except null.
@@ -243,7 +243,7 @@ def my_test_run_1(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_2(topology):
+def test_run_2(topology):
"""
Check nsSSL3Ciphers: +rsa_aes_128_sha,+rsa_aes_256_sha
rsa_aes_128_sha, tls_rsa_aes_128_sha, rsa_aes_256_sha, tls_rsa_aes_256_sha are enabled.
@@ -265,7 +265,7 @@ def my_test_run_2(topology):
connectWithOpenssl(topology, 'AES128-SHA', True)
connectWithOpenssl(topology, 'AES256-SHA', True)
-def my_test_run_3(topology):
+def test_run_3(topology):
"""
Check nsSSL3Ciphers: -all
All ciphers are disabled.
@@ -285,7 +285,7 @@ def my_test_run_3(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', False)
-def my_test_run_4(topology):
+def test_run_4(topology):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
@@ -305,7 +305,7 @@ def my_test_run_4(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_5(topology):
+def test_run_5(topology):
"""
Check nsSSL3Ciphers: default
Default ciphers are enabled.
@@ -325,7 +325,7 @@ def my_test_run_5(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_6(topology):
+def test_run_6(topology):
"""
Check nsSSL3Ciphers: +all,-TLS_RSA_WITH_AES_256_CBC_SHA256
All ciphers are disabled.
@@ -346,7 +346,7 @@ def my_test_run_6(topology):
connectWithOpenssl(topology, 'AES256-SHA256', False)
connectWithOpenssl(topology, 'AES128-SHA', True)
-def my_test_run_7(topology):
+def test_run_7(topology):
"""
Check nsSSL3Ciphers: -all,+rsa_rc4_128_md5
All ciphers are disabled.
@@ -367,7 +367,7 @@ def my_test_run_7(topology):
connectWithOpenssl(topology, 'AES256-SHA256', False)
connectWithOpenssl(topology, 'RC4-MD5', True)
-def my_test_run_8(topology):
+def test_run_8(topology):
"""
Check nsSSL3Ciphers: default + allowWeakCipher: off
Strong Default ciphers are enabled.
@@ -387,7 +387,7 @@ def my_test_run_8(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_9(topology):
+def test_run_9(topology):
"""
Check no nsSSL3Ciphers
Default ciphers are enabled.
@@ -410,7 +410,7 @@ def my_test_run_9(topology):
connectWithOpenssl(topology, 'RC4-SHA', True)
connectWithOpenssl(topology, 'AES256-SHA256', True)
-def my_test_run_10(topology):
+def test_run_10(topology):
"""
Check nsSSL3Ciphers: -TLS_RSA_WITH_NULL_MD5,+TLS_RSA_WITH_RC4_128_MD5,
+TLS_RSA_EXPORT_WITH_RC4_40_MD5,+TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
@@ -439,7 +439,7 @@ def my_test_run_10(topology):
connectWithOpenssl(topology, 'RC4-MD5', True)
connectWithOpenssl(topology, 'AES256-SHA256', False)
-def my_test_run_11(topology):
+def test_run_11(topology):
"""
Check nsSSL3Ciphers: +fortezza
SSL_GetImplementedCiphers does not return this as a secuire cipher suite
@@ -459,28 +459,6 @@ def my_test_run_11(topology):
connectWithOpenssl(topology, 'AES256-SHA256', False)
-def test_ticket48194(topology):
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- my_test_init(topology)
- my_test_run_0(topology)
- my_test_run_1(topology)
- my_test_run_2(topology)
- my_test_run_3(topology)
- my_test_run_4(topology)
- my_test_run_5(topology)
- my_test_run_6(topology)
- my_test_run_7(topology)
- my_test_run_8(topology)
- my_test_run_9(topology)
- my_test_run_10(topology)
- my_test_run_11(topology)
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket48294_test.py b/dirsrvtests/tests/tickets/ticket48294_test.py
index 3cb912f..3e63759 100644
--- a/dirsrvtests/tests/tickets/ticket48294_test.py
+++ b/dirsrvtests/tests/tickets/ticket48294_test.py
@@ -135,7 +135,7 @@ def _modrdn_entry(topology=None, entry_dn=None, new_rdn=None, del_old=0, new_sup
ent = topology.standalone.getEntry(dn, ldap.SCOPE_BASE, myfilter)
-def _48294_init(topology):
+def test_48294_init(topology):
"""
Set up Linked Attribute
"""
@@ -193,7 +193,7 @@ def _48294_init(topology):
log.info('PASSED')
-def _48294_run_0(topology):
+def test_48294_run_0(topology):
"""
Rename employee1 to employee2 and adjust the value of directReport by replace
"""
@@ -216,7 +216,7 @@ def _48294_run_0(topology):
log.info('PASSED')
-def _48294_run_1(topology):
+def test_48294_run_1(topology):
"""
Rename employee2 to employee3 and adjust the value of directReport by delete and add
"""
@@ -246,7 +246,7 @@ def _48294_run_1(topology):
log.info('PASSED')
-def _48294_run_2(topology):
+def test_48294_run_2(topology):
"""
Rename manager1 to manager2 and make sure the managed attribute value is updated
"""
diff --git a/dirsrvtests/tests/tickets/ticket48295_test.py b/dirsrvtests/tests/tickets/ticket48295_test.py
index 4c7719d..b636730 100644
--- a/dirsrvtests/tests/tickets/ticket48295_test.py
+++ b/dirsrvtests/tests/tickets/ticket48295_test.py
@@ -113,7 +113,7 @@ def check_attr_val(topology, dn, attr, expected, revert):
assert False
-def _48295_init(topology):
+def test_48295_init(topology):
"""
Set up Linked Attribute
"""
@@ -164,7 +164,7 @@ def _48295_init(topology):
log.info('PASSED')
-def _48295_run(topology):
+def test_48295_run(topology):
"""
Add 2 linktypes - one exists, another does not
"""
diff --git a/dirsrvtests/tests/tickets/ticket48745_test.py b/dirsrvtests/tests/tickets/ticket48745_test.py
index 6ebe31e..4c23d04 100644
--- a/dirsrvtests/tests/tickets/ticket48745_test.py
+++ b/dirsrvtests/tests/tickets/ticket48745_test.py
@@ -167,14 +167,5 @@ def test_ticket48745_extensible_search_after_index(topology):
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-# global installation1_prefix
-# installation1_prefix = None
-# topo = topology(True)
-# test_ticket48745_init(topo)
-#
-# test_ticket48745_homeDirectory_indexed_cis(topo)
-# test_ticket48745_homeDirectory_mixed_value(topo)
-# test_ticket48745_extensible_search_after_index(topo)
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48784_test.py b/dirsrvtests/tests/tickets/ticket48784_test.py
index e2337f1..a94415a 100644
--- a/dirsrvtests/tests/tickets/ticket48784_test.py
+++ b/dirsrvtests/tests/tickets/ticket48784_test.py
@@ -428,6 +428,7 @@ def test_ticket48784(topology):
log.info("Ticket 48784 - PASSED")
+
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py | 11 ++++++++++-
dirsrvtests/tests/tickets/ticket47462_test.py | 4 ++--
dirsrvtests/tests/tickets/ticket47823_test.py | 2 --
dirsrvtests/tests/tickets/ticket47838_test.py | 9 ++++++++-
dirsrvtests/tests/tickets/ticket48784_test.py | 2 +-
5 files changed, 21 insertions(+), 7 deletions(-)
New commits:
commit 724adba659bc6e9cadbf528fa49d9518ad6c7b3c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Jul 28 10:52:58 2016 -0400
Ticket 48832 - CI Tests - make tests more portable
Description: This patch addresses some portability issues with the CI tests.
In some cases the amchine just runs too slow, so we need to
increase sleep intervals, and in other cases we need to get
the proper host name.
https://fedorahosted.org/389/ticket/48832
Reviewed by: spichugi (Thanks!)
diff --git a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
index 7ba20cb..7b2c01a 100644
--- a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
+++ b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
@@ -381,6 +381,9 @@ def test_rootdn_access_denied_host(topology):
topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
'rootdn-deny-host',
hostname)])
+ topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
+ 'rootdn-deny-host',
+ 'localhost')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set deny host: error ' +
e.message['desc'])
@@ -555,8 +558,14 @@ def test_rootdn_access_allowed_host(topology):
log.fatal('test_rootdn_access_allowed_host: : failed to bind as user1')
assert False
+ hostname = socket.gethostname()
try:
- topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD, 'rootdn-allow-host', 'localhost.localdomain')])
+ topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
+ 'rootdn-allow-host',
+ 'localhost')])
+ topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
+ 'rootdn-allow-host',
+ hostname)])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_allowed_host: Failed to set allowed host: error ' +
e.message['desc'])
diff --git a/dirsrvtests/tests/tickets/ticket47462_test.py b/dirsrvtests/tests/tickets/ticket47462_test.py
index 2ac1478..50b867e 100644
--- a/dirsrvtests/tests/tickets/ticket47462_test.py
+++ b/dirsrvtests/tests/tickets/ticket47462_test.py
@@ -267,8 +267,8 @@ def test_ticket47462(topology):
# Run the upgrade...
#
topology.master1.upgrade('online')
- topology.master1.restart(timeout=10)
- topology.master2.restart(timeout=10)
+ topology.master1.restart()
+ topology.master2.restart()
#
# Check that the restart converted existing DES credentials
diff --git a/dirsrvtests/tests/tickets/ticket47823_test.py b/dirsrvtests/tests/tickets/ticket47823_test.py
index 223c139..d7928f3 100644
--- a/dirsrvtests/tests/tickets/ticket47823_test.py
+++ b/dirsrvtests/tests/tickets/ticket47823_test.py
@@ -67,8 +67,6 @@ def topology(request):
'''
global installation_prefix
-
-
standalone = DirSrv(verbose=False)
if installation_prefix:
args_instance[SER_DEPLOYED_DIR] = installation_prefix
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py b/dirsrvtests/tests/tickets/ticket47838_test.py
index d9f6b36..109b48d 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -34,8 +34,12 @@ plus_all_dcount = 0
plus_all_ecount_noweak = 0
plus_all_dcount_noweak = 0
+# Cipher counts tend to change with each new verson of NSS
nss_version = ''
NSS320 = '3.20.0'
+NSS321 = '3.21.0' # RHEL6
+NSS323 = '3.23.0' # F22
+NSS325 = '3.25.0' # F23/F24
class TopologyStandalone(object):
@@ -368,7 +372,10 @@ def _47838_run_4(topology):
log.info("Disabled ciphers: %d" % dcount)
global plus_all_ecount
global plus_all_dcount
- assert ecount == 23
+ if nss_version >= NSS323:
+ assert ecount == 23
+ else:
+ assert ecount == 20
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
diff --git a/dirsrvtests/tests/tickets/ticket48784_test.py b/dirsrvtests/tests/tickets/ticket48784_test.py
index e513bfd..e2337f1 100644
--- a/dirsrvtests/tests/tickets/ticket48784_test.py
+++ b/dirsrvtests/tests/tickets/ticket48784_test.py
@@ -393,7 +393,7 @@ def test_ticket48784(topology):
add_entry(topology.master1, 'master1', 'uid=m1user', 0, 5)
add_entry(topology.master2, 'master2', 'uid=m2user', 0, 5)
- time.sleep(1)
+ time.sleep(10)
log.info('##### Searching for entries on master1...')
entries = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(uid=*)')
dirsrvtests/tests/suites/password/pwd_change_policytest.py | 240 +++++++++++++
1 file changed, 240 insertions(+)
New commits:
commit a20538f482089615ceff1947a3e237a87f31a781
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Thu Jul 28 11:53:47 2016 +0200
Ticket 48943 - Add CI Test for the password test suite
Description: Test that fine-grained pwdpolicy on the entry has a
priority over fine-grained pwdpolicy on the subtree the entry belongs
to. Use passwordChange attribute to verify that.
https://fedorahosted.org/389/ticket/48943
Reviewed by: mreynolds (Thanks!)
diff --git a/dirsrvtests/tests/suites/password/pwd_change_policytest.py b/dirsrvtests/tests/suites/password/pwd_change_policytest.py
new file mode 100644
index 0000000..1d48c65
--- /dev/null
+++ b/dirsrvtests/tests/suites/password/pwd_change_policytest.py
@@ -0,0 +1,240 @@
+import os
+import sys
+import time
+import subprocess
+import ldap
+import logging
+import pytest
+from lib389 import DirSrv, Entry, tools, tasks
+from lib389.tools import DirSrvTools
+from lib389._constants import *
+from lib389.properties import *
+from lib389.tasks import *
+from lib389.utils import *
+
+DEBUGGING = False
+OU_PEOPLE = 'ou=people,{}'.format(DEFAULT_SUFFIX)
+TEST_USER_NAME = 'simplepaged_test'
+TEST_USER_DN = 'uid={},{}'.format(TEST_USER_NAME, OU_PEOPLE)
+TEST_USER_PWD = 'simplepaged_test'
+PW_POLICY_CONT_USER = 'cn="cn=nsPwPolicyEntry,uid=simplepaged_test,'\
+ 'ou=people,dc=example,dc=com",'\
+ 'cn=nsPwPolicyContainer,ou=people,dc=example,dc=com'
+PW_POLICY_CONT_PEOPLE = 'cn="cn=nsPwPolicyEntry,'\
+ 'ou=people,dc=example,dc=com",'\
+ 'cn=nsPwPolicyContainer,ou=people,dc=example,dc=com'
+
+if DEBUGGING:
+ logging.getLogger(__name__).setLevel(logging.DEBUG)
+else:
+ logging.getLogger(__name__).setLevel(logging.INFO)
+
+log = logging.getLogger(__name__)
+
+
+class TopologyStandalone(object):
+ """The DS Topology Class"""
+ def __init__(self, standalone):
+ """Init"""
+ standalone.open()
+ self.standalone = standalone
+
+
+(a)pytest.fixture(scope="module")
+def topology(request):
+ """Create DS Deployment"""
+
+ # Creating standalone instance ...
+ if DEBUGGING:
+ standalone = DirSrv(verbose=True)
+ else:
+ standalone = DirSrv(verbose=False)
+ args_instance[SER_HOST] = HOST_STANDALONE
+ args_instance[SER_PORT] = PORT_STANDALONE
+ args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
+ args_instance[SER_CREATION_SUFFIX] = DEFAULT_SUFFIX
+ args_standalone = args_instance.copy()
+ standalone.allocate(args_standalone)
+ instance_standalone = standalone.exists()
+ if instance_standalone:
+ standalone.delete()
+ standalone.create()
+ standalone.open()
+
+ def fin():
+ """If we are debugging just stop the instances, otherwise remove
+ them
+ """
+ if DEBUGGING:
+ standalone.stop()
+ else:
+ standalone.delete()
+
+ request.addfinalizer(fin)
+
+
+ return TopologyStandalone(standalone)
+
+
+(a)pytest.fixture(scope="module")
+def test_user(topology, request):
+ """User for binding operation"""
+
+ log.info('Adding user {}'.format(TEST_USER_DN))
+ try:
+ topology.standalone.add_s(Entry((TEST_USER_DN, {
+ 'objectclass': 'top person'.split(),
+ 'objectclass': 'organizationalPerson',
+ 'objectclass': 'inetorgperson',
+ 'cn': TEST_USER_NAME,
+ 'sn': TEST_USER_NAME,
+ 'userpassword': TEST_USER_PWD,
+ 'mail': '%s(a)redhat.com' % TEST_USER_NAME,
+ 'uid': TEST_USER_NAME
+ })))
+ except ldap.LDAPError as e:
+ log.error('Failed to add user (%s): error (%s)' % (TEST_USER_DN,
+ e.message['desc']))
+ raise e
+
+ def fin():
+ log.info('Deleting user {}'.format(TEST_USER_DN))
+ topology.standalone.delete_s(TEST_USER_DN)
+ request.addfinalizer(fin)
+
+
+(a)pytest.fixture(scope="module")
+def password_policy(topology, test_user):
+ """Set up password policy for subtree and user"""
+
+ log.info('Enable fine-grained policy')
+ try:
+ topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE,
+ 'nsslapd-pwpolicy-local',
+ 'on')])
+ except ldap.LDAPError as e:
+ log.error('Failed to set fine-grained policy: error {}'.format(
+ e.message['desc']))
+ raise e
+
+ log.info('Create password policy for subtree {}'.format(OU_PEOPLE))
+ try:
+ subprocess.call(['ns-newpwpolicy.pl', '-D', DN_DM, '-w', PASSWORD,
+ '-p', str(PORT_STANDALONE), '-h', HOST_STANDALONE,
+ '-S', OU_PEOPLE, '-Z', SERVERID_STANDALONE])
+ except subprocess.CalledProcessError as e:
+ log.error('Failed to create pw policy policy for {}: error {}'.format(
+ OU_PEOPLE, e.message['desc']))
+ raise e
+
+ log.info('Add pwdpolicysubentry attribute to {}'.format(OU_PEOPLE))
+ try:
+ topology.standalone.modify_s(OU_PEOPLE, [(ldap.MOD_REPLACE,
+ 'pwdpolicysubentry',
+ PW_POLICY_CONT_PEOPLE)])
+ except ldap.LDAPError as e:
+ log.error('Failed to pwdpolicysubentry pw policy '\
+ 'policy for {}: error {}'.format(OU_PEOPLE,
+ e.message['desc']))
+ raise e
+
+ log.info('Create password policy for subtree {}'.format(TEST_USER_DN))
+ try:
+ subprocess.call(['ns-newpwpolicy.pl', '-D', DN_DM, '-w', PASSWORD,
+ '-p', str(PORT_STANDALONE), '-h', HOST_STANDALONE,
+ '-U', TEST_USER_DN, '-Z', SERVERID_STANDALONE])
+ except subprocess.CalledProcessError as e:
+ log.error('Failed to create pw policy policy for {}: error {}'.format(
+ TEST_USER_DN, e.message['desc']))
+ raise e
+
+ log.info('Add pwdpolicysubentry attribute to {}'.format(TEST_USER_DN))
+ try:
+ topology.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_REPLACE,
+ 'pwdpolicysubentry',
+ PW_POLICY_CONT_USER)])
+ except ldap.LDAPError as e:
+ log.error('Failed to pwdpolicysubentry pw policy '\
+ 'policy for {}: error {}'.format(TEST_USER_DN,
+ e.message['desc']))
+ raise e
+
+
+(a)pytest.mark.parametrize('subtree_pwchange,user_pwchange,exception',
+ [('off', 'on', None), ('on', 'on', None),
+ ('on', 'off', ldap.UNWILLING_TO_PERFORM),
+ ('off', 'off', ldap.UNWILLING_TO_PERFORM)])
+def test_change_pwd(topology, test_user, password_policy,
+ subtree_pwchange, user_pwchange, exception):
+ """Verify that 'passwordChange' attr works as expected
+ User should have a priority over a subtree.
+
+ :Feature: Password policy
+
+ :Setup: Standalone instance, test user,
+ password policy entries for a user and a subtree
+
+ :Steps: 1. Set passwordChange on the user and the subtree
+ to various combinations
+ 2. Bind as test user
+ 3. Try to change password
+
+ :Assert: Subtree/User passwordChange - result
+ off/on, on/on - success
+ on/off, off/off - UNWILLING_TO_PERFORM
+ """
+
+ log.info('Set passwordChange to "{}" - {}'.format(subtree_pwchange,
+ PW_POLICY_CONT_PEOPLE))
+ try:
+ topology.standalone.modify_s(PW_POLICY_CONT_PEOPLE, [(ldap.MOD_REPLACE,
+ 'passwordChange',
+ subtree_pwchange)])
+ except ldap.LDAPError as e:
+ log.error('Failed to set passwordChange '\
+ 'policy for {}: error {}'.format(PW_POLICY_CONT_PEOPLE,
+ e.message['desc']))
+ raise e
+
+
+ log.info('Set passwordChange to "{}" - {}'.format(user_pwchange,
+ PW_POLICY_CONT_USER))
+ try:
+ topology.standalone.modify_s(PW_POLICY_CONT_USER, [(ldap.MOD_REPLACE,
+ 'passwordChange',
+ user_pwchange)])
+ except ldap.LDAPError as e:
+ log.error('Failed to set passwordChange '\
+ 'policy for {}: error {}'.format(PW_POLICY_CONT_USER,
+ e.message['desc']))
+ raise e
+
+ try:
+ log.info('Bind as user and modify userPassword')
+ topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
+ if exception:
+ with pytest.raises(exception):
+ topology.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_REPLACE,
+ 'userPassword',
+ 'new_pass')])
+ else:
+ topology.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_REPLACE,
+ 'userPassword',
+ 'new_pass')])
+ except ldap.LDAPError as e:
+ log.error('Failed to change userpassword for {}: error {}'.format(
+ TEST_USER_DN, e.message['info']))
+ raise e
+ finally:
+ log.info('Bind as DM')
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.modify_s(TEST_USER_DN, [(ldap.MOD_REPLACE,
+ 'userPassword',
+ TEST_USER_PWD)])
+
+
+if __name__ == '__main__':
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
ldap/admin/src/scripts/remove-ds.pl.in | 4 ++++
ldap/servers/slapd/back-ldbm/ldif2ldbm.c | 9 ++++-----
2 files changed, 8 insertions(+), 5 deletions(-)
New commits:
commit 17dc978c84e6099e4abe884a535067147b618c37
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jul 27 14:37:13 2016 -0700
Ticket #48940 - DS logs have warning:ancestorid not indexed
Description: When reindexing, the subtree to be reindexed is empty,
a cryptic warning message is logged in the error log:
warning: ancestorid not indexed on 10; possibly, the entry id ##
has no descendants yet.
This message is benign and not to be logged as DEBUG_ANY/FATAL.
The message is logged when the log level is set to BACKLDBM = 0x080000
# vlvindex -Z test -n userRoot -T testIndex -d 524288
as follows:
Info: Entry id ### has no descendants according to ancestorid. Index
file created by this reindex will be empty.
https://fedorahosted.org/389/ticket/48940
Reviewed by wibrown(a)redhat.com (Thank you, William!!)
diff --git a/ldap/servers/slapd/back-ldbm/ldif2ldbm.c b/ldap/servers/slapd/back-ldbm/ldif2ldbm.c
index 52338c2..5898361 100644
--- a/ldap/servers/slapd/back-ldbm/ldif2ldbm.c
+++ b/ldap/servers/slapd/back-ldbm/ldif2ldbm.c
@@ -903,11 +903,10 @@ static IDList *ldbm_fetch_subtrees(backend *be, char **include, int *err)
slapi_sdn_done(&sdn);
if (idl == NULL) {
if (DB_NOTFOUND == *err) {
- LDAPDebug(LDAP_DEBUG_ANY,
- "warning: %s not indexed on %lu; "
- "possibly, the entry id %lu has no descendants yet.\n",
- entryrdn_get_noancestorid()?"entryrdn":"ancestorid",
- id, id);
+ LDAPDebug2Args(LDAP_DEBUG_BACKLDBM,
+ "Info: Entry id %lu has no descendants according to %s. "
+ "Index file created by this reindex will be empty.\n",
+ id, entryrdn_get_noancestorid()?"entryrdn":"ancestorid");
*err = 0; /* not a problem */
} else {
LDAPDebug(LDAP_DEBUG_ANY,
commit 2b341922a42f305122fbd6eb97e96e0612f8e5d2
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jul 27 12:40:25 2016 -0700
Ticket #48934 - remove-ds.pl deletes an instance even if wrong prefix was specified
Description: remove-ds.pl skipped to check "slapd" part of "slapd-instance".
This patch adds the check and if it is not "slapd", it quits with the error
message. For example:
Error: Invalid instance name "bogus-test"
https://fedorahosted.org/389/ticket/48934
Reviewed by mreynolds(a)redhat.com (Thanks, Mark!!)
diff --git a/ldap/admin/src/scripts/remove-ds.pl.in b/ldap/admin/src/scripts/remove-ds.pl.in
index b35ae32..252f3f9 100755
--- a/ldap/admin/src/scripts/remove-ds.pl.in
+++ b/ldap/admin/src/scripts/remove-ds.pl.in
@@ -52,6 +52,10 @@ unless ($inst) {
print STDERR "Full instance name must be specified (e.g. - slapd-example)\n";
exit 1;
}
+unless ($slapd eq "slapd") {
+ print STDERR "Error: Invalid instance name \"$instname\"\n";
+ exit 1;
+}
my @errs = removeDSInstance($inst, $force, $all, $initconfig_dir);
if (@errs) {
rpm/389-ds-base.spec.in | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit 0e4a9a6ea2000d0098df070f140957b3c6ab6398
Author: William Brown <firstyear(a)redhat.com>
Date: Wed Jul 27 10:05:31 2016 +1000
Ticket 48336 - Missing semanage dependency
Bug Description: On a clean install
Traceback (most recent call last):
File "/usr/sbin/ds_selinux_enabled", line 17, in <module>
import semanage
ImportError: No module named semanage
Fix Description: Add the proper dependency to the rpm so that we are not
missing the module.
https://fedorahosted.org/389/ticket/48336
Author: wibrown
Review by: mreynolds (Thanks!)
diff --git a/rpm/389-ds-base.spec.in b/rpm/389-ds-base.spec.in
index 0924cb5..33bf470 100644
--- a/rpm/389-ds-base.spec.in
+++ b/rpm/389-ds-base.spec.in
@@ -90,6 +90,9 @@ BuildRequires: libasan
# this is needed for using semanage from our setup scripts
Requires: policycoreutils-python
+# This is needed for our future move to python selinux interaction.
+Requires: libsemanage-python
+
# the following are needed for some of our scripts
%if %{use_openldap}
Requires: openldap-clients
dirsrvtests/tests/tickets/ticket1347760_test.py | 23 +++++++++++
ldap/servers/slapd/bind.c | 49 +++++++++++-------------
ldap/servers/slapd/saslbind.c | 4 -
3 files changed, 48 insertions(+), 28 deletions(-)
New commits:
commit 06876946f77436f71013392becb0fb9d9e4111f6
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Fri Jul 22 17:11:48 2016 -0700
Bug 1347760 - Additional CI test case
Description: Information disclosure via repeated use of LDAP ADD operation, etc.
Case 1. When an account is inactivated, if a bind is successful (e.g.,
a correct password is given), it returns UNWILLING_TO_PERFORM.
Case 2. When an account is inactivated, if a bind is not successful,
it returns INVALID_CREDENTIALS.
diff --git a/dirsrvtests/tests/tickets/ticket1347760_test.py b/dirsrvtests/tests/tickets/ticket1347760_test.py
index bf03563..a54aea1 100644
--- a/dirsrvtests/tests/tickets/ticket1347760_test.py
+++ b/dirsrvtests/tests/tickets/ticket1347760_test.py
@@ -12,6 +12,8 @@ import time
import ldap
import logging
import pytest
+
+from subprocess import Popen
from lib389 import DirSrv, Entry, tools, tasks
from lib389.tools import DirSrvTools
from lib389._constants import *
@@ -434,6 +436,27 @@ def test_ticket1347760(topology):
log.info('Delete case. the deleting entry does not exist, it should fail with %s' % rc.__name__)
check_op_result(topology.standalone, 'delete', BOGUSDN, None, exists, rc)
+ log.info('Inactivate %s' % BINDDN)
+ nsinactivate = '%s/sbin/ns-inactivate.pl' % topology.standalone.prefix
+ p = Popen([nsinactivate, '-Z', 'standalone', '-D', DN_DM, '-w', PASSWORD, '-I', BINDDN])
+ assert(p.wait() == 0)
+
+ log.info('Bind as {%s,%s} which should fail with %s.' % (BINDDN, BUID, ldap.UNWILLING_TO_PERFORM.__name__))
+ try:
+ topology.standalone.simple_bind_s(BINDDN, BUID)
+ except ldap.LDAPError as e:
+ log.info("Exception (expected): %s" % type(e).__name__)
+ log.info('Desc ' + e.message['desc'])
+ assert isinstance(e, ldap.UNWILLING_TO_PERFORM)
+
+ log.info('Bind as {%s,%s} which should fail with %s.' % (BINDDN, 'bogus', ldap.INVALID_CREDENTIALS.__name__))
+ try:
+ topology.standalone.simple_bind_s(BINDDN, 'bogus')
+ except ldap.LDAPError as e:
+ log.info("Exception (expected): %s" % type(e).__name__)
+ log.info('Desc ' + e.message['desc'])
+ assert isinstance(e, ldap.INVALID_CREDENTIALS)
+
log.info('SUCCESS')
commit b8767d510d11c7cbfede24daaae3348b9f028f47
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jul 26 18:08:38 2016 -0700
Bug 1347760 - CVE-2016-4992 389-ds-base: Information disclosure via repeated use of LDAP ADD operation, etc.
Description:
1. When an account is inactivated, the error UNWILLING_TO_PERFORM with
the inactivated message should be returned only when the bind is
successful.
2. When SASL bind fails, instead of returning the cause of the failure
directly to the client, but logging it in the access log.
https://bugzilla.redhat.com/show_bug.cgi?id=1347760
Reviewed by wibrown(a)redhat.com (Thank you, William!)
diff --git a/ldap/servers/slapd/bind.c b/ldap/servers/slapd/bind.c
index 702d4c2..c271577 100644
--- a/ldap/servers/slapd/bind.c
+++ b/ldap/servers/slapd/bind.c
@@ -720,25 +720,6 @@ do_bind( Slapi_PBlock *pb )
}
}
}
-
- /*
- * Is this account locked ?
- * could be locked through the account inactivation
- * or by the password policy
- *
- * rc=0: account not locked
- * rc=1: account locked, can not bind, result has been sent
- * rc!=0 and rc!=1: error. Result was not sent, lets be_bind
- * deal with it.
- *
- */
-
- /* get the entry now, so that we can give it to slapi_check_account_lock and reslimit_update_from_dn */
- if (! slapi_be_is_flag_set(be, SLAPI_BE_FLAG_REMOTE_DATA)) {
- bind_target_entry = get_entry(pb, slapi_sdn_get_ndn(sdn));
- rc = slapi_check_account_lock ( pb, bind_target_entry, pw_response_requested, 1, 1);
- }
-
slapi_pblock_set( pb, SLAPI_PLUGIN, be->be_database );
set_db_default_result_handlers(pb);
if ( (rc != 1) &&
@@ -777,6 +758,28 @@ do_bind( Slapi_PBlock *pb )
if ( rc == SLAPI_BIND_SUCCESS ) {
int myrc = 0;
+ /*
+ * The bind is successful.
+ * We can give it to slapi_check_account_lock and reslimit_update_from_dn.
+ */
+ /*
+ * Is this account locked ?
+ * could be locked through the account inactivation
+ * or by the password policy
+ *
+ * rc=0: account not locked
+ * rc=1: account locked, can not bind, result has been sent
+ * rc!=0 and rc!=1: error. Result was not sent, lets be_bind
+ * deal with it.
+ *
+ */
+ if (!slapi_be_is_flag_set(be, SLAPI_BE_FLAG_REMOTE_DATA)) {
+ bind_target_entry = get_entry(pb, slapi_sdn_get_ndn(sdn));
+ rc = slapi_check_account_lock(pb, bind_target_entry, pw_response_requested, 1, 1);
+ if (1 == rc) { /* account is locked */
+ goto account_locked;
+ }
+ }
if (!auto_bind) {
/*
* There could be a race that bind_target_entry was not added
@@ -787,13 +790,7 @@ do_bind( Slapi_PBlock *pb )
if (!slapi_be_is_flag_set(be, SLAPI_BE_FLAG_REMOTE_DATA) &&
!bind_target_entry) {
bind_target_entry = get_entry(pb, slapi_sdn_get_ndn(sdn));
- if (bind_target_entry) {
- myrc = slapi_check_account_lock(pb, bind_target_entry,
- pw_response_requested, 1, 1);
- if (1 == myrc) { /* account is locked */
- goto account_locked;
- }
- } else {
+ if (!bind_target_entry) {
slapi_pblock_set(pb, SLAPI_PB_RESULT_TEXT, "No such entry");
send_ldap_result(pb, LDAP_INVALID_CREDENTIALS, NULL, "", 0, NULL);
goto free_and_return;
diff --git a/ldap/servers/slapd/saslbind.c b/ldap/servers/slapd/saslbind.c
index 37175f4..742987e 100644
--- a/ldap/servers/slapd/saslbind.c
+++ b/ldap/servers/slapd/saslbind.c
@@ -1051,8 +1051,8 @@ sasl_check_result:
errstr = sasl_errdetail(sasl_conn);
PR_ExitMonitor(pb->pb_conn->c_mutex); /* BIG LOCK */
- send_ldap_result(pb, LDAP_INVALID_CREDENTIALS, NULL,
- (char*)errstr, 0, NULL);
+ slapi_pblock_set(pb, SLAPI_PB_RESULT_TEXT, (void *)errstr);
+ send_ldap_result(pb, LDAP_INVALID_CREDENTIALS, NULL, NULL, 0, NULL);
break;
}
ldap/servers/slapd/detach.c | 45 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 41 insertions(+), 4 deletions(-)
New commits:
commit 70d06dab96468e0c6712482186f22de8e2c33e17
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jul 27 11:23:17 2016 -0700
Ticket #48939 - nsslapd-workingdir is empty when ns-slapd is started by systemd
Description: Thanks to tbordaz(a)redhat.com for suggesting to reset the
working dir in the error cases. I've added more error checks and
resetting the nsslapd-workingdir values.
https://fedorahosted.org/389/ticket/48939
Reviewed by mreynolds(a)redhat.com (Thank you, Mark!!)
diff --git a/ldap/servers/slapd/detach.c b/ldap/servers/slapd/detach.c
index cd13a99..2f5667f 100644
--- a/ldap/servers/slapd/detach.c
+++ b/ldap/servers/slapd/detach.c
@@ -59,14 +59,41 @@ set_workingdir()
errorlog = config_get_errorlog();
if (NULL == errorlog) {
rc = chdir("/");
+ if (0 == rc) {
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, "/", errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ }
+ } else {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", "/");
+ }
} else {
ptr = strrchr(errorlog, '/');
if (ptr) {
*ptr = '\0';
}
rc = chdir(errorlog);
- if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, errorlog, errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
- LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ if (0 == rc) {
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, errorlog, errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ rc = chdir("/");
+ if (0 == rc) {
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, "/", errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ }
+ } else {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", "/");
+ }
+ }
+ } else {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", errorlog);
+ rc = chdir("/");
+ if (0 == rc) {
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, "/", errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ }
+ } else {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", "/");
+ }
}
slapi_ch_free_string(&errorlog);
}
@@ -75,8 +102,18 @@ set_workingdir()
if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, workingdir, errorbuf, 0) == LDAP_OPERATIONS_ERROR) {
LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
rc = chdir("/");
+ if (0 == rc) {
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, "/", errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ }
+ } else {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", "/");
+ }
} else {
rc = chdir(workingdir);
+ if (rc) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: failed to chdir to %s\n", workingdir);
+ }
}
slapi_ch_free_string(&workingdir);
}
@@ -115,7 +152,7 @@ detach( int slapd_exemode, int importexport_encrypt,
}
if (set_workingdir()) {
- LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: chdir to workingdir failed.\n");
+ LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: set_workingdir failed.\n");
}
if ( (sd = open( "/dev/null", O_RDWR )) == -1 ) {
@@ -142,7 +179,7 @@ detach( int slapd_exemode, int importexport_encrypt,
return 1;
}
if (set_workingdir()) {
- LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: chdir to workingdir failed.\n");
+ LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: set_workingdir failed.\n");
}
}
dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py | 15 --
dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py | 15 --
dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py | 15 --
dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py | 15 --
dirsrvtests/tests/suites/automember_plugin/automember_test.py | 15 --
dirsrvtests/tests/suites/betxns/betxn_test.py | 18 --
dirsrvtests/tests/suites/chaining_plugin/chaining_test.py | 15 --
dirsrvtests/tests/suites/clu/clu_test.py | 19 ---
dirsrvtests/tests/suites/clu/db2ldif_test.py | 22 ---
dirsrvtests/tests/suites/collation_plugin/collatation_test.py | 20 ---
dirsrvtests/tests/suites/cos_plugin/cos_test.py | 15 --
dirsrvtests/tests/suites/deref_plugin/deref_test.py | 15 --
dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py | 15 --
dirsrvtests/tests/suites/distrib_plugin/distrib_test.py | 15 --
dirsrvtests/tests/suites/dna_plugin/dna_test.py | 15 --
dirsrvtests/tests/suites/ds_logs/ds_logs_test.py | 15 --
dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py | 22 ---
dirsrvtests/tests/suites/filter/filter_test.py | 17 --
dirsrvtests/tests/suites/get_effective_rights/ger_test.py | 15 --
dirsrvtests/tests/suites/ldapi/__init__.py | 1
dirsrvtests/tests/suites/ldapi/ldapi_test.py | 15 --
dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py | 15 --
dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py | 15 --
dirsrvtests/tests/suites/monitor/monitor_test.py | 15 --
dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py | 15 --
dirsrvtests/tests/suites/passthru_plugin/passthru_test.py | 15 --
dirsrvtests/tests/suites/password/password_test.py | 15 --
dirsrvtests/tests/suites/password/pwdAdmin_test.py | 16 --
dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py | 15 --
dirsrvtests/tests/suites/psearch/psearch_test.py | 15 --
dirsrvtests/tests/suites/referint_plugin/referint_test.py | 15 --
dirsrvtests/tests/suites/replication/cleanallruv_test.py | 34 +----
dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py | 1
dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py | 15 --
dirsrvtests/tests/suites/resource_limits/res_limits_test.py | 15 --
dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py | 15 --
dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py | 15 --
dirsrvtests/tests/suites/roles_plugin/roles_test.py | 15 --
dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py | 36 ++---
dirsrvtests/tests/suites/sasl/sasl_test.py | 14 --
dirsrvtests/tests/suites/schema/test_schema.py | 21 ---
dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py | 15 --
dirsrvtests/tests/suites/snmp/snmp_test.py | 15 --
dirsrvtests/tests/suites/ssl/ssl_test.py | 15 --
dirsrvtests/tests/suites/syntax_plugin/syntax_test.py | 15 --
dirsrvtests/tests/suites/usn_plugin/usn_test.py | 15 --
dirsrvtests/tests/suites/views_plugin/views_test.py | 14 --
dirsrvtests/tests/suites/vlv/vlv_test.py | 15 --
dirsrvtests/tests/suites/whoami_plugin/whoami_test.py | 15 --
dirsrvtests/tests/tickets/ticket1347760_test.py | 2
dirsrvtests/tests/tickets/ticket142_test.py | 2
dirsrvtests/tests/tickets/ticket47313_test.py | 20 ---
dirsrvtests/tests/tickets/ticket47431_test.py | 28 +---
dirsrvtests/tests/tickets/ticket47490_test.py | 37 ------
dirsrvtests/tests/tickets/ticket47560_test.py | 23 ---
dirsrvtests/tests/tickets/ticket47573_test.py | 27 ----
dirsrvtests/tests/tickets/ticket47619_test.py | 36 -----
dirsrvtests/tests/tickets/ticket47640_test.py | 19 ---
dirsrvtests/tests/tickets/ticket47653MMR_test.py | 31 -----
dirsrvtests/tests/tickets/ticket47653_test.py | 32 -----
dirsrvtests/tests/tickets/ticket47669_test.py | 29 ----
dirsrvtests/tests/tickets/ticket47676_test.py | 33 -----
dirsrvtests/tests/tickets/ticket47714_test.py | 30 ----
dirsrvtests/tests/tickets/ticket47721_test.py | 35 -----
dirsrvtests/tests/tickets/ticket47781_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47787_test.py | 32 -----
dirsrvtests/tests/tickets/ticket47808_test.py | 26 ----
dirsrvtests/tests/tickets/ticket47815_test.py | 24 ---
dirsrvtests/tests/tickets/ticket47819_test.py | 24 ---
dirsrvtests/tests/tickets/ticket47823_test.py | 47 -------
dirsrvtests/tests/tickets/ticket47828_test.py | 61 ----------
dirsrvtests/tests/tickets/ticket47829_test.py | 49 --------
dirsrvtests/tests/tickets/ticket47833_test.py | 19 ---
dirsrvtests/tests/tickets/ticket47838_test.py | 44 -------
dirsrvtests/tests/tickets/ticket47869MMR_test.py | 31 -----
dirsrvtests/tests/tickets/ticket47871_test.py | 28 ----
dirsrvtests/tests/tickets/ticket47900_test.py | 24 ---
dirsrvtests/tests/tickets/ticket47920_test.py | 26 ----
dirsrvtests/tests/tickets/ticket47921_test.py | 19 ---
dirsrvtests/tests/tickets/ticket47927_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47937_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47950_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47953_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47963_test.py | 19 ---
dirsrvtests/tests/tickets/ticket47966_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47970_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47973_test.py | 30 ----
dirsrvtests/tests/tickets/ticket47980_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47981_test.py | 25 ----
dirsrvtests/tests/tickets/ticket47988_test.py | 33 -----
dirsrvtests/tests/tickets/ticket48005_test.py | 29 ----
dirsrvtests/tests/tickets/ticket48013_test.py | 27 ----
dirsrvtests/tests/tickets/ticket48026_test.py | 23 ---
dirsrvtests/tests/tickets/ticket48170_test.py | 19 ---
dirsrvtests/tests/tickets/ticket48194_test.py | 6
dirsrvtests/tests/tickets/ticket48212_test.py | 1
dirsrvtests/tests/tickets/ticket48214_test.py | 28 ----
dirsrvtests/tests/tickets/ticket48226_test.py | 2
dirsrvtests/tests/tickets/ticket48228_test.py | 31 -----
dirsrvtests/tests/tickets/ticket48252_test.py | 33 -----
dirsrvtests/tests/tickets/ticket48265_test.py | 35 -----
dirsrvtests/tests/tickets/ticket48266_test.py | 8 -
dirsrvtests/tests/tickets/ticket48270_test.py | 24 ---
dirsrvtests/tests/tickets/ticket48294_test.py | 25 ----
dirsrvtests/tests/tickets/ticket48295_test.py | 23 ---
dirsrvtests/tests/tickets/ticket48342_test.py | 14 --
dirsrvtests/tests/tickets/ticket48362_test.py | 1
dirsrvtests/tests/tickets/ticket48366_test.py | 30 ----
dirsrvtests/tests/tickets/ticket48369_test.py | 2
dirsrvtests/tests/tickets/ticket48383_test.py | 1
dirsrvtests/tests/tickets/ticket48497_test.py | 41 +-----
dirsrvtests/tests/tickets/ticket48637_test.py | 1
dirsrvtests/tests/tickets/ticket48665_test.py | 1
dirsrvtests/tests/tickets/ticket48745_test.py | 13 --
dirsrvtests/tests/tickets/ticket48746_test.py | 21 ---
dirsrvtests/tests/tickets/ticket48755_test.py | 7 -
dirsrvtests/tests/tickets/ticket48759_test.py | 25 ----
dirsrvtests/tests/tickets/ticket48784_test.py | 3
dirsrvtests/tests/tickets/ticket48799_test.py | 6
dirsrvtests/tests/tickets/ticket48844_test.py | 4
dirsrvtests/tests/tickets/ticket48891_test.py | 43 +------
dirsrvtests/tests/tickets/ticket48916_test.py | 6
122 files changed, 491 insertions(+), 1967 deletions(-)
New commits:
commit 7a92bcfbf3c6e4f04f4e218764cde7ef09eda99c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jul 26 21:22:26 2016 -0400
Ticket 48832 - CI tests - convert all the tests to use
py.test
Description: Made sure all the tests use py.test instead of isolated run
functions. Also made some more fixes to a few tests.
https://fedorahosted.org/389/ticket/48832
Reviewed by: nhosoi(Thanks!)
diff --git a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
index 38b78c2..b7ac869 100644
--- a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
+++ b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
@@ -77,15 +77,8 @@ def test_acct_usability_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_acct_usability_init(topo)
- test_acct_usability_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
index 6404360..14c6851 100644
--- a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
+++ b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
@@ -74,15 +74,8 @@ def test_acctpolicy_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_acctpolicy_init(topo)
- test_acctpolicy_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
index 9b704d6..6116aed 100644
--- a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
+++ b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
@@ -77,15 +77,8 @@ def test_attr_encrypt_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_attr_encrypt_init(topo)
- test_attr_encrypt_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
index 9786210..6550f43 100644
--- a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
+++ b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
@@ -229,15 +229,8 @@ def test_attr_uniqueness(topology):
log.info('test_attr_uniqueness: PASS\n')
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_attr_uniqueness_init(topo)
- test_attr_uniqueness(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/automember_plugin/automember_test.py b/dirsrvtests/tests/suites/automember_plugin/automember_test.py
index 940dd7f..f3a1113 100644
--- a/dirsrvtests/tests/suites/automember_plugin/automember_test.py
+++ b/dirsrvtests/tests/suites/automember_plugin/automember_test.py
@@ -77,15 +77,8 @@ def test_automember_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_automember_init(topo)
- test_automember_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/betxns/betxn_test.py b/dirsrvtests/tests/suites/betxns/betxn_test.py
index 97c1725..aa688de 100644
--- a/dirsrvtests/tests/suites/betxns/betxn_test.py
+++ b/dirsrvtests/tests/suites/betxns/betxn_test.py
@@ -233,21 +233,11 @@ def test_betxn_memberof(topology):
#
# Done
#
-
log.info('test_betxn_memberof: PASSED')
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_betxn_init(topo)
- test_betxt_7bit(topo)
- test_betxn_attr_uniqueness(topo)
- test_betxn_memberof(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
index fe00ce0..dc7807b 100644
--- a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
+++ b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
@@ -74,15 +74,8 @@ def test_chaining_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_chaining_init(topo)
- test_chaining_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/clu/clu_test.py b/dirsrvtests/tests/suites/clu/clu_test.py
index 824fa74..231b011 100644
--- a/dirsrvtests/tests/suites/clu/clu_test.py
+++ b/dirsrvtests/tests/suites/clu/clu_test.py
@@ -90,19 +90,8 @@ def test_clu_pwdhash(topology):
log.info('test_clu_pwdhash: PASSED')
-def run_isolated():
- '''
- This test is for the simple scripts that don't have a lot of options or
- points of failure. Scripts that do, should have their own individual tests.
- '''
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_clu_init(topo)
- test_clu_pwdhash(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/clu/db2ldif_test.py b/dirsrvtests/tests/suites/clu/db2ldif_test.py
index 3769dc4..be4405a 100644
--- a/dirsrvtests/tests/suites/clu/db2ldif_test.py
+++ b/dirsrvtests/tests/suites/clu/db2ldif_test.py
@@ -65,22 +65,8 @@ def test_db2ldif_init(topology):
return
-def run_isolated():
- '''
- Test db2lidf/db2ldif.pl - test/stress functionality, all the command line options,
- valid/invalid option combinations, etc, etc.
- '''
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_db2ldif_init(topo)
-
- # test 1 function...
- # test 2 function...
- # ...
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
index b941c8e..d915165 100644
--- a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
+++ b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
@@ -74,20 +74,8 @@ def test_collatation_(topology):
return
-def test_collatation_final(topology):
- log.info('collatation test suite PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_collatation_init(topo)
- test_collatation_(topo)
- test_collatation_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/cos_plugin/cos_test.py b/dirsrvtests/tests/suites/cos_plugin/cos_test.py
index 2e0355f..f06b9d4 100644
--- a/dirsrvtests/tests/suites/cos_plugin/cos_test.py
+++ b/dirsrvtests/tests/suites/cos_plugin/cos_test.py
@@ -74,15 +74,8 @@ def test_cos_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_cos_init(topo)
- test_cos_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/deref_plugin/deref_test.py b/dirsrvtests/tests/suites/deref_plugin/deref_test.py
index d0200de..0153932 100644
--- a/dirsrvtests/tests/suites/deref_plugin/deref_test.py
+++ b/dirsrvtests/tests/suites/deref_plugin/deref_test.py
@@ -74,15 +74,8 @@ def test_deref_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_deref_init(topo)
- test_deref_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
index 5e9a137..8930ebd 100644
--- a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
+++ b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
@@ -74,15 +74,8 @@ def test_disk_monitor_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_disk_monitor_init(topo)
- test_disk_monitor_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
index 69ce344..101d65c 100644
--- a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
+++ b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
@@ -74,15 +74,8 @@ def test_distrib_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_distrib_init(topo)
- test_distrib_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/dna_plugin/dna_test.py b/dirsrvtests/tests/suites/dna_plugin/dna_test.py
index e6fb745..18b871b 100644
--- a/dirsrvtests/tests/suites/dna_plugin/dna_test.py
+++ b/dirsrvtests/tests/suites/dna_plugin/dna_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -222,13 +222,8 @@ def test_dna_(topology):
return
-def run_isolated():
- topo = topology(True)
- test_dna_init(topo)
- test_dna_(topo)
- test_dna_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
index 5c07e0f..1f6862d 100644
--- a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
+++ b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
@@ -74,15 +74,8 @@ def test_ds_logs_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ds_logs_init(topo)
- test_ds_logs_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
index 3b40488..fa980ec 100644
--- a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
+++ b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
@@ -391,7 +391,7 @@ def test_dynamic_plugins(topology):
# Loop on the consumer - waiting for it to catch up
count = 0
insync = False
- while count < 10:
+ while count < 60:
try:
# Grab master's max CSN
entry = replica_inst.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, RUV_FILTER)
@@ -473,20 +473,8 @@ def test_dynamic_plugins(topology):
log.info('#####################################################\n')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_dynamic_plugins(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/filter/filter_test.py b/dirsrvtests/tests/suites/filter/filter_test.py
index 7b1d19c..1601c23 100644
--- a/dirsrvtests/tests/suites/filter/filter_test.py
+++ b/dirsrvtests/tests/suites/filter/filter_test.py
@@ -130,17 +130,8 @@ def test_filter_search_original_attrs(topology):
log.info('test_filter_search_original_attrs: PASSED')
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
-
- test_filter_init(topo)
- test_filter_escaped(topo)
- test_filter_search_original_attrs(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
index 561d18e..57c97c3 100644
--- a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
+++ b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
@@ -74,15 +74,8 @@ def test_ger_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ger_init(topo)
- test_ger_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/ldapi/__init__.py b/dirsrvtests/tests/suites/ldapi/__init__.py
index e69de29..40a96af 100644
--- a/dirsrvtests/tests/suites/ldapi/__init__.py
+++ b/dirsrvtests/tests/suites/ldapi/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/dirsrvtests/tests/suites/ldapi/ldapi_test.py b/dirsrvtests/tests/suites/ldapi/ldapi_test.py
index e6eb477..2c30fc0 100644
--- a/dirsrvtests/tests/suites/ldapi/ldapi_test.py
+++ b/dirsrvtests/tests/suites/ldapi/ldapi_test.py
@@ -74,15 +74,8 @@ def test_ldapi_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ldapi_init(topo)
- test_ldapi_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
index 35f5bde..461da3f 100644
--- a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
+++ b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
@@ -74,15 +74,8 @@ def test_linked_attrs_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_linked_attrs_init(topo)
- test_linked_attrs_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
index 3d432fe..d7a436b 100644
--- a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
+++ b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
@@ -74,15 +74,8 @@ def test_mapping_tree_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_mapping_tree_init(topo)
- test_mapping_tree_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/monitor/monitor_test.py b/dirsrvtests/tests/suites/monitor/monitor_test.py
index 0e40751..c1fc303 100644
--- a/dirsrvtests/tests/suites/monitor/monitor_test.py
+++ b/dirsrvtests/tests/suites/monitor/monitor_test.py
@@ -74,15 +74,8 @@ def test_monitor_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_monitor_init(topo)
- test_monitor_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
index 63b162c..9ff4261 100644
--- a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
+++ b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
@@ -74,15 +74,8 @@ def test_pam_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_pam_init(topo)
- test_pam_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
index 503a4e0..956d414 100644
--- a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
+++ b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
@@ -74,15 +74,8 @@ def test_passthru_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_passthru_init(topo)
- test_passthru_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/password/password_test.py b/dirsrvtests/tests/suites/password/password_test.py
index 05fe990..3781492 100644
--- a/dirsrvtests/tests/suites/password/password_test.py
+++ b/dirsrvtests/tests/suites/password/password_test.py
@@ -124,15 +124,8 @@ def test_password_delete_specific_password(topology):
log.info('test_password_delete_specific_password: PASSED')
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_password_init(topo)
- test_password_delete_specific_password(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/password/pwdAdmin_test.py b/dirsrvtests/tests/suites/password/pwdAdmin_test.py
index 10db5b3..dc8fdab 100644
--- a/dirsrvtests/tests/suites/password/pwdAdmin_test.py
+++ b/dirsrvtests/tests/suites/password/pwdAdmin_test.py
@@ -427,16 +427,8 @@ def test_pwdAdmin_config_validation(topology):
e.message['desc'])
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_pwdAdmin_init(topo)
- test_pwdAdmin(topo)
- test_pwdAdmin_config_validation(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
index eaf7bc0..1c1a993 100644
--- a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
+++ b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
@@ -74,15 +74,8 @@ def test_posix_winsync_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_posix_winsync_init(topo)
- test_posix_winsync_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/psearch/psearch_test.py b/dirsrvtests/tests/suites/psearch/psearch_test.py
index 20ae78c..f78e19e 100644
--- a/dirsrvtests/tests/suites/psearch/psearch_test.py
+++ b/dirsrvtests/tests/suites/psearch/psearch_test.py
@@ -74,15 +74,8 @@ def test_psearch_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_psearch_init(topo)
- test_psearch_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/referint_plugin/referint_test.py b/dirsrvtests/tests/suites/referint_plugin/referint_test.py
index 07d5841..ded1622 100644
--- a/dirsrvtests/tests/suites/referint_plugin/referint_test.py
+++ b/dirsrvtests/tests/suites/referint_plugin/referint_test.py
@@ -74,15 +74,8 @@ def test_referint_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_referint_init(topo)
- test_referint_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/replication/cleanallruv_test.py b/dirsrvtests/tests/suites/replication/cleanallruv_test.py
index 7a2040d..e1518bd 100644
--- a/dirsrvtests/tests/suites/replication/cleanallruv_test.py
+++ b/dirsrvtests/tests/suites/replication/cleanallruv_test.py
@@ -173,7 +173,7 @@ def check_ruvs(msg, topology):
return clean
-def task_done(topology, task_dn, timeout=10):
+def task_done(topology, task_dn, timeout=60):
"""Check if the task is complete"""
attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
'nsTaskCurrentItem', 'nsTaskTotalItems']
@@ -813,7 +813,7 @@ def test_cleanallruv_clean_force(topology):
assert False
# Start master 3, it should be out of sync with the other replicas...
- topology.master3.start(timeout=10)
+ topology.master3.start(timeout=30)
# Remove the agreements from the other masters that point to master 4
remove_master4_agmts("test_cleanallruv_clean_force", topology)
@@ -871,7 +871,7 @@ def test_cleanallruv_abort(topology):
# Stop master 2
log.info('test_cleanallruv_abort: stop master 2 to freeze the cleanAllRUV task...')
- topology.master2.stop(timeout=10)
+ topology.master2.stop(timeout=30)
# Run the task
log.info('test_cleanallruv_abort: add the cleanAllRUV task...')
@@ -904,7 +904,7 @@ def test_cleanallruv_abort(topology):
# Start master 2
log.info('test_cleanallruv_abort: start master 2 to begin the restore process...')
- topology.master2.start(timeout=10)
+ topology.master2.start(timeout=30)
#
# Now run the clean task task again to we can properly restore master 4
@@ -1204,26 +1204,8 @@ def test_cleanallruv_stress_clean(topology):
restore_master4(topology)
-def test_cleanallruv_final(topology):
- log.info('cleanAllRUV test suite PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
- topo = topology(True)
-
- test_cleanallruv_init(topo)
- test_cleanallruv_clean(topo)
- test_cleanallruv_clean_restart(topo)
- test_cleanallruv_clean_force(topo)
- test_cleanallruv_abort(topo)
- test_cleanallruv_abort_restart(topo)
- test_cleanallruv_abort_certify(topo)
- test_cleanallruv_stress_clean(topo)
- test_cleanallruv_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
index b0da0eb..02c27b9 100644
--- a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
+++ b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
@@ -19,6 +19,7 @@ installation1_prefix = None
WAITFOR_ASYNC_ATTR = "nsDS5ReplicaWaitForAsyncResults"
+
class TopologyReplication(object):
def __init__(self, master1, master2, m1_m2_agmt, m2_m1_agmt):
master1.open()
diff --git a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
index 5d8a530..fc3a559 100644
--- a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
+++ b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
@@ -74,15 +74,8 @@ def test_repl_sync_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_repl_sync_init(topo)
- test_repl_sync_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
index 233d2ca..e904bbf 100644
--- a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
+++ b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
@@ -74,15 +74,8 @@ def test_res_limits_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_res_limits_init(topo)
- test_res_limits_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
index 0a36c48..d1419fa 100644
--- a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
+++ b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
@@ -74,15 +74,8 @@ def test_retrocl_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_retrocl_init(topo)
- test_retrocl_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
index c626660..b5b978b 100644
--- a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
+++ b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
@@ -74,15 +74,8 @@ def test_reverpwd_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_reverpwd_init(topo)
- test_reverpwd_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/roles_plugin/roles_test.py b/dirsrvtests/tests/suites/roles_plugin/roles_test.py
index 1f1a765..2a5ea23 100644
--- a/dirsrvtests/tests/suites/roles_plugin/roles_test.py
+++ b/dirsrvtests/tests/suites/roles_plugin/roles_test.py
@@ -74,15 +74,8 @@ def test_roles_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_roles_init(topo)
- test_roles_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
index 03bda25..7ba20cb 100644
--- a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
+++ b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
@@ -12,6 +12,7 @@ import time
import ldap
import logging
import pytest
+import socket
from lib389 import DirSrv, Entry, tools, tasks
from lib389.tools import DirSrvTools
from lib389._constants import *
@@ -302,8 +303,12 @@ def test_rootdn_access_denied_ip(topology):
log.info('Running test_rootdn_access_denied_ip...')
try:
- topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE, 'rootdn-deny-ip', '127.0.0.1'),
- (ldap.MOD_ADD, 'rootdn-deny-ip', '::1')])
+ topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_REPLACE,
+ 'rootdn-deny-ip',
+ '127.0.0.1'),
+ (ldap.MOD_ADD,
+ 'rootdn-deny-ip',
+ '::1')])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_ip: Failed to set rootDN plugin config: error ' +
e.message['desc'])
@@ -371,9 +376,11 @@ def test_rootdn_access_denied_host(topology):
'''
log.info('Running test_rootdn_access_denied_host...')
-
+ hostname = socket.gethostname()
try:
- topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD, 'rootdn-deny-host', 'localhost.localdomain')])
+ topology.standalone.modify_s(PLUGIN_DN, [(ldap.MOD_ADD,
+ 'rootdn-deny-host',
+ hostname)])
except ldap.LDAPError as e:
log.fatal('test_rootdn_access_denied_host: Failed to set deny host: error ' +
e.message['desc'])
@@ -760,21 +767,8 @@ def test_rootdn_config_validate(topology):
log.info('test_rootdn_config_validate: PASSED')
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_rootdn_init(topo)
- test_rootdn_access_specific_time(topo)
- test_rootdn_access_day_of_week(topo)
- test_rootdn_access_allowed_ip(topo)
- test_rootdn_access_denied_ip(topo)
- test_rootdn_access_allowed_host(topo)
- test_rootdn_access_denied_host(topo)
- test_rootdn_config_validate(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/sasl/sasl_test.py b/dirsrvtests/tests/suites/sasl/sasl_test.py
index a207a90..589e960 100644
--- a/dirsrvtests/tests/suites/sasl/sasl_test.py
+++ b/dirsrvtests/tests/suites/sasl/sasl_test.py
@@ -74,14 +74,8 @@ def test_sasl_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_sasl_init(topo)
- test_sasl_(topo)
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/schema/test_schema.py b/dirsrvtests/tests/suites/schema/test_schema.py
index 1c0ec05..2d4140d 100644
--- a/dirsrvtests/tests/suites/schema/test_schema.py
+++ b/dirsrvtests/tests/suites/schema/test_schema.py
@@ -206,21 +206,8 @@ def test_schema_comparewithfiles(topology):
log.info('test_schema_comparewithfiles: PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = os.environ.get('PREFIX')
-
- topo = topology(True)
- test_schema_comparewithfiles(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
index cd1e396..878c7f9 100644
--- a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
+++ b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
@@ -74,15 +74,8 @@ def test_schema_reload_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_schema_reload_init(topo)
- test_schema_reload_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/snmp/snmp_test.py b/dirsrvtests/tests/suites/snmp/snmp_test.py
index 7cbaf28..a30b626 100644
--- a/dirsrvtests/tests/suites/snmp/snmp_test.py
+++ b/dirsrvtests/tests/suites/snmp/snmp_test.py
@@ -74,15 +74,8 @@ def test_snmp_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_snmp_init(topo)
- test_snmp_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/ssl/ssl_test.py b/dirsrvtests/tests/suites/ssl/ssl_test.py
index ef3261f..42738de 100644
--- a/dirsrvtests/tests/suites/ssl/ssl_test.py
+++ b/dirsrvtests/tests/suites/ssl/ssl_test.py
@@ -74,15 +74,8 @@ def test_ssl_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ssl_init(topo)
- test_ssl_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
index 1ef24c2..91d2e55 100644
--- a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
+++ b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
@@ -74,15 +74,8 @@ def test_syntax_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_syntax_init(topo)
- test_syntax_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/usn_plugin/usn_test.py b/dirsrvtests/tests/suites/usn_plugin/usn_test.py
index 6ecbdf8..2e81672 100644
--- a/dirsrvtests/tests/suites/usn_plugin/usn_test.py
+++ b/dirsrvtests/tests/suites/usn_plugin/usn_test.py
@@ -74,15 +74,8 @@ def test_usn_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_usn_init(topo)
- test_usn_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/views_plugin/views_test.py b/dirsrvtests/tests/suites/views_plugin/views_test.py
index d13c5f9..3168a0f 100644
--- a/dirsrvtests/tests/suites/views_plugin/views_test.py
+++ b/dirsrvtests/tests/suites/views_plugin/views_test.py
@@ -74,14 +74,8 @@ def test_views_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_views_init(topo)
- test_views_(topo)
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/vlv/vlv_test.py b/dirsrvtests/tests/suites/vlv/vlv_test.py
index 8532dde..57945d7 100644
--- a/dirsrvtests/tests/suites/vlv/vlv_test.py
+++ b/dirsrvtests/tests/suites/vlv/vlv_test.py
@@ -74,15 +74,8 @@ def test_vlv_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_vlv_init(topo)
- test_vlv_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
index ea4ab68..e528cc8 100644
--- a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
+++ b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
@@ -74,15 +74,8 @@ def test_whoami_(topology):
return
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_whoami_init(topo)
- test_whoami_(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket1347760_test.py b/dirsrvtests/tests/tickets/ticket1347760_test.py
index b824a3e..bf03563 100644
--- a/dirsrvtests/tests/tickets/ticket1347760_test.py
+++ b/dirsrvtests/tests/tickets/ticket1347760_test.py
@@ -44,6 +44,7 @@ log = logging.getLogger(__name__)
installation1_prefix = None
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -439,6 +440,5 @@ def test_ticket1347760(topology):
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket142_test.py b/dirsrvtests/tests/tickets/ticket142_test.py
index f244bed..bc4e7c0 100644
--- a/dirsrvtests/tests/tickets/ticket142_test.py
+++ b/dirsrvtests/tests/tickets/ticket142_test.py
@@ -33,6 +33,7 @@ ATTR_INHERIT_GLOBAL = 'nsslapd-pwpolicy-inherit-global'
BN = 'uid=buser,' + DEFAULT_SUFFIX
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -322,6 +323,5 @@ def test_ticket142(topology):
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47313_test.py b/dirsrvtests/tests/tickets/ticket47313_test.py
index ca37a52..ad6550e 100644
--- a/dirsrvtests/tests/tickets/ticket47313_test.py
+++ b/dirsrvtests/tests/tickets/ticket47313_test.py
@@ -150,21 +150,9 @@ def test_ticket47313_run(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47313_run(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47431_test.py b/dirsrvtests/tests/tickets/ticket47431_test.py
index 4682963..00d3f98 100644
--- a/dirsrvtests/tests/tickets/ticket47431_test.py
+++ b/dirsrvtests/tests/tickets/ticket47431_test.py
@@ -7,13 +7,11 @@
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -24,9 +22,10 @@ log = logging.getLogger(__name__)
installation1_prefix = None
-DN_7BITPLUGIN="cn=7-bit check,%s" % DN_PLUGIN
+DN_7BITPLUGIN = "cn=7-bit check,%s" % DN_PLUGIN
ATTRS = ["uid", "mail", "userpassword", ",", SUFFIX, None]
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -238,22 +237,9 @@ def test_ticket47431_3(topology):
log.info('Test complete')
-def test_ticket47431_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47431_0(topo)
- test_ticket47431_1(topo)
- test_ticket47431_2(topo)
- test_ticket47431_3(topo)
- test_ticket47431_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47490_test.py b/dirsrvtests/tests/tickets/ticket47490_test.py
index 56bf24b..799e5f6 100644
--- a/dirsrvtests/tests/tickets/ticket47490_test.py
+++ b/dirsrvtests/tests/tickets/ticket47490_test.py
@@ -14,13 +14,11 @@ Created on Nov 7, 2013
import os
import sys
import ldap
-import socket
import time
import logging
import pytest
import re
-from lib389 import DirSrv, Entry, tools
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
@@ -654,37 +652,12 @@ def test_ticket47490_nine(topology):
if res is not None:
assert False
-
-def test_ticket47490_final(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47490_init(topo)
- test_ticket47490_one(topo)
- test_ticket47490_two(topo)
- test_ticket47490_three(topo)
- test_ticket47490_four(topo)
- test_ticket47490_five(topo)
- test_ticket47490_six(topo)
- test_ticket47490_seven(topo)
- test_ticket47490_eight(topo)
- test_ticket47490_nine(topo)
-
- test_ticket47490_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47560_test.py b/dirsrvtests/tests/tickets/ticket47560_test.py
index 32c3427..4354b38 100644
--- a/dirsrvtests/tests/tickets/ticket47560_test.py
+++ b/dirsrvtests/tests/tickets/ticket47560_test.py
@@ -227,27 +227,12 @@ def test_ticket47560(topology):
assert result_successful is True
-
-def test_ticket47560_final(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47560(topo)
- test_ticket47560_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47573_test.py b/dirsrvtests/tests/tickets/ticket47573_test.py
index 97a48d6..19ded31 100644
--- a/dirsrvtests/tests/tickets/ticket47573_test.py
+++ b/dirsrvtests/tests/tickets/ticket47573_test.py
@@ -317,31 +317,12 @@ def test_ticket47573_three(topology):
if ent is None:
assert False
-
-def test_ticket47573_final(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47573_init(topo)
- test_ticket47573_one(topo)
- test_ticket47573_two(topo)
- test_ticket47573_three(topo)
-
- test_ticket47573_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47619_test.py b/dirsrvtests/tests/tickets/ticket47619_test.py
index a440d3d..87977f9 100644
--- a/dirsrvtests/tests/tickets/ticket47619_test.py
+++ b/dirsrvtests/tests/tickets/ticket47619_test.py
@@ -167,6 +167,7 @@ def test_ticket47619_create_index(topology):
args = {INDEX_TYPE: 'eq'}
for attr in ATTRIBUTES:
topology.master.index.create(suffix=RETROCL_SUFFIX, attr=attr, args=args)
+ topology.master.restart(timeout=10)
def test_ticket47619_reindex(topology):
@@ -185,36 +186,9 @@ def test_ticket47619_check_indexed_search(topology):
assert len(ents) == 0
-def test_ticket47619_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47619_init(topo)
-
- test_ticket47619_create_index(topo)
-
- # important restart that trigger the hang
- # at restart, finding the new 'changelog' backend, the backend is acquired in Read
- # preventing the reindex task to complete
- topo.master.restart(timeout=10)
- test_ticket47619_reindex(topo)
- test_ticket47619_check_indexed_search(topo)
-
- test_ticket47619_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47640_test.py b/dirsrvtests/tests/tickets/ticket47640_test.py
index 6b00cc8..526ac22 100644
--- a/dirsrvtests/tests/tickets/ticket47640_test.py
+++ b/dirsrvtests/tests/tickets/ticket47640_test.py
@@ -112,19 +112,10 @@ def test_ticket47640(topology):
log.info('Test complete')
-def test_ticket47640_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47640(topo)
- test_ticket47640_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
+
diff --git a/dirsrvtests/tests/tickets/ticket47653MMR_test.py b/dirsrvtests/tests/tickets/ticket47653MMR_test.py
index 6087992..107edac 100644
--- a/dirsrvtests/tests/tickets/ticket47653MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653MMR_test.py
@@ -442,31 +442,8 @@ def test_ticket47653_modify(topology):
assert ent.getValue('postalCode') == '1929'
-def test_ticket47653_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- test_ticket47653_init(topo)
-
- test_ticket47653_add(topo)
- test_ticket47653_modify(topo)
-
- test_ticket47653_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47653_test.py b/dirsrvtests/tests/tickets/ticket47653_test.py
index 1ebdb11..86d008f 100644
--- a/dirsrvtests/tests/tickets/ticket47653_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653_test.py
@@ -349,32 +349,8 @@ def test_ticket47653_delete(topology):
topology.standalone.delete_s(ENTRY_DN)
-def test_ticket47653_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47653_init(topo)
-
- test_ticket47653_add(topo)
- test_ticket47653_search(topo)
- test_ticket47653_modify(topo)
- test_ticket47653_delete(topo)
-
- test_ticket47653_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47669_test.py b/dirsrvtests/tests/tickets/ticket47669_test.py
index adbcc46..af05a82 100644
--- a/dirsrvtests/tests/tickets/ticket47669_test.py
+++ b/dirsrvtests/tests/tickets/ticket47669_test.py
@@ -237,29 +237,8 @@ def test_ticket47669_retrochangelog_maxage(topology):
topology.standalone.log.info("ticket47669 was successfully verified.")
-def test_ticket47669_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- """
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- """
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47669_init(topo)
- test_ticket47669_changelog_maxage(topo)
- test_ticket47669_changelog_triminterval(topo)
- test_ticket47669_changelog_compactdbinterval(topo)
- test_ticket47669_retrochangelog_maxage(topo)
- test_ticket47669_final(topo)
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47676_test.py b/dirsrvtests/tests/tickets/ticket47676_test.py
index 986e620..cdf4096 100644
--- a/dirsrvtests/tests/tickets/ticket47676_test.py
+++ b/dirsrvtests/tests/tickets/ticket47676_test.py
@@ -374,33 +374,8 @@ def test_ticket47676_reject_action(topology):
assert found
-def test_ticket47676_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- topo.master1.log.info("\n\n######################### Ticket 47676 ######################\n")
- test_ticket47676_init(topo)
-
- test_ticket47676_skip_oc_at(topo)
- test_ticket47676_reject_action(topo)
-
- test_ticket47676_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47714_test.py b/dirsrvtests/tests/tickets/ticket47714_test.py
index 0e3112b..2a7cd0f 100644
--- a/dirsrvtests/tests/tickets/ticket47714_test.py
+++ b/dirsrvtests/tests/tickets/ticket47714_test.py
@@ -235,30 +235,8 @@ def test_ticket47714_run_1(topology):
topology.standalone.log.info("ticket47714 was successfully verified.")
-def test_ticket47714_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47714_init(topo)
-
- test_ticket47714_run_0(topo)
-
- test_ticket47714_run_1(topo)
-
- test_ticket47714_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47721_test.py b/dirsrvtests/tests/tickets/ticket47721_test.py
index 5e15c93..033fe70 100644
--- a/dirsrvtests/tests/tickets/ticket47721_test.py
+++ b/dirsrvtests/tests/tickets/ticket47721_test.py
@@ -433,35 +433,8 @@ def test_ticket47721_4(topology):
assert schema_csn_master1 == schema_csn_master2
-def test_ticket47721_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- topo.master1.log.info("\n\n######################### Ticket 47721 ######################\n")
- test_ticket47721_init(topo)
-
- test_ticket47721_0(topo)
- test_ticket47721_1(topo)
- test_ticket47721_2(topo)
- test_ticket47721_3(topo)
- test_ticket47721_4(topo)
-
- test_ticket47721_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47781_test.py b/dirsrvtests/tests/tickets/ticket47781_test.py
index 0f8b49a..9001ab4 100644
--- a/dirsrvtests/tests/tickets/ticket47781_test.py
+++ b/dirsrvtests/tests/tickets/ticket47781_test.py
@@ -164,25 +164,8 @@ def test_ticket47781(topology):
assert PR_False
-def test_ticket47781_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47781(topo)
- test_ticket47781_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47787_test.py b/dirsrvtests/tests/tickets/ticket47787_test.py
index 56c8d43..443e223 100644
--- a/dirsrvtests/tests/tickets/ticket47787_test.py
+++ b/dirsrvtests/tests/tickets/ticket47787_test.py
@@ -530,32 +530,8 @@ def test_ticket47787_2(topology):
assert ent.getValue(attr) == value
-def test_ticket47787_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- topo.master1.log.info("\n\n######################### Ticket 47787 ######################\n")
- test_ticket47787_init(topo)
-
- test_ticket47787_2(topo)
-
- test_ticket47787_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47808_test.py b/dirsrvtests/tests/tickets/ticket47808_test.py
index 6bff180..09a9ffa 100644
--- a/dirsrvtests/tests/tickets/ticket47808_test.py
+++ b/dirsrvtests/tests/tickets/ticket47808_test.py
@@ -138,29 +138,11 @@ def test_ticket47808_run(topology):
topology.standalone.log.info("Try to delete %s " % entry_dn_1)
topology.standalone.delete_s(entry_dn_1)
-
-
-def test_ticket47808_final(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47808_run(topo)
-
- test_ticket47808_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47815_test.py b/dirsrvtests/tests/tickets/ticket47815_test.py
index 3a1c9fe..5f15dc8 100644
--- a/dirsrvtests/tests/tickets/ticket47815_test.py
+++ b/dirsrvtests/tests/tickets/ticket47815_test.py
@@ -156,24 +156,8 @@ def test_ticket47815(topology):
assert False
-def test_ticket47815_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47815(topo)
- test_ticket47815_final(topo)
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47819_test.py b/dirsrvtests/tests/tickets/ticket47819_test.py
index 7be6210..d127fc0 100644
--- a/dirsrvtests/tests/tickets/ticket47819_test.py
+++ b/dirsrvtests/tests/tickets/ticket47819_test.py
@@ -276,24 +276,8 @@ def test_ticket47819(topology):
log.info('Part 4 - passed')
-def test_ticket47819_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47819(topo)
- test_ticket47819_final(topo)
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47823_test.py b/dirsrvtests/tests/tickets/ticket47823_test.py
index 1eab26b..223c139 100644
--- a/dirsrvtests/tests/tickets/ticket47823_test.py
+++ b/dirsrvtests/tests/tickets/ticket47823_test.py
@@ -975,47 +975,8 @@ def test_ticket47823_invalid_config_7(topology):
pass
-def test_ticket47823_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47823_init(topo)
-
- # run old/new config style that makes uniqueness checking on one subtree
- test_ticket47823_one_container_add(topo)
- test_ticket47823_one_container_mod(topo)
- test_ticket47823_one_container_modrdn(topo)
-
- # run old config style that makes uniqueness checking on each defined subtrees
- test_ticket47823_multi_containers_add(topo)
- test_ticket47823_multi_containers_mod(topo)
- test_ticket47823_multi_containers_modrdn(topo)
- test_ticket47823_across_multi_containers_add(topo)
- test_ticket47823_across_multi_containers_mod(topo)
- test_ticket47823_across_multi_containers_modrdn(topo)
-
- test_ticket47823_invalid_config_1(topo)
- test_ticket47823_invalid_config_2(topo)
- test_ticket47823_invalid_config_3(topo)
- test_ticket47823_invalid_config_4(topo)
- test_ticket47823_invalid_config_5(topo)
- test_ticket47823_invalid_config_6(topo)
- test_ticket47823_invalid_config_7(topo)
-
- test_ticket47823_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47828_test.py b/dirsrvtests/tests/tickets/ticket47828_test.py
index 3218ddc..92e3178 100644
--- a/dirsrvtests/tests/tickets/ticket47828_test.py
+++ b/dirsrvtests/tests/tickets/ticket47828_test.py
@@ -647,60 +647,9 @@ def test_ticket47828_run_31(topology):
topology.standalone.delete_s(DUMMY_USER1_DN)
-def test_ticket47828_final(topology):
- topology.standalone.plugins.disable(name=PLUGIN_DNA)
- topology.standalone.stop(timeout=10)
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47828_init(topo)
-
- test_ticket47828_run_0(topo)
- test_ticket47828_run_1(topo)
- test_ticket47828_run_2(topo)
- test_ticket47828_run_3(topo)
- test_ticket47828_run_4(topo)
- test_ticket47828_run_5(topo)
- test_ticket47828_run_6(topo)
- test_ticket47828_run_7(topo)
- test_ticket47828_run_8(topo)
- test_ticket47828_run_9(topo)
- test_ticket47828_run_10(topo)
- test_ticket47828_run_11(topo)
- test_ticket47828_run_12(topo)
- test_ticket47828_run_13(topo)
- test_ticket47828_run_14(topo)
- test_ticket47828_run_15(topo)
- test_ticket47828_run_16(topo)
- test_ticket47828_run_17(topo)
- test_ticket47828_run_18(topo)
- test_ticket47828_run_19(topo)
- test_ticket47828_run_20(topo)
- test_ticket47828_run_21(topo)
- test_ticket47828_run_22(topo)
- test_ticket47828_run_23(topo)
- test_ticket47828_run_24(topo)
- test_ticket47828_run_25(topo)
- test_ticket47828_run_26(topo)
- test_ticket47828_run_27(topo)
- test_ticket47828_run_28(topo)
- test_ticket47828_run_29(topo)
- test_ticket47828_run_30(topo)
- test_ticket47828_run_31(topo)
-
- test_ticket47828_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
+
diff --git a/dirsrvtests/tests/tickets/ticket47829_test.py b/dirsrvtests/tests/tickets/ticket47829_test.py
index 425a626..a426ada 100644
--- a/dirsrvtests/tests/tickets/ticket47829_test.py
+++ b/dirsrvtests/tests/tickets/ticket47829_test.py
@@ -608,49 +608,8 @@ def test_ticket47829_indirect_active_group_4(topology):
_find_memberof(topology, user_dn=STAGE_USER_DN, group_dn=ACTIVE_GROUP_DN, find_result=False)
-def test_ticket47829_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47829_init(topo)
-
- test_ticket47829_mod_active_user_1(topo)
- test_ticket47829_mod_active_user_2(topo)
- test_ticket47829_mod_active_user_3(topo)
- test_ticket47829_mod_stage_user_1(topo)
- test_ticket47829_mod_stage_user_2(topo)
- test_ticket47829_mod_stage_user_3(topo)
- test_ticket47829_mod_out_user_1(topo)
- test_ticket47829_mod_out_user_2(topo)
- test_ticket47829_mod_out_user_3(topo)
-
- test_ticket47829_mod_active_user_modrdn_active_user_1(topo)
- test_ticket47829_mod_active_user_modrdn_stage_user_1(topo)
- test_ticket47829_mod_active_user_modrdn_out_user_1(topo)
-
- test_ticket47829_mod_stage_user_modrdn_active_user_1(topo)
- test_ticket47829_mod_stage_user_modrdn_stage_user_1(topo)
-
- test_ticket47829_indirect_active_group_1(topo)
- test_ticket47829_indirect_active_group_2(topo)
- test_ticket47829_indirect_active_group_3(topo)
- test_ticket47829_indirect_active_group_4(topo)
-
- test_ticket47829_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47833_test.py b/dirsrvtests/tests/tickets/ticket47833_test.py
index 307e994..7140f01 100644
--- a/dirsrvtests/tests/tickets/ticket47833_test.py
+++ b/dirsrvtests/tests/tickets/ticket47833_test.py
@@ -256,19 +256,8 @@ def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology):
_find_member (topology, user_dn=new_stage_user_dn, group_dn=ACTIVE_GROUP_DN, find_result=False)
-def test_ticket47833_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47829_init(topo)
- test_ticket47829_mod_stage_user_modrdn_stage_user_1(topo)
- test_ticket47833_final(topo)
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py b/dirsrvtests/tests/tickets/ticket47838_test.py
index bc84474..d9f6b36 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -25,6 +25,7 @@ installation_prefix = None
CONFIG_DN = 'cn=config'
ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
+MY_SECURE_PORT = '36363'
RSA = 'RSA'
RSA_DN = 'cn=%s,%s' % (RSA, ENCRYPTION_DN)
SERVERCERT = 'Server-Cert'
@@ -77,7 +78,7 @@ def topology(request):
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -167,7 +168,7 @@ def _47838_init(topology):
topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-security', 'on'),
(ldap.MOD_REPLACE, 'nsslapd-ssl-check-hostname', 'off'),
- (ldap.MOD_REPLACE, 'nsslapd-secureport', str(DEFAULT_SECURE_PORT))])
+ (ldap.MOD_REPLACE, 'nsslapd-secureport', MY_SECURE_PORT)])
topology.standalone.add_s(Entry((RSA_DN, {'objectclass': "top nsEncryptionModule".split(),
'cn': RSA,
@@ -825,47 +826,8 @@ def _47838_run_last(topology):
topology.standalone.log.info("ticket47838, 47880, 47908, 47928 were successfully verified.")
-def _47838_final(topology):
- log.info('Testcase PASSED')
-
-
-def test_ticket47838(topology):
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- _47838_init(topology)
-
- _47838_run_0(topology)
- _47838_run_1(topology)
- _47838_run_2(topology)
- _47838_run_3(topology)
- _47838_run_4(topology)
- _47838_run_5(topology)
- _47838_run_6(topology)
- _47838_run_7(topology)
- _47838_run_8(topology)
- _47838_run_9(topology)
- _47838_run_10(topology)
- _47838_run_11(topology)
- _47928_run_0(topology)
- _47928_run_1(topology)
- _47928_run_2(topology)
- _47928_run_3(topology)
-
- _47838_run_last(topology)
-
- _47838_final(topology)
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47869MMR_test.py b/dirsrvtests/tests/tickets/ticket47869MMR_test.py
index 02408d0..95627d2 100644
--- a/dirsrvtests/tests/tickets/ticket47869MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47869MMR_test.py
@@ -316,31 +316,8 @@ def test_ticket47869_check(topology):
topology.master1.log.info("##### ticket47869 was successfully verified. #####")
-def test_ticket47869_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- test_ticket47869_init(topo)
-
- test_ticket47869_check(topo)
-
- test_ticket47869_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47871_test.py b/dirsrvtests/tests/tickets/ticket47871_test.py
index 7e7b56d..bb6810c 100644
--- a/dirsrvtests/tests/tickets/ticket47871_test.py
+++ b/dirsrvtests/tests/tickets/ticket47871_test.py
@@ -198,28 +198,8 @@ def test_ticket47871_2(topology):
assert len(ents) <= 1
-def test_ticket47871_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47871_init(topo)
- test_ticket47871_1(topo)
- test_ticket47871_2(topo)
-
- test_ticket47871_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47900_test.py b/dirsrvtests/tests/tickets/ticket47900_test.py
index a3500d4..4de368b 100644
--- a/dirsrvtests/tests/tickets/ticket47900_test.py
+++ b/dirsrvtests/tests/tickets/ticket47900_test.py
@@ -321,24 +321,8 @@ def test_ticket47900(topology):
topology.standalone.log.info('Password update succeeded (%s)' % passwd)
-def test_ticket47900_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47900(topo)
- test_ticket47900_final(topo)
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47920_test.py b/dirsrvtests/tests/tickets/ticket47920_test.py
index 99cc478..f031e1d 100644
--- a/dirsrvtests/tests/tickets/ticket47920_test.py
+++ b/dirsrvtests/tests/tickets/ticket47920_test.py
@@ -169,26 +169,8 @@ def test_ticket47920_mod_readentry_ctrl(topology):
assert ent.getValue('description') == FINAL_DESC
-def test_ticket47920_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47920_init(topo)
- test_ticket47920_mod_readentry_ctrl(topo)
- test_ticket47920_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47921_test.py b/dirsrvtests/tests/tickets/ticket47921_test.py
index 3465fc7..537a59b 100644
--- a/dirsrvtests/tests/tickets/ticket47921_test.py
+++ b/dirsrvtests/tests/tickets/ticket47921_test.py
@@ -145,19 +145,8 @@ def test_ticket47921(topology):
log.info('Test complete')
-def test_ticket47921_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47921(topo)
- test_ticket47921_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47927_test.py b/dirsrvtests/tests/tickets/ticket47927_test.py
index c449b69..c425ace 100644
--- a/dirsrvtests/tests/tickets/ticket47927_test.py
+++ b/dirsrvtests/tests/tickets/ticket47927_test.py
@@ -289,25 +289,8 @@ def test_ticket47927_six(topology):
assert False
-def test_ticket47927_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47927_init(topo)
- test_ticket47927_one(topo)
- test_ticket47927_two(topo)
- test_ticket47927_three(topo)
- test_ticket47927_four(topo)
- test_ticket47927_five(topo)
- test_ticket47927_six(topo)
- test_ticket47927_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47937_test.py b/dirsrvtests/tests/tickets/ticket47937_test.py
index 009fbd3..6eb4f8b 100644
--- a/dirsrvtests/tests/tickets/ticket47937_test.py
+++ b/dirsrvtests/tests/tickets/ticket47937_test.py
@@ -164,25 +164,8 @@ def test_ticket47937(topology):
assert False
-def test_ticket47937_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47937(topo)
- test_ticket47937_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47950_test.py b/dirsrvtests/tests/tickets/ticket47950_test.py
index c55c4ea..cb3076d 100644
--- a/dirsrvtests/tests/tickets/ticket47950_test.py
+++ b/dirsrvtests/tests/tickets/ticket47950_test.py
@@ -199,25 +199,8 @@ def test_ticket47950(topology):
assert False
-def test_ticket47953_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47950(topo)
- test_ticket47953_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47953_test.py b/dirsrvtests/tests/tickets/ticket47953_test.py
index 5dff58b..1bcc007 100644
--- a/dirsrvtests/tests/tickets/ticket47953_test.py
+++ b/dirsrvtests/tests/tickets/ticket47953_test.py
@@ -115,25 +115,8 @@ def test_ticket47953(topology):
assert False
-def test_ticket47953_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47953(topo)
- test_ticket47953_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47963_test.py b/dirsrvtests/tests/tickets/ticket47963_test.py
index a991173..6ca74fd 100644
--- a/dirsrvtests/tests/tickets/ticket47963_test.py
+++ b/dirsrvtests/tests/tickets/ticket47963_test.py
@@ -181,19 +181,8 @@ def test_ticket47963(topology):
log.info('Test complete')
-def test_ticket47963_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47963(topo)
- test_ticket47963_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47966_test.py b/dirsrvtests/tests/tickets/ticket47966_test.py
index 3130f69..75550a6 100644
--- a/dirsrvtests/tests/tickets/ticket47966_test.py
+++ b/dirsrvtests/tests/tickets/ticket47966_test.py
@@ -12,8 +12,7 @@ import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -21,11 +20,10 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
-
installation1_prefix = None
-
m1_m2_agmt = ""
+
class TopologyReplication(object):
def __init__(self, master1, master2):
master1.open()
@@ -209,19 +207,8 @@ def test_ticket47966(topology):
log.info('Test complete')
-def test_ticket47966_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47966(topo)
- test_ticket47966_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47970_test.py b/dirsrvtests/tests/tickets/ticket47970_test.py
index bea74bc..a957d49 100644
--- a/dirsrvtests/tests/tickets/ticket47970_test.py
+++ b/dirsrvtests/tests/tickets/ticket47970_test.py
@@ -134,25 +134,8 @@ def test_ticket47970(topology):
log.info('Root DSE was correctly not updated')
-def test_ticket47970_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47970(topo)
- test_ticket47970_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47973_test.py b/dirsrvtests/tests/tickets/ticket47973_test.py
index d2fdcd5..799c72a 100644
--- a/dirsrvtests/tests/tickets/ticket47973_test.py
+++ b/dirsrvtests/tests/tickets/ticket47973_test.py
@@ -6,15 +6,12 @@
# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
-import os
-import sys
import time
import ldap
import ldap.sasl
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -161,25 +158,8 @@ def test_ticket47973(topology):
task_count += 1
-def test_ticket47973_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47973(topo)
- test_ticket47973_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47980_test.py b/dirsrvtests/tests/tickets/ticket47980_test.py
index 6b6b5bf..09cbe2f 100644
--- a/dirsrvtests/tests/tickets/ticket47980_test.py
+++ b/dirsrvtests/tests/tickets/ticket47980_test.py
@@ -638,25 +638,8 @@ def test_ticket47980(topology):
assert False
-def test_ticket47980_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47980(topo)
- test_ticket47980_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47981_test.py b/dirsrvtests/tests/tickets/ticket47981_test.py
index 0fcf51e..fbd19d5 100644
--- a/dirsrvtests/tests/tickets/ticket47981_test.py
+++ b/dirsrvtests/tests/tickets/ticket47981_test.py
@@ -271,25 +271,8 @@ def test_ticket47981(topology):
assert False
-def test_ticket47981_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47981(topo)
- test_ticket47981_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47988_test.py b/dirsrvtests/tests/tickets/ticket47988_test.py
index 45abba6..c9835c3 100644
--- a/dirsrvtests/tests/tickets/ticket47988_test.py
+++ b/dirsrvtests/tests/tickets/ticket47988_test.py
@@ -474,33 +474,8 @@ def test_ticket47988_6(topology):
assert (master2_schema_csn)
-def test_ticket47988_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- global installation2_prefix
- installation1_prefix = None
- installation2_prefix = None
-
- topo = topology(True)
- test_ticket47988_init(topo)
- test_ticket47988_1(topo)
- test_ticket47988_2(topo)
- test_ticket47988_3(topo)
- test_ticket47988_4(topo)
- test_ticket47988_5(topo)
- test_ticket47988_6(topo)
- test_ticket47988_final(topo)
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48005_test.py b/dirsrvtests/tests/tickets/ticket48005_test.py
index 116b1e9..5fde541 100644
--- a/dirsrvtests/tests/tickets/ticket48005_test.py
+++ b/dirsrvtests/tests/tickets/ticket48005_test.py
@@ -7,14 +7,12 @@
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
import re
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -24,6 +22,7 @@ log = logging.getLogger(__name__)
installation1_prefix = None
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -392,24 +391,8 @@ def test_ticket48005_schemareload(topology):
log.info("Ticket 48005 schema reload test complete")
-def test_ticket48005_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket48005_setup(topo)
- test_ticket48005_memberof(topo)
- test_ticket48005_automember(topo)
- test_ticket48005_syntaxvalidate(topo)
- test_ticket48005_usn(topo)
- test_ticket48005_schemareload(topo)
- test_ticket48005_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48013_test.py b/dirsrvtests/tests/tickets/ticket48013_test.py
index b6fe22e..12bfa32 100644
--- a/dirsrvtests/tests/tickets/ticket48013_test.py
+++ b/dirsrvtests/tests/tickets/ticket48013_test.py
@@ -7,18 +7,14 @@
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
-import pyasn1
-import pyasn1_modules
-import ldap,ldapurl
+import ldapurl
from ldap.ldapobject import SimpleLDAPObject
from ldap.syncrepl import SyncreplConsumer
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -125,19 +121,8 @@ def test_ticket48013(topology):
log.info('Test complete')
-def test_ticket48013_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket48013(topo)
- test_ticket48013_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48026_test.py b/dirsrvtests/tests/tickets/ticket48026_test.py
index 2f411aa..730e94b 100644
--- a/dirsrvtests/tests/tickets/ticket48026_test.py
+++ b/dirsrvtests/tests/tickets/ticket48026_test.py
@@ -7,13 +7,11 @@
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -150,19 +148,8 @@ def test_ticket48026(topology):
log.info('Test complete')
-def test_ticket48026_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket48026(topo)
- test_ticket48026_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48170_test.py b/dirsrvtests/tests/tickets/ticket48170_test.py
index 2261c11..3ffa964 100644
--- a/dirsrvtests/tests/tickets/ticket48170_test.py
+++ b/dirsrvtests/tests/tickets/ticket48170_test.py
@@ -78,19 +78,8 @@ def test_ticket48170(topology):
log.info('Test complete')
-def test_ticket48170_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket48170(topo)
- test_ticket48170_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48194_test.py b/dirsrvtests/tests/tickets/ticket48194_test.py
index 453a794..897f4d0 100644
--- a/dirsrvtests/tests/tickets/ticket48194_test.py
+++ b/dirsrvtests/tests/tickets/ticket48194_test.py
@@ -459,10 +459,6 @@ def my_test_run_11(topology):
connectWithOpenssl(topology, 'AES256-SHA256', False)
-def my_test_final(topology):
- log.info('Testcase PASSED')
-
-
def test_ticket48194(topology):
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
@@ -471,7 +467,6 @@ def test_ticket48194(topology):
- set the installation prefix
- run this program
'''
-
my_test_init(topology)
my_test_run_0(topology)
my_test_run_1(topology)
@@ -485,7 +480,6 @@ def test_ticket48194(topology):
my_test_run_9(topology)
my_test_run_10(topology)
my_test_run_11(topology)
- my_test_final(topology)
if __name__ == '__main__':
# Run isolated
diff --git a/dirsrvtests/tests/tickets/ticket48212_test.py b/dirsrvtests/tests/tickets/ticket48212_test.py
index 58a860f..66ce669 100644
--- a/dirsrvtests/tests/tickets/ticket48212_test.py
+++ b/dirsrvtests/tests/tickets/ticket48212_test.py
@@ -21,6 +21,7 @@ MYSUFFIXBE = 'userRoot'
_MYLDIF = 'example1k_posix.ldif'
UIDNUMBERDN = "cn=uidnumber,cn=index,cn=userroot,cn=ldbm database,cn=plugins,cn=config"
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
diff --git a/dirsrvtests/tests/tickets/ticket48214_test.py b/dirsrvtests/tests/tickets/ticket48214_test.py
index 8c8bf40..7fc4bab 100644
--- a/dirsrvtests/tests/tickets/ticket48214_test.py
+++ b/dirsrvtests/tests/tickets/ticket48214_test.py
@@ -18,6 +18,7 @@ installation_prefix = None
MYSUFFIX = 'dc=example,dc=com'
MYSUFFIXBE = 'userRoot'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -146,27 +147,8 @@ def test_ticket48214_run(topology):
topology.standalone.log.info("ticket48214 was successfully verified.")
-def test_ticket48214_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket48214_run(topo)
-
- test_ticket48214_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48226_test.py b/dirsrvtests/tests/tickets/ticket48226_test.py
index 9f96d8a..939121b 100644
--- a/dirsrvtests/tests/tickets/ticket48226_test.py
+++ b/dirsrvtests/tests/tickets/ticket48226_test.py
@@ -187,7 +187,7 @@ def test_ticket48226_1(topology):
valgrind_enable(sbin_dir)
# start M2 to do the next updates
- topology.master2.start(60)
+ topology.master2.start()
# ADD 'description' by '5'
mods = [(ldap.MOD_DELETE, 'description', '5')]
diff --git a/dirsrvtests/tests/tickets/ticket48228_test.py b/dirsrvtests/tests/tickets/ticket48228_test.py
index f820cbe..d8f9334 100644
--- a/dirsrvtests/tests/tickets/ticket48228_test.py
+++ b/dirsrvtests/tests/tickets/ticket48228_test.py
@@ -306,31 +306,8 @@ def test_ticket48228_test_subtree_policy(topology):
log.info("Subtree level policy was successfully verified.")
-def test_ticket48228_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- log.info('Testing Ticket 48228 - wrong password check if passwordInHistory is decreased')
-
- test_ticket48228_test_global_policy(topo)
-
- test_ticket48228_test_subtree_policy(topo)
-
- test_ticket48228_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48252_test.py b/dirsrvtests/tests/tickets/ticket48252_test.py
index 2c4eeab..44978fd 100644
--- a/dirsrvtests/tests/tickets/ticket48252_test.py
+++ b/dirsrvtests/tests/tickets/ticket48252_test.py
@@ -26,6 +26,7 @@ installation_prefix = None
USER_NUM = 10
TEST_USER = "test_user"
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -154,32 +155,8 @@ def test_ticket48252_run_1(topology):
log.info('Case 2 - PASSED')
-def test_ticket48252_final(topology):
- log.info('Testing Ticket 48252 - PASSED.')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- log.info('Testing Ticket 48252 - db2index creates index entry from deleted records')
-
- test_ticket48252_setup(topo)
-
- test_ticket48252_run_0(topo)
- test_ticket48252_run_1(topo)
-
- test_ticket48252_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48265_test.py b/dirsrvtests/tests/tickets/ticket48265_test.py
index 9bfa34d..d255f33 100644
--- a/dirsrvtests/tests/tickets/ticket48265_test.py
+++ b/dirsrvtests/tests/tickets/ticket48265_test.py
@@ -6,15 +6,11 @@
# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
-import os
-import sys
import time
import ldap
import logging
import pytest
-import threading
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -28,6 +24,7 @@ installation1_prefix = None
USER_NUM = 20
TEST_USER = 'test_user'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -106,28 +103,8 @@ def test_ticket48265_test(topology):
log.info('Test 48265 complete\n')
-def test_ticket48265_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- log.info('Testing Ticket 48265 - Complex filter in a search request does not work as expected')
-
- test_ticket48265_test(topo)
-
- test_ticket48265_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48266_test.py b/dirsrvtests/tests/tickets/ticket48266_test.py
index e509e14..82571e9 100644
--- a/dirsrvtests/tests/tickets/ticket48266_test.py
+++ b/dirsrvtests/tests/tickets/ticket48266_test.py
@@ -4,8 +4,7 @@ import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -16,8 +15,9 @@ log = logging.getLogger(__name__)
installation1_prefix = None
-NEW_ACCOUNT = "new_account"
-MAX_ACCOUNTS = 20
+NEW_ACCOUNT = "new_account"
+MAX_ACCOUNTS = 20
+
class TopologyReplication(object):
def __init__(self, master1, master2):
diff --git a/dirsrvtests/tests/tickets/ticket48270_test.py b/dirsrvtests/tests/tickets/ticket48270_test.py
index 78b357d..0eeeed4 100644
--- a/dirsrvtests/tests/tickets/ticket48270_test.py
+++ b/dirsrvtests/tests/tickets/ticket48270_test.py
@@ -54,11 +54,9 @@ def topology(request):
standalone.delete()
request.addfinalizer(fin)
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
-
return TopologyStandalone(standalone)
+
def test_ticket48270_init(topology):
log.info("Initialization: add dummy entries for the tests")
for cpt in range(MAX_ACCOUNTS):
@@ -148,24 +146,8 @@ def test_ticket48270_extensible_search(topology):
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory:caseIgnoreIA5Match:=%s)" % LOWER_VALUE)
-def test_ticket48270(topology):
- """Write your testcase here...
-
- Also, if you need any testcase initialization,
- please, write additional fixture for that(include finalizer).
- """
-
- log.info('Test complete')
-
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
- topo = topology(True)
- test_ticket48270_init(topo)
- test_ticket48270_homeDirectory_indexed_cis(topo)
- test_ticket48270_homeDirectory_mixed_value(topo)
- test_ticket48270_extensible_search(topo)
-
-# CURRENT_FILE = os.path.realpath(__file__)
-# pytest.main("-s %s" % CURRENT_FILE)
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48294_test.py b/dirsrvtests/tests/tickets/ticket48294_test.py
index ddb71bc..3cb912f 100644
--- a/dirsrvtests/tests/tickets/ticket48294_test.py
+++ b/dirsrvtests/tests/tickets/ticket48294_test.py
@@ -29,6 +29,7 @@ OU_PEOPLE = 'ou=People,' + DEFAULT_SUFFIX
LINKTYPE = 'directReport'
MANAGEDTYPE = 'manager'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -260,32 +261,8 @@ def _48294_run_2(topology):
log.info('PASSED')
-def _48294_final(topology):
- log.info('All PASSED')
-
-
-def test_ticket48294(topology):
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- _48294_init(topology)
-
- _48294_run_0(topology)
- _48294_run_1(topology)
- _48294_run_2(topology)
-
- _48294_final(topology)
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48295_test.py b/dirsrvtests/tests/tickets/ticket48295_test.py
index bcc8879..4c7719d 100644
--- a/dirsrvtests/tests/tickets/ticket48295_test.py
+++ b/dirsrvtests/tests/tickets/ticket48295_test.py
@@ -29,6 +29,7 @@ OU_PEOPLE = 'ou=People,' + DEFAULT_SUFFIX
LINKTYPE = 'directReport'
MANAGEDTYPE = 'manager'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -183,30 +184,8 @@ def _48295_run(topology):
log.info('PASSED')
-def _48295_final(topology):
- log.info('All PASSED')
-
-
-def test_ticket48295(topology):
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- _48295_init(topology)
-
- _48295_run(topology)
-
- _48295_final(topology)
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48342_test.py b/dirsrvtests/tests/tickets/ticket48342_test.py
index 6dd5506..de0dea9 100644
--- a/dirsrvtests/tests/tickets/ticket48342_test.py
+++ b/dirsrvtests/tests/tickets/ticket48342_test.py
@@ -4,8 +4,7 @@ import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -16,9 +15,10 @@ log = logging.getLogger(__name__)
installation1_prefix = None
-PEOPLE_OU='people'
+PEOPLE_OU = 'people'
PEOPLE_DN = "ou=%s,%s" % (PEOPLE_OU, SUFFIX)
-MAX_ACCOUNTS=5
+MAX_ACCOUNTS = 5
+
class TopologyReplication(object):
def __init__(self, master1, master2, master3):
@@ -188,6 +188,7 @@ def topology(request):
return TopologyReplication(master1, master2, master3)
+
def _dna_config(server, nextValue=500, maxValue=510):
log.info("Add dna plugin config entry...%s" % server)
@@ -220,6 +221,7 @@ def _dna_config(server, nextValue=500, maxValue=510):
server.start(timeout=120)
time.sleep(3)
+
def test_ticket4026(topology):
"""Write your replication testcase here.
@@ -310,9 +312,5 @@ def test_ticket4026(topology):
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-# global installation1_prefix
-# installation1_prefix=None
-# topo = topology(True)
-# test_ticket4026(topo)
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48362_test.py b/dirsrvtests/tests/tickets/ticket48362_test.py
index dc03d3a..0fa8037 100644
--- a/dirsrvtests/tests/tickets/ticket48362_test.py
+++ b/dirsrvtests/tests/tickets/ticket48362_test.py
@@ -23,6 +23,7 @@ BINDMETHOD_VALUE = "SASL/GSSAPI"
PROTOCOLE_ATTR = 'dnaRemoteConnProtocol'
PROTOCOLE_VALUE = 'LDAP'
+
class TopologyReplication(object):
def __init__(self, master1, master2):
master1.open()
diff --git a/dirsrvtests/tests/tickets/ticket48366_test.py b/dirsrvtests/tests/tickets/ticket48366_test.py
index 2ce4ccf..c785d30 100644
--- a/dirsrvtests/tests/tickets/ticket48366_test.py
+++ b/dirsrvtests/tests/tickets/ticket48366_test.py
@@ -32,6 +32,7 @@ SUBTREE_GREEN = "ou=green,%s" % SUFFIX
SUBTREE_RED = "ou=red,%s" % SUFFIX
SUBTREES = (SUBTREE_GREEN, SUBTREE_RED)
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -187,29 +188,8 @@ def test_ticket48366_search_dm(topology):
assert (len(ents) == 0)
-def test_ticket48366_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket48366_init(topo)
-
- test_ticket48366_search_dm(topo)
-
- test_ticket48366_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48369_test.py b/dirsrvtests/tests/tickets/ticket48369_test.py
index 0b65fa2..37f4272 100644
--- a/dirsrvtests/tests/tickets/ticket48369_test.py
+++ b/dirsrvtests/tests/tickets/ticket48369_test.py
@@ -121,4 +121,4 @@ if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
CURRENT_FILE = os.path.realpath(__file__)
- pytest.main("-s %s" % CURRENT_FILE)
\ No newline at end of file
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48383_test.py b/dirsrvtests/tests/tickets/ticket48383_test.py
index d05c7c2..c6bebcd 100644
--- a/dirsrvtests/tests/tickets/ticket48383_test.py
+++ b/dirsrvtests/tests/tickets/ticket48383_test.py
@@ -17,6 +17,7 @@ import random
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
diff --git a/dirsrvtests/tests/tickets/ticket48497_test.py b/dirsrvtests/tests/tickets/ticket48497_test.py
index debe63f..3130fc4 100644
--- a/dirsrvtests/tests/tickets/ticket48497_test.py
+++ b/dirsrvtests/tests/tickets/ticket48497_test.py
@@ -16,16 +16,16 @@ log = logging.getLogger(__name__)
installation1_prefix = None
-NEW_ACCOUNT = "new_account"
-MAX_ACCOUNTS = 20
+NEW_ACCOUNT = "new_account"
+MAX_ACCOUNTS = 20
-MIXED_VALUE="/home/mYhOmEdIrEcToRy"
-LOWER_VALUE="/home/myhomedirectory"
+MIXED_VALUE = "/home/mYhOmEdIrEcToRy"
+LOWER_VALUE = "/home/myhomedirectory"
HOMEDIRECTORY_INDEX = 'cn=homeDirectory,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config'
-HOMEDIRECTORY_CN="homedirectory"
+HOMEDIRECTORY_CN = "homedirectory"
MATCHINGRULE = 'nsMatchingRule'
UIDNUMBER_INDEX = 'cn=uidnumber,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config'
-UIDNUMBER_CN="uidnumber"
+UIDNUMBER_CN = "uidnumber"
class TopologyStandalone(object):
@@ -41,7 +41,7 @@ def topology(request):
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
# Creating standalone instance ...
- standalone = DirSrv(verbose=True)
+ standalone = DirSrv(verbose=False)
if installation1_prefix:
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_STANDALONE
@@ -66,6 +66,7 @@ def topology(request):
return TopologyStandalone(standalone)
+
def test_ticket48497_init(topology):
log.info("Initialization: add dummy entries for the tests")
for cpt in range(MAX_ACCOUNTS):
@@ -78,12 +79,14 @@ def test_ticket48497_init(topology):
'gidnumber': str(222),
'homedirectory': "/home/tb_%d" % cpt})))
+
def test_ticket48497_homeDirectory_mixed_value(topology):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
topology.standalone.modify_s(name, mod)
+
def test_ticket48497_extensible_search(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
@@ -120,14 +123,13 @@ def test_ticket48497_homeDirectory_index_cfg(topology):
'cn': HOMEDIRECTORY_CN,
'nsSystemIndex': 'false',
'nsIndexType': 'eq'})))
-# log.info("attach debugger")
-# time.sleep(60)
IGNORE_MR_NAME='caseIgnoreIA5Match'
EXACT_MR_NAME='caseExactIA5Match'
mod = [(ldap.MOD_REPLACE, MATCHINGRULE, (IGNORE_MR_NAME, EXACT_MR_NAME))]
topology.standalone.modify_s(HOMEDIRECTORY_INDEX, mod)
+
def test_ticket48497_homeDirectory_index_run(topology):
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
@@ -149,29 +151,8 @@ def test_ticket48497_homeDirectory_index_run(topology):
log.info(line)
assert 0
-def test_ticket48497(topology):
- """Write your testcase here...
-
- Also, if you need any testcase initialization,
- please, write additional fixture for that(include finalizer).
- """
-
- log.info('Test complete')
-
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-# global installation1_prefix
-# installation1_prefix = None
-# topo = topology(True)
-# test_ticket48497_init(topo)
-#
-#
-# test_ticket48497_homeDirectory_mixed_value(topo)
-# test_ticket48497_extensible_search(topo)
-# test_ticket48497_homeDirectory_index_cfg(topo)
-# test_ticket48497_homeDirectory_index_run(topo)
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48637_test.py b/dirsrvtests/tests/tickets/ticket48637_test.py
index 5df65d7..2bf0321 100644
--- a/dirsrvtests/tests/tickets/ticket48637_test.py
+++ b/dirsrvtests/tests/tickets/ticket48637_test.py
@@ -195,4 +195,3 @@ if __name__ == '__main__':
# -s for DEBUG mode
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
-
diff --git a/dirsrvtests/tests/tickets/ticket48665_test.py b/dirsrvtests/tests/tickets/ticket48665_test.py
index 9396b8a..f50ab35 100644
--- a/dirsrvtests/tests/tickets/ticket48665_test.py
+++ b/dirsrvtests/tests/tickets/ticket48665_test.py
@@ -14,6 +14,7 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
diff --git a/dirsrvtests/tests/tickets/ticket48745_test.py b/dirsrvtests/tests/tickets/ticket48745_test.py
index ca888da..6ebe31e 100644
--- a/dirsrvtests/tests/tickets/ticket48745_test.py
+++ b/dirsrvtests/tests/tickets/ticket48745_test.py
@@ -66,6 +66,7 @@ def topology(request):
return TopologyStandalone(standalone)
+
def test_ticket48745_init(topology):
log.info("Initialization: add dummy entries for the tests")
for cpt in range(MAX_ACCOUNTS):
@@ -78,6 +79,7 @@ def test_ticket48745_init(topology):
'gidnumber': str(222),
'homedirectory': "/home/tbordaz_%d" % cpt})))
+
def test_ticket48745_homeDirectory_indexed_cis(topology):
log.info("\n\nindex homeDirectory in caseIgnoreIA5Match and caseExactIA5Match")
try:
@@ -120,12 +122,14 @@ def test_ticket48745_homeDirectory_indexed_cis(topology):
log.info(line)
assert 0
+
def test_ticket48745_homeDirectory_mixed_value(topology):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
topology.standalone.modify_s(name, mod)
+
def test_ticket48745_extensible_search_after_index(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
@@ -159,15 +163,6 @@ def test_ticket48745_extensible_search_after_index(topology):
log.info("Default: can retrieve an entry filter caseIgnoreIA5Match with lowered stored value")
ent = topology.standalone.getEntry(SUFFIX, ldap.SCOPE_SUBTREE, "(homeDirectory:caseIgnoreIA5Match:=%s)" % LOWER_VALUE)
-def test_ticket48745(topology):
- """Write your testcase here...
-
- Also, if you need any testcase initialization,
- please, write additional fixture for that(include finalizer).
- """
-
- log.info('Test complete')
-
if __name__ == '__main__':
# Run isolated
diff --git a/dirsrvtests/tests/tickets/ticket48746_test.py b/dirsrvtests/tests/tickets/ticket48746_test.py
index 038f1dd..401b300 100644
--- a/dirsrvtests/tests/tickets/ticket48746_test.py
+++ b/dirsrvtests/tests/tickets/ticket48746_test.py
@@ -184,30 +184,9 @@ def test_ticket48746_homeDirectory_indexed_ces(topology):
log.info(line)
assert not found
-def test_ticket48746(topology):
- """Write your testcase here...
-
- Also, if you need any testcase initialization,
- please, write additional fixture for that(include finalizer).
- """
-
- log.info('Test complete')
-
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-# global installation1_prefix
-# installation1_prefix = None
-# topo = topology(True)
-# test_ticket48746_init(topo)
-#
-#
-# test_ticket48746_homeDirectory_indexed_cis(topo)
-# test_ticket48746_homeDirectory_mixed_value(topo)
-# test_ticket48746_extensible_search_after_index(topo)
-# # crash should occur here
-# test_ticket48746_homeDirectory_indexed_ces(topo)
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48755_test.py b/dirsrvtests/tests/tickets/ticket48755_test.py
index db4ae39..db3c3f3 100644
--- a/dirsrvtests/tests/tickets/ticket48755_test.py
+++ b/dirsrvtests/tests/tickets/ticket48755_test.py
@@ -28,6 +28,7 @@ installation1_prefix = None
m1_m2_agmt = None
+
class TopologyReplication(object):
def __init__(self, master1, master2):
master1.open()
@@ -140,6 +141,7 @@ def add_ou_entry(server, idx, myparent):
server.add_s(Entry((dn, {'objectclass': ['top', 'organizationalunit'],
'ou': name})))
+
def add_user_entry(server, idx, myparent):
name = 'tuser%d' % idx
dn = 'uid=%s,%s' % (name, myparent)
@@ -149,11 +151,13 @@ def add_user_entry(server, idx, myparent):
'cn': 'Test User%d' % idx,
'userpassword': 'password'})))
+
def del_user_entry(server, idx, myparent):
name = 'tuser%d' % idx
dn = 'uid=%s,%s' % (name, myparent)
server.delete_s(dn)
+
def add_ldapsubentry(server, myparent):
name = 'nsPwPolicyContainer'
container = 'cn=%s,%s' % (name, myparent)
@@ -187,6 +191,7 @@ def add_ldapsubentry(server, myparent):
'cosAttribute': 'pwdpolicysubentry default operational-default',
'cn': '%s' % name})))
+
def test_ticket48755(topology):
log.info("Ticket 48755 - moving an entry could make the online init fail")
@@ -253,9 +258,9 @@ def test_ticket48755(topology):
assert len(m1entries) == len(m2entries)
log.info('PASSED')
+
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
-
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48759_test.py b/dirsrvtests/tests/tickets/ticket48759_test.py
index 63115c1..71c7c2f 100644
--- a/dirsrvtests/tests/tickets/ticket48759_test.py
+++ b/dirsrvtests/tests/tickets/ticket48759_test.py
@@ -26,6 +26,7 @@ MEMBEROF_PLUGIN_DN = ('cn=' + PLUGIN_MEMBER_OF + ',cn=plugins,cn=config')
GROUP_DN = ("cn=group," + DEFAULT_SUFFIX)
MEMBER_DN_COMP = "uid=member"
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -262,24 +263,8 @@ def test_ticket48759(topology):
assert (changes_pre == changes_post)
-def test_ticket48759_final(topology):
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket48759(topo)
- test_ticket48759_final(topo)
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48784_test.py b/dirsrvtests/tests/tickets/ticket48784_test.py
index a970fc6..e513bfd 100644
--- a/dirsrvtests/tests/tickets/ticket48784_test.py
+++ b/dirsrvtests/tests/tickets/ticket48784_test.py
@@ -358,7 +358,8 @@ def config_tls_agreements(topology):
def set_ssl_Version(server, name, version):
- log.info("\n######################### Set %s on %s ######################\n", (version, name))
+ log.info("\n######################### Set %s on %s ######################\n" %
+ (version, name))
server.simple_bind_s(DN_DM, PASSWORD)
if version.startswith('SSL'):
server.modify_s(ENCRYPTION_DN, [(ldap.MOD_REPLACE, 'nsSSL3', 'on'),
diff --git a/dirsrvtests/tests/tickets/ticket48799_test.py b/dirsrvtests/tests/tickets/ticket48799_test.py
index e92b5fd..47461eb 100644
--- a/dirsrvtests/tests/tickets/ticket48799_test.py
+++ b/dirsrvtests/tests/tickets/ticket48799_test.py
@@ -14,6 +14,7 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
+
class TopologyReplication(object):
def __init__(self, master1, consumer1):
master1.open()
@@ -96,6 +97,7 @@ def topology(request):
return TopologyReplication(master1, consumer1)
+
def _add_custom_schema(server):
attr_value = "( 10.0.9.2342.19200300.100.1.1 NAME 'customManager' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'user defined' )"
mod = [(ldap.MOD_ADD, 'attributeTypes', attr_value)]
@@ -105,6 +107,7 @@ def _add_custom_schema(server):
mod = [(ldap.MOD_ADD, 'objectclasses', oc_value)]
server.modify_s('cn=schema', mod)
+
def _create_user(server):
server.add_s(Entry((
"uid=testuser,ou=People,%s" % DEFAULT_SUFFIX,
@@ -122,6 +125,7 @@ def _create_user(server):
}
)))
+
def _modify_user(server):
mod = [
(ldap.MOD_ADD, 'objectClass', ['customPerson']),
@@ -130,6 +134,7 @@ def _modify_user(server):
]
server.modify("uid=testuser,ou=People,%s" % DEFAULT_SUFFIX, mod)
+
def test_ticket48799(topology):
"""Write your replication testcase here.
@@ -159,7 +164,6 @@ def test_ticket48799(topology):
assert(master_entry == consumer_entry)
-
log.info('Test complete')
diff --git a/dirsrvtests/tests/tickets/ticket48844_test.py b/dirsrvtests/tests/tickets/ticket48844_test.py
index 308ec17..de719c3 100644
--- a/dirsrvtests/tests/tickets/ticket48844_test.py
+++ b/dirsrvtests/tests/tickets/ticket48844_test.py
@@ -25,6 +25,7 @@ BITWISE_F2 = '(&(%s)(testUserAccountControl:1.2.840.113556.1.4.803:=514))' % F1
BITWISE_F3 = '(&(%s)(testUserAccountControl:1.2.840.113556.1.4.803:=513))' % F1
BITWISE_F6 = '(&(%s)(testUserAccountControl:1.2.840.113556.1.4.803:=16777216))' % F1
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -63,6 +64,7 @@ def topology(request):
return TopologyStandalone(standalone)
+
def _addBitwiseEntries(topology):
users = [
@@ -111,6 +113,7 @@ def _addBitwiseEntries(topology):
except ValueError:
topology.standalone.log.fatal("add_s failed: %s", ValueError)
+
def test_ticket48844_init(topology):
# create a suffix where test entries will be stored
BITW_SCHEMA_AT_1 = '( NAME \'testUserAccountControl\' DESC \'Attribute Bitwise filteri-Multi-Valued\' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )'
@@ -150,6 +153,7 @@ def test_ticket48844_bitwise_on(topology):
assert (len(ents) == expect)
assert (ents[0].hasAttr('testUserAccountControl'))
+
def test_ticket48844_bitwise_off(topology):
"""
Check that when bitwise plugin is not enabled, no plugin
diff --git a/dirsrvtests/tests/tickets/ticket48891_test.py b/dirsrvtests/tests/tickets/ticket48891_test.py
index ad6fd3a..a33b22a 100644
--- a/dirsrvtests/tests/tickets/ticket48891_test.py
+++ b/dirsrvtests/tests/tickets/ticket48891_test.py
@@ -7,18 +7,14 @@
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
-from ldap.controls import SimplePagedResultsControl
-from ldap.controls.simple import GetEffectiveRightsControl
import fnmatch
log = logging.getLogger(__name__)
@@ -35,6 +31,7 @@ SEARCHFILTER = '(objectclass=person)'
OTHER_NAME = 'other_entry'
MAX_OTHERS = 10
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -95,11 +92,11 @@ def test_ticket48891_setup(topology):
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
# check there is no core
- entry = topology.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, "(cn=config)",['nsslapd-workingdir'])
+ entry = topology.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE,
+ "(cn=config)", ['nsslapd-errorlog'])
assert entry
- assert entry[0]
- assert entry[0].hasAttr('nsslapd-workingdir')
- path = entry[0].getValue('nsslapd-workingdir')
+ path = entry[0].getValue('nsslapd-errorlog').replace('errors', '')
+ log.debug('Looking for a core file in: ' + path)
cores = fnmatch.filter(os.listdir(path), 'core.*')
assert len(cores) == 0
@@ -137,39 +134,19 @@ def test_ticket48891_setup(topology):
assert MAX_OTHERS == len(entries)
topology.standalone.log.info('%d person entries are successfully created under %s.' % (len(entries), MYSUFFIX))
-
-
topology.standalone.stop(timeout=1)
-
cores = fnmatch.filter(os.listdir(path), 'core.*')
for core in cores:
core = os.path.join(path, core)
topology.standalone.log.info('cores are %s' % core)
assert not os.path.isfile(core)
-
-
-def test_ticket48891_final(topology):
log.info('Testcase PASSED')
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket48891_setup(topo)
- test_ticket48891_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
-
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48916_test.py b/dirsrvtests/tests/tickets/ticket48916_test.py
index 44c96da..299b224 100644
--- a/dirsrvtests/tests/tickets/ticket48916_test.py
+++ b/dirsrvtests/tests/tickets/ticket48916_test.py
@@ -147,6 +147,7 @@ def _create_user(inst, idnum):
})
))
+
def test_ticket48916(topology):
"""
https://bugzilla.redhat.com/show_bug.cgi?id=1353629
@@ -222,11 +223,10 @@ def test_ticket48916(topology):
})
))
-
# Enable the plugins
dna_m1.enable()
dna_m2.enable()
-
+
# Restart the instances
topology.master1.restart(60)
topology.master2.restart(60)
@@ -236,7 +236,7 @@ def test_ticket48916(topology):
# Allocate the 10 members to exhaust
- for i in range(1,11):
+ for i in range(1, 11):
_create_user(topology.master2, i)
# Allocate the 11th
ldap/servers/slapd/detach.c | 81 +++++++++++++++++++++++++-------------------
1 file changed, 47 insertions(+), 34 deletions(-)
New commits:
commit a06cb4269613224e1454ed8c1ad6f702cc247b2b
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jul 26 16:51:41 2016 -0700
Ticket #48939 - nsslapd-workingdir is empty when ns-slapd is started by systemd
Description: If the Type of the service is notify in systemd, the server
process does not fork. Setting nsslapd-workingdir was missing in the not-
fork path. This patch adds it.
https://fedorahosted.org/389/ticket/48939
Reviewed by wibrown(a)redhat.com (Thank you, William!!)
diff --git a/ldap/servers/slapd/detach.c b/ldap/servers/slapd/detach.c
index 84a9eef..cd13a99 100644
--- a/ldap/servers/slapd/detach.c
+++ b/ldap/servers/slapd/detach.c
@@ -44,16 +44,50 @@
#include <unistd.h>
#endif /* USE_SYSCONF */
-int
-detach( int slapd_exemode, int importexport_encrypt,
- int s_port, daemon_ports_t *ports_info )
+static int
+set_workingdir()
{
- int i, sd;
int rc = 0;
- char *workingdir = 0;
+ char *workingdir = config_get_workingdir();
char *errorlog = 0;
char *ptr = 0;
extern char *config_get_errorlog(void);
+ extern int config_set_workingdir(const char *attrname, char *value, char *errorbuf, int apply);
+ char errorbuf[SLAPI_DSE_RETURNTEXT_SIZE];
+
+ if ( NULL == workingdir ) {
+ errorlog = config_get_errorlog();
+ if (NULL == errorlog) {
+ rc = chdir("/");
+ } else {
+ ptr = strrchr(errorlog, '/');
+ if (ptr) {
+ *ptr = '\0';
+ }
+ rc = chdir(errorlog);
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, errorlog, errorbuf, 1) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ }
+ slapi_ch_free_string(&errorlog);
+ }
+ } else {
+ /* calling config_set_workingdir to check for validity of directory, don't apply */
+ if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, workingdir, errorbuf, 0) == LDAP_OPERATIONS_ERROR) {
+ LDAPDebug1Arg(LDAP_DEBUG_ANY, "detach: set workingdir failed with \"%s\"\n", errorbuf);
+ rc = chdir("/");
+ } else {
+ rc = chdir(workingdir);
+ }
+ slapi_ch_free_string(&workingdir);
+ }
+ return rc;
+}
+
+int
+detach( int slapd_exemode, int importexport_encrypt,
+ int s_port, daemon_ports_t *ports_info )
+{
+ int i, sd;
if ( should_detach ) {
for ( i = 0; i < 5; i++ ) {
@@ -76,35 +110,12 @@ detach( int slapd_exemode, int importexport_encrypt,
}
/* call this right after the fork, but before closing stdin */
- if (slapd_do_all_nss_ssl_init(slapd_exemode, importexport_encrypt,
- s_port, ports_info)) {
+ if (slapd_do_all_nss_ssl_init(slapd_exemode, importexport_encrypt, s_port, ports_info)) {
return 1;
}
- workingdir = config_get_workingdir();
- if ( NULL == workingdir ) {
- errorlog = config_get_errorlog();
- if ( NULL == errorlog ) {
- rc = chdir( "/" );
- PR_ASSERT(rc == 0);
- } else {
- if ((ptr = strrchr(errorlog, '/')) ||
- (ptr = strrchr(errorlog, '\\'))) {
- *ptr = 0;
- }
- rc = chdir( errorlog );
- PR_ASSERT(rc == 0);
- config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, errorlog, NULL, 1);
- slapi_ch_free_string(&errorlog);
- }
- } else {
- /* calling config_set_workingdir to check for validity of directory, don't apply */
- if (config_set_workingdir(CONFIG_WORKINGDIR_ATTRIBUTE, workingdir, NULL, 0) == LDAP_OPERATIONS_ERROR) {
- return 1;
- }
- rc = chdir( workingdir );
- PR_ASSERT(rc == 0);
- slapi_ch_free_string(&workingdir);
+ if (set_workingdir()) {
+ LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: chdir to workingdir failed.\n");
}
if ( (sd = open( "/dev/null", O_RDWR )) == -1 ) {
@@ -127,14 +138,16 @@ detach( int slapd_exemode, int importexport_encrypt,
g_set_detached(1);
} else { /* not detaching - call nss/ssl init */
- if (slapd_do_all_nss_ssl_init(slapd_exemode, importexport_encrypt,
- s_port, ports_info)) {
+ if (slapd_do_all_nss_ssl_init(slapd_exemode, importexport_encrypt, s_port, ports_info)) {
return 1;
}
+ if (set_workingdir()) {
+ LDAPDebug0Args(LDAP_DEBUG_ANY, "detach: chdir to workingdir failed.\n");
+ }
}
(void) SIGNAL( SIGPIPE, SIG_IGN );
- return rc;
+ return 0;
}
/*
src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java | 73 ----------
1 file changed, 73 deletions(-)
New commits:
commit d2ab6a5061cb8faeaa32f9a95674297e427d1aea
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Thu Jul 21 11:41:56 2016 -0700
Ticket #48933 - drop support for legacy replication - need to clean code
Description: Fix for #84139 (commit 8b276a5533ff4945e23f2091c9de29c605491b25)
still contains legacy repliation code which is unused. Cleaning it up.
https://fedorahosted.org/389/ticket/48933
Reviewed by mreynolds(a)redhat.com (Thank you, Mark!!)
diff --git a/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java b/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
index 8b0d6cc..a1852ef 100755
--- a/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
+++ b/src/com/netscape/admin/dirserv/panel/replication/WindowsSyncSettingPanel.java
@@ -88,8 +88,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
createEnableReplicaArea(_myPanel);
- //createReplicaTypeArea(_myPanel);
-
//createCommonAttributeArea(_myPanel);
//createConsumerArea(_myPanel);
@@ -124,40 +122,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
cc.add(Box.createHorizontalGlue(), gbc);
}
- private void createReplicaTypeArea(Container cc) {
- _replicaTypePanel = new GroupPanel(_resource.getString(_section,"type-label"));
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.weightx = 1.0;
- gbc.gridwidth = gbc.REMAINDER;
- gbc.fill = gbc.HORIZONTAL;
- gbc.anchor = gbc.NORTHWEST;
- cc.add(_replicaTypePanel, gbc);
-
- /* Replica type radiobuttons */
- //_rbIsActiveDirectory = makeJRadioButton(_section,"activedirectory", true, _resource);
- _rbIsActiveDirectory = makeJRadioButton("activedirectory");
- _rbIsActiveDirectory.setToolTipText("activedirectory"); //XXX
-
- //_rbIsLegacyNT = makeJRadioButton(_section,"activedirectory", true, _resource);
- _rbIsLegacyNT = makeJRadioButton("legacy nt"); //XXX
- _rbIsLegacyNT.setToolTipText("not activedirectory"); //XXX
-
- ButtonGroup replicaType = new ButtonGroup();
- replicaType.add(_rbIsActiveDirectory);
- replicaType.add(_rbIsLegacyNT);
-
- gbc.insets = (Insets)ReplicationTool.DEFAULT_INSETS.clone();
- gbc.fill = gbc.HORIZONTAL;
- gbc.weightx = 1.0;
- gbc.anchor = gbc.NORTHWEST;
- gbc.gridwidth = gbc.RELATIVE;
- _replicaTypePanel.add(_rbIsActiveDirectory, gbc);
- gbc.gridwidth = gbc.REMAINDER;
- _replicaTypePanel.add(_rbIsLegacyNT, gbc);
-
- }
-
private void createCommonAttributeArea(Container cc) {
_commonAttributePanel = new GroupPanel(_resource.getString(_section, "common-panel-label"));
@@ -1216,40 +1180,6 @@ public class WindowsSyncSettingPanel extends BlankPanel {
if (!_isInitialized) {
return;
}
-// if (_cbWindowsReplicaEnabled.isSelected()) {
- // setEnabledPanel(_replicaTypePanel, true);
- // setEnabledPanel(_commonAttributePanel, true);
- // /* Check the consumer panel */
- // setEnabledPanel(_consumerPanel, !_rbIsActiveDirectory.isSelected());
- // _bindDNList.setBackground(_tfNewBindDN.getBackground());
- // _referralList.setBackground(_tfNewReferral.getBackground());
- //
- // /* Check the purge delay panel */
- // _tfPurgeDelay.setEnabled(!_cbPurgeDelayNever.isSelected());
- // _cboPurgeUnit.setEnabled(!_cbPurgeDelayNever.isSelected());
-
-
- /* We don't ask for the replica ID if we are NOT defining a master.
-
- The only case where we change the replica ID is when we are
- changing the replica from a slave to a master */
- // boolean enableID = !_rbIsHub.isSelected() &&
- // !_rbIsSlave.isSelected() &&
- // (!_saveReplicaEnabled || _saveIsHub || _saveIsSlave);
- // _tfReplicaID.setEnabled(enableID);
- // _lReplicaID.setEnabled(enableID);
- // _lReplicaIDWarning.setEnabled(enableID);
-// } else {
- // setEnabledPanel(_replicaTypePanel, false);
- // setEnabledPanel(_commonAttributePanel, false);
- // setEnabledPanel(_consumerPanel, false);
- // _bindDNList.setBackground(_tfNewBindDN.getBackground());
- // _referralList.setBackground(_tfNewReferral.getBackground());
-// }
- // checkAddReferralButton();
- // checkAddBindDNButtonAndLabel();
- // checkDeleteBindDNButton();
- // checkDeleteReferralButton();
}
/* Disable/Enable the elements of a container. It is used to disable the elements of a panel
@@ -1602,9 +1532,6 @@ setValidFlag();
private JCheckBox _cbWindowsReplicaEnabled = null;
private JCheckBox _cbPurgeDelayNever = null;
- private JRadioButton _rbIsLegacyNT = null;
- private JRadioButton _rbIsActiveDirectory = null;
-
private GroupPanel _replicaTypePanel = null;
private GroupPanel _commonAttributePanel = null;
private GroupPanel _consumerPanel = null;
Makefile.in | 705 ++++++++++++++++++++++++++++++++++-------------------------
aclocal.m4 | 504 +++++++++++++++++++++++++++---------------
compile | 9
config.guess | 349 ++++++++++-------------------
config.h.in | 3
config.sub | 125 ++++++----
configure | 311 ++++++++++++++------------
depcomp | 454 ++++++++++++++++++++++---------------
install-sh | 366 ++++++++++++++----------------
m4/httpd.m4 | 2
missing | 405 ++++++++++++---------------------
11 files changed, 1697 insertions(+), 1536 deletions(-)
New commits:
commit bb2465c6b870b4f37a3872caac98766d601bd88e
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Jul 20 12:28:40 2016 -0700
Ticket #47413 - 389-admin fails to build with latest httpd
Description: There was a awk bug in the awk code in the commit
c6e18768092c55d916548fc090c91b079c0d3c8athe.
To enable the fix, ran autogen.sh, as well.
https://fedorahosted.org/389/ticket/47413
Reviewed by mreynolds(a)redhat.com (Thanks, Mark!!)
diff --git a/Makefile.in b/Makefile.in
index 537ac1d..aae7c76 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -19,23 +19,61 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -65,12 +103,6 @@ cgibin_PROGRAMS = admpw$(EXEEXT) security$(EXEEXT) ugdsconfig$(EXEEXT) \
help$(EXEEXT) ds_start$(EXEEXT) ds_restart$(EXEEXT) \
ds_shutdown$(EXEEXT) ds_listdb$(EXEEXT) ds_snmpctrl$(EXEEXT)
subdir = .
-DIST_COMMON = README $(am__configure_deps) $(dist_help_DATA) \
- $(dist_html_DATA) $(dist_icon_DATA) $(dist_man_MANS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \
- ChangeLog INSTALL NEWS compile config.guess config.sub depcomp \
- install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -84,6 +116,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(dist_help_DATA) $(dist_html_DATA) \
+ $(dist_icon_DATA) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -92,6 +127,10 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libdsa_a_AR = $(AR) $(ARFLAGS)
libdsa_a_LIBADD =
am__dirstamp = $(am__leading_dot)dirstamp
@@ -181,6 +220,10 @@ config_DEPENDENCIES = $(am__DEPENDENCIES_3)
am_download_OBJECTS = admserv/cgi-src40/download.$(OBJEXT)
download_OBJECTS = $(am_download_OBJECTS)
download_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
am_ds_listdb_OBJECTS = admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT) \
admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT)
ds_listdb_OBJECTS = $(am_ds_listdb_OBJECTS)
@@ -249,28 +292,58 @@ viewlog_OBJECTS = $(am_viewlog_OBJECTS)
viewlog_DEPENDENCIES = $(am__DEPENDENCIES_3)
SCRIPTS = $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) $(init_SCRIPTS) \
$(nodist_cmdbin_SCRIPTS) $(update_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
SOURCES = $(libdsa_a_SOURCES) $(libds_admin_serv_la_SOURCES) \
$(mod_admserv_la_SOURCES) $(mod_restartd_la_SOURCES) \
$(ReadLog_SOURCES) $(admpw_SOURCES) $(config_SOURCES) \
@@ -307,10 +380,32 @@ DATA = $(dist_help_DATA) $(dist_html_DATA) $(dist_icon_DATA) \
$(inf_DATA) $(initconfig_DATA) $(ldif_DATA) \
$(nodist_config_DATA) $(perl_DATA) $(property_DATA) \
$(systemdsystemunit_DATA) $(update_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
AM_RECURSIVE_TARGETS = cscope
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
+ $(srcdir)/config.h.in AUTHORS COPYING ChangeLog INSTALL NEWS \
+ README compile config.guess config.sub depcomp install-sh \
+ ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -330,6 +425,7 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APR_CONFIG = @APR_CONFIG@
APXS = @APXS@
AR = @AR@
@@ -650,6 +746,8 @@ DEFAULT_LIBS = libds-admin-serv.la $(DEFAULT_LIBS_NOCGI)
@SELINUX_TRUE@POLICY_FC = selinux-built/dirsrv-admin.fc
BUILT_SOURCES = $(POLICY_FC) $(RESOURCE_BUNDLES_ROOT)
@SYSTEMD_TRUE@systemdsystemunit_DATA = wrappers/$(PACKAGE_NAME).service
+@SYSTEMD_FALSE@SYSTEMD_ENABLE = 0
+@SYSTEMD_TRUE@SYSTEMD_ENABLE = 1
@SYSTEMD_FALSE@init_SCRIPTS = wrappers/$(PACKAGE_NAME)
initconfig_DATA = admserv/cfgstuff/$(PACKAGE_NAME)
ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \
@@ -971,6 +1069,7 @@ property_DATA = admserv/newinst/src/setup-ds-admin.res \
@BUNDLE_FALSE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_FALSE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_FALSE@ -e 's,@enable_service\@,@enable_service@,g' \
+@BUNDLE_FALSE@ -e 's,@systemd_enable\@,$(SYSTEMD_ENABLE),g' \
@BUNDLE_FALSE@ -e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
@BUNDLE_FALSE@ -e 's,@systemddirsrvgroupname\@,$(systemddirsrvgroupname),g' \
@BUNDLE_FALSE@ -e 's,@dsgwcgibindir\@,$(dsgwcgibindir),g' \
@@ -1042,6 +1141,7 @@ property_DATA = admserv/newinst/src/setup-ds-admin.res \
@BUNDLE_TRUE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_TRUE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_TRUE@ -e 's,@enable_service\@,@enable_service@,g' \
+@BUNDLE_TRUE@ -e 's,@systemd_enable\@,$(SYSTEMD_ENABLE),g' \
@BUNDLE_TRUE@ -e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
@BUNDLE_TRUE@ -e 's,@systemddirsrvgroupname\@,$(systemddirsrvgroupname),g' \
@BUNDLE_TRUE@ -e 's,@dsgwcgibindir\@,$(dsgwcgibindir),g' \
@@ -1068,7 +1168,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1089,8 +1188,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -1132,10 +1231,12 @@ lib/libdsa/libdsa_a-dsalib_db.$(OBJEXT): lib/libdsa/$(am__dirstamp) \
lib/libdsa/$(DEPDIR)/$(am__dirstamp)
lib/libdsa/libdsa_a-dsalib_util.$(OBJEXT): lib/libdsa/$(am__dirstamp) \
lib/libdsa/$(DEPDIR)/$(am__dirstamp)
+
libdsa.a: $(libdsa_a_OBJECTS) $(libdsa_a_DEPENDENCIES) $(EXTRA_libdsa_a_DEPENDENCIES)
- -rm -f libdsa.a
- $(libdsa_a_AR) libdsa.a $(libdsa_a_OBJECTS) $(libdsa_a_LIBADD)
- $(RANLIB) libdsa.a
+ $(AM_V_at)-rm -f libdsa.a
+ $(AM_V_AR)$(libdsa_a_AR) libdsa.a $(libdsa_a_OBJECTS) $(libdsa_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libdsa.a
+
install-admmodLTLIBRARIES: $(admmod_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(admmod_LTLIBRARIES)'; test -n "$(admmoddir)" || list=; \
@@ -1170,6 +1271,7 @@ clean-admmodLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
@@ -1248,8 +1350,9 @@ lib/libadmin/template.lo: lib/libadmin/$(am__dirstamp) \
lib/libadmin/$(DEPDIR)/$(am__dirstamp)
lib/libadmin/util.lo: lib/libadmin/$(am__dirstamp) \
lib/libadmin/$(DEPDIR)/$(am__dirstamp)
+
libds-admin-serv.la: $(libds_admin_serv_la_OBJECTS) $(libds_admin_serv_la_DEPENDENCIES) $(EXTRA_libds_admin_serv_la_DEPENDENCIES)
- $(libds_admin_serv_la_LINK) -rpath $(libdir) $(libds_admin_serv_la_OBJECTS) $(libds_admin_serv_la_LIBADD) $(LIBS)
+ $(AM_V_GEN)$(libds_admin_serv_la_LINK) -rpath $(libdir) $(libds_admin_serv_la_OBJECTS) $(libds_admin_serv_la_LIBADD) $(LIBS)
mod_admserv/$(am__dirstamp):
@$(MKDIR_P) mod_admserv
@: > mod_admserv/$(am__dirstamp)
@@ -1259,8 +1362,9 @@ mod_admserv/$(DEPDIR)/$(am__dirstamp):
mod_admserv/mod_admserv_la-mod_admserv.lo: \
mod_admserv/$(am__dirstamp) \
mod_admserv/$(DEPDIR)/$(am__dirstamp)
+
mod_admserv.la: $(mod_admserv_la_OBJECTS) $(mod_admserv_la_DEPENDENCIES) $(EXTRA_mod_admserv_la_DEPENDENCIES)
- $(mod_admserv_la_LINK) -rpath $(admmoddir) $(mod_admserv_la_OBJECTS) $(mod_admserv_la_LIBADD) $(LIBS)
+ $(AM_V_GEN)$(mod_admserv_la_LINK) -rpath $(admmoddir) $(mod_admserv_la_OBJECTS) $(mod_admserv_la_LIBADD) $(LIBS)
mod_restartd/$(am__dirstamp):
@$(MKDIR_P) mod_restartd
@: > mod_restartd/$(am__dirstamp)
@@ -1270,8 +1374,9 @@ mod_restartd/$(DEPDIR)/$(am__dirstamp):
mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo: \
mod_restartd/$(am__dirstamp) \
mod_restartd/$(DEPDIR)/$(am__dirstamp)
+
mod_restartd.la: $(mod_restartd_la_OBJECTS) $(mod_restartd_la_DEPENDENCIES) $(EXTRA_mod_restartd_la_DEPENDENCIES)
- $(mod_restartd_la_LINK) -rpath $(admmoddir) $(mod_restartd_la_OBJECTS) $(mod_restartd_la_LIBADD) $(LIBS)
+ $(AM_V_GEN)$(mod_restartd_la_LINK) -rpath $(admmoddir) $(mod_restartd_la_OBJECTS) $(mod_restartd_la_LIBADD) $(LIBS)
install-cgibinPROGRAMS: $(cgibin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(cgibin_PROGRAMS)'; test -n "$(cgibindir)" || list=; \
@@ -1281,10 +1386,12 @@ install-cgibinPROGRAMS: $(cgibin_PROGRAMS)
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -1305,7 +1412,8 @@ uninstall-cgibinPROGRAMS:
@list='$(cgibin_PROGRAMS)'; test -n "$(cgibindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(cgibindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(cgibindir)" && rm -f $$files
@@ -1327,25 +1435,29 @@ admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp):
admserv/cgi-src40/ReadLog.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
ReadLog$(EXEEXT): $(ReadLog_OBJECTS) $(ReadLog_DEPENDENCIES) $(EXTRA_ReadLog_DEPENDENCIES)
@rm -f ReadLog$(EXEEXT)
- $(ReadLog_LINK) $(ReadLog_OBJECTS) $(ReadLog_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ReadLog_LINK) $(ReadLog_OBJECTS) $(ReadLog_LDADD) $(LIBS)
admserv/cgi-src40/admpw.$(OBJEXT): admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
admpw$(EXEEXT): $(admpw_OBJECTS) $(admpw_DEPENDENCIES) $(EXTRA_admpw_DEPENDENCIES)
@rm -f admpw$(EXEEXT)
- $(admpw_LINK) $(admpw_OBJECTS) $(admpw_LDADD) $(LIBS)
+ $(AM_V_GEN)$(admpw_LINK) $(admpw_OBJECTS) $(admpw_LDADD) $(LIBS)
admserv/cgi-src40/config.$(OBJEXT): admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
config$(EXEEXT): $(config_OBJECTS) $(config_DEPENDENCIES) $(EXTRA_config_DEPENDENCIES)
@rm -f config$(EXEEXT)
- $(config_LINK) $(config_OBJECTS) $(config_LDADD) $(LIBS)
+ $(AM_V_GEN)$(config_LINK) $(config_OBJECTS) $(config_LDADD) $(LIBS)
admserv/cgi-src40/download.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
download$(EXEEXT): $(download_OBJECTS) $(download_DEPENDENCIES) $(EXTRA_download_DEPENDENCIES)
@rm -f download$(EXEEXT)
- $(LINK) $(download_OBJECTS) $(download_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(download_OBJECTS) $(download_LDADD) $(LIBS)
admserv/cgi-ds/$(am__dirstamp):
@$(MKDIR_P) admserv/cgi-ds
@: > admserv/cgi-ds/$(am__dirstamp)
@@ -1358,128 +1470,147 @@ admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT): \
admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
+
ds_listdb$(EXEEXT): $(ds_listdb_OBJECTS) $(ds_listdb_DEPENDENCIES) $(EXTRA_ds_listdb_DEPENDENCIES)
@rm -f ds_listdb$(EXEEXT)
- $(ds_listdb_LINK) $(ds_listdb_OBJECTS) $(ds_listdb_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ds_listdb_LINK) $(ds_listdb_OBJECTS) $(ds_listdb_LDADD) $(LIBS)
admserv/cgi-ds/ds_restart-restart.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
admserv/cgi-ds/ds_restart-init_ds_env.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
+
ds_restart$(EXEEXT): $(ds_restart_OBJECTS) $(ds_restart_DEPENDENCIES) $(EXTRA_ds_restart_DEPENDENCIES)
@rm -f ds_restart$(EXEEXT)
- $(ds_restart_LINK) $(ds_restart_OBJECTS) $(ds_restart_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ds_restart_LINK) $(ds_restart_OBJECTS) $(ds_restart_LDADD) $(LIBS)
admserv/cgi-ds/ds_shutdown-shutdown.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
admserv/cgi-ds/ds_shutdown-init_ds_env.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
+
ds_shutdown$(EXEEXT): $(ds_shutdown_OBJECTS) $(ds_shutdown_DEPENDENCIES) $(EXTRA_ds_shutdown_DEPENDENCIES)
@rm -f ds_shutdown$(EXEEXT)
- $(ds_shutdown_LINK) $(ds_shutdown_OBJECTS) $(ds_shutdown_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ds_shutdown_LINK) $(ds_shutdown_OBJECTS) $(ds_shutdown_LDADD) $(LIBS)
admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
admserv/cgi-ds/ds_snmpctrl-init_ds_env.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
+
ds_snmpctrl$(EXEEXT): $(ds_snmpctrl_OBJECTS) $(ds_snmpctrl_DEPENDENCIES) $(EXTRA_ds_snmpctrl_DEPENDENCIES)
@rm -f ds_snmpctrl$(EXEEXT)
- $(ds_snmpctrl_LINK) $(ds_snmpctrl_OBJECTS) $(ds_snmpctrl_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ds_snmpctrl_LINK) $(ds_snmpctrl_OBJECTS) $(ds_snmpctrl_LDADD) $(LIBS)
admserv/cgi-ds/ds_start-start.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
admserv/cgi-ds/ds_start-init_ds_env.$(OBJEXT): \
admserv/cgi-ds/$(am__dirstamp) \
admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp)
+
ds_start$(EXEEXT): $(ds_start_OBJECTS) $(ds_start_DEPENDENCIES) $(EXTRA_ds_start_DEPENDENCIES)
@rm -f ds_start$(EXEEXT)
- $(ds_start_LINK) $(ds_start_OBJECTS) $(ds_start_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ds_start_LINK) $(ds_start_OBJECTS) $(ds_start_LDADD) $(LIBS)
admserv/cgi-src40/dsconfig.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
dsconfig$(EXEEXT): $(dsconfig_OBJECTS) $(dsconfig_DEPENDENCIES) $(EXTRA_dsconfig_DEPENDENCIES)
@rm -f dsconfig$(EXEEXT)
- $(dsconfig_LINK) $(dsconfig_OBJECTS) $(dsconfig_LDADD) $(LIBS)
+ $(AM_V_GEN)$(dsconfig_LINK) $(dsconfig_OBJECTS) $(dsconfig_LDADD) $(LIBS)
admserv/cgi-src40/help.$(OBJEXT): admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
help$(EXEEXT): $(help_OBJECTS) $(help_DEPENDENCIES) $(EXTRA_help_DEPENDENCIES)
@rm -f help$(EXEEXT)
- $(LINK) $(help_OBJECTS) $(help_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(help_OBJECTS) $(help_LDADD) $(LIBS)
admserv/cgi-src40/htmladmin.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
htmladmin$(EXEEXT): $(htmladmin_OBJECTS) $(htmladmin_DEPENDENCIES) $(EXTRA_htmladmin_DEPENDENCIES)
@rm -f htmladmin$(EXEEXT)
- $(htmladmin_LINK) $(htmladmin_OBJECTS) $(htmladmin_LDADD) $(LIBS)
+ $(AM_V_GEN)$(htmladmin_LINK) $(htmladmin_OBJECTS) $(htmladmin_LDADD) $(LIBS)
admserv/cgi-src40/monreplication.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
monreplication$(EXEEXT): $(monreplication_OBJECTS) $(monreplication_DEPENDENCIES) $(EXTRA_monreplication_DEPENDENCIES)
@rm -f monreplication$(EXEEXT)
- $(monreplication_LINK) $(monreplication_OBJECTS) $(monreplication_LDADD) $(LIBS)
+ $(AM_V_GEN)$(monreplication_LINK) $(monreplication_OBJECTS) $(monreplication_LDADD) $(LIBS)
admserv/cgi-src40/restartsrv.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
restartsrv$(EXEEXT): $(restartsrv_OBJECTS) $(restartsrv_DEPENDENCIES) $(EXTRA_restartsrv_DEPENDENCIES)
@rm -f restartsrv$(EXEEXT)
- $(restartsrv_LINK) $(restartsrv_OBJECTS) $(restartsrv_LDADD) $(LIBS)
+ $(AM_V_GEN)$(restartsrv_LINK) $(restartsrv_OBJECTS) $(restartsrv_LDADD) $(LIBS)
admserv/cgi-src40/sec-activate.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
sec-activate$(EXEEXT): $(sec_activate_OBJECTS) $(sec_activate_DEPENDENCIES) $(EXTRA_sec_activate_DEPENDENCIES)
@rm -f sec-activate$(EXEEXT)
- $(sec_activate_LINK) $(sec_activate_OBJECTS) $(sec_activate_LDADD) $(LIBS)
+ $(AM_V_GEN)$(sec_activate_LINK) $(sec_activate_OBJECTS) $(sec_activate_LDADD) $(LIBS)
admserv/cgi-src40/security.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
security$(EXEEXT): $(security_OBJECTS) $(security_DEPENDENCIES) $(EXTRA_security_DEPENDENCIES)
@rm -f security$(EXEEXT)
- $(security_LINK) $(security_OBJECTS) $(security_LDADD) $(LIBS)
+ $(AM_V_GEN)$(security_LINK) $(security_OBJECTS) $(security_LDADD) $(LIBS)
admserv/cgi-src40/start_config_ds.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
start_config_ds$(EXEEXT): $(start_config_ds_OBJECTS) $(start_config_ds_DEPENDENCIES) $(EXTRA_start_config_ds_DEPENDENCIES)
@rm -f start_config_ds$(EXEEXT)
- $(start_config_ds_LINK) $(start_config_ds_OBJECTS) $(start_config_ds_LDADD) $(LIBS)
+ $(AM_V_GEN)$(start_config_ds_LINK) $(start_config_ds_OBJECTS) $(start_config_ds_LDADD) $(LIBS)
admserv/cgi-src40/statpingserv.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
statpingserv$(EXEEXT): $(statpingserv_OBJECTS) $(statpingserv_DEPENDENCIES) $(EXTRA_statpingserv_DEPENDENCIES)
@rm -f statpingserv$(EXEEXT)
- $(statpingserv_LINK) $(statpingserv_OBJECTS) $(statpingserv_LDADD) $(LIBS)
+ $(AM_V_GEN)$(statpingserv_LINK) $(statpingserv_OBJECTS) $(statpingserv_LDADD) $(LIBS)
admserv/cgi-src40/statusping.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
statusping$(EXEEXT): $(statusping_OBJECTS) $(statusping_DEPENDENCIES) $(EXTRA_statusping_DEPENDENCIES)
@rm -f statusping$(EXEEXT)
- $(statusping_LINK) $(statusping_OBJECTS) $(statusping_LDADD) $(LIBS)
+ $(AM_V_GEN)$(statusping_LINK) $(statusping_OBJECTS) $(statusping_LDADD) $(LIBS)
admserv/cgi-src40/stopsrv.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
stopsrv$(EXEEXT): $(stopsrv_OBJECTS) $(stopsrv_DEPENDENCIES) $(EXTRA_stopsrv_DEPENDENCIES)
@rm -f stopsrv$(EXEEXT)
- $(stopsrv_LINK) $(stopsrv_OBJECTS) $(stopsrv_LDADD) $(LIBS)
+ $(AM_V_GEN)$(stopsrv_LINK) $(stopsrv_OBJECTS) $(stopsrv_LDADD) $(LIBS)
admserv/cgi-src40/ugdsconfig.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
ugdsconfig$(EXEEXT): $(ugdsconfig_OBJECTS) $(ugdsconfig_DEPENDENCIES) $(EXTRA_ugdsconfig_DEPENDENCIES)
@rm -f ugdsconfig$(EXEEXT)
- $(ugdsconfig_LINK) $(ugdsconfig_OBJECTS) $(ugdsconfig_LDADD) $(LIBS)
+ $(AM_V_GEN)$(ugdsconfig_LINK) $(ugdsconfig_OBJECTS) $(ugdsconfig_LDADD) $(LIBS)
admserv/cgi-src40/viewdata.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
viewdata$(EXEEXT): $(viewdata_OBJECTS) $(viewdata_DEPENDENCIES) $(EXTRA_viewdata_DEPENDENCIES)
@rm -f viewdata$(EXEEXT)
- $(viewdata_LINK) $(viewdata_OBJECTS) $(viewdata_LDADD) $(LIBS)
+ $(AM_V_GEN)$(viewdata_LINK) $(viewdata_OBJECTS) $(viewdata_LDADD) $(LIBS)
admserv/cgi-src40/viewlog.$(OBJEXT): \
admserv/cgi-src40/$(am__dirstamp) \
admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp)
+
viewlog$(EXEEXT): $(viewlog_OBJECTS) $(viewlog_DEPENDENCIES) $(EXTRA_viewlog_DEPENDENCIES)
@rm -f viewlog$(EXEEXT)
- $(viewlog_LINK) $(viewlog_OBJECTS) $(viewlog_LDADD) $(LIBS)
+ $(AM_V_GEN)$(viewlog_LINK) $(viewlog_OBJECTS) $(viewlog_LDADD) $(LIBS)
install-cgibinSCRIPTS: $(cgibin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(cgibin_SCRIPTS)'; test -n "$(cgibindir)" || list=; \
@@ -1728,318 +1859,318 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
lib/libdsa/libdsa_a-dsalib_conf.o: lib/libdsa/dsalib_conf.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c
lib/libdsa/libdsa_a-dsalib_conf.obj: lib/libdsa/dsalib_conf.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi`
lib/libdsa/libdsa_a-dsalib_debug.o: lib/libdsa/dsalib_debug.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c
lib/libdsa/libdsa_a-dsalib_debug.obj: lib/libdsa/dsalib_debug.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi`
lib/libdsa/libdsa_a-dsalib_tailf.o: lib/libdsa/dsalib_tailf.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c
lib/libdsa/libdsa_a-dsalib_tailf.obj: lib/libdsa/dsalib_tailf.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi`
lib/libdsa/libdsa_a-dsalib_confs.o: lib/libdsa/dsalib_confs.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c
lib/libdsa/libdsa_a-dsalib_confs.obj: lib/libdsa/dsalib_confs.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi`
lib/libdsa/libdsa_a-dsalib_location.o: lib/libdsa/dsalib_location.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c
lib/libdsa/libdsa_a-dsalib_location.obj: lib/libdsa/dsalib_location.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi`
lib/libdsa/libdsa_a-dsalib_updown.o: lib/libdsa/dsalib_updown.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c
lib/libdsa/libdsa_a-dsalib_updown.obj: lib/libdsa/dsalib_updown.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi`
lib/libdsa/libdsa_a-dsalib_db.o: lib/libdsa/dsalib_db.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c
lib/libdsa/libdsa_a-dsalib_db.obj: lib/libdsa/dsalib_db.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi`
lib/libdsa/libdsa_a-dsalib_util.o: lib/libdsa/dsalib_util.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.o -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c
lib/libdsa/libdsa_a-dsalib_util.obj: lib/libdsa/dsalib_util.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.obj -MD -MP -MF lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi`
mod_admserv/mod_admserv_la-mod_admserv.lo: mod_admserv/mod_admserv.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_admserv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_admserv/mod_admserv_la-mod_admserv.lo -MD -MP -MF mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Tpo -c -o mod_admserv/mod_admserv_la-mod_admserv.lo `test -f 'mod_admserv/mod_admserv.c' || echo '$(srcdir)/'`mod_admserv/mod_admserv.c
-@am__fastdepCC_TRUE@ $(am__mv) mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Tpo mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mod_admserv/mod_admserv.c' object='mod_admserv/mod_admserv_la-mod_admserv.lo' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_admserv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_admserv/mod_admserv_la-mod_admserv.lo -MD -MP -MF mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Tpo -c -o mod_admserv/mod_admserv_la-mod_admserv.lo `test -f 'mod_admserv/mod_admserv.c' || echo '$(srcdir)/'`mod_admserv/mod_admserv.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Tpo mod_admserv/$(DEPDIR)/mod_admserv_la-mod_admserv.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mod_admserv/mod_admserv.c' object='mod_admserv/mod_admserv_la-mod_admserv.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_admserv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_admserv/mod_admserv_la-mod_admserv.lo `test -f 'mod_admserv/mod_admserv.c' || echo '$(srcdir)/'`mod_admserv/mod_admserv.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_admserv_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_admserv/mod_admserv_la-mod_admserv.lo `test -f 'mod_admserv/mod_admserv.c' || echo '$(srcdir)/'`mod_admserv/mod_admserv.c
mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo: mod_restartd/mod_restartd@ap_ver_suf@.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_restartd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo -MD -MP -MF mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Tpo -c -o mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo `test -f 'mod_restartd/mod_restartd@ap_ver_suf@.c' || echo '$(srcdir)/'`mod_restartd/mod_restartd@ap_ver_suf@.c
-@am__fastdepCC_TRUE@ $(am__mv) mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Tpo mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mod_restartd/mod_restartd@ap_ver_suf@.c' object='mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_restartd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo -MD -MP -MF mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Tpo -c -o mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo `test -f 'mod_restartd/mod_restartd@ap_ver_suf@.c' || echo '$(srcdir)/'`mod_restartd/mod_restartd@ap_ver_suf@.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Tpo mod_restartd/$(DEPDIR)/mod_restartd_la-mod_restartd@ap_ver_suf@.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mod_restartd/mod_restartd@ap_ver_suf@.c' object='mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_restartd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo `test -f 'mod_restartd/mod_restartd@ap_ver_suf@.c' || echo '$(srcdir)/'`mod_restartd/mod_restartd@ap_ver_suf@.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mod_restartd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mod_restartd/mod_restartd_la-mod_restartd@ap_ver_suf@.lo `test -f 'mod_restartd/mod_restartd@ap_ver_suf@.c' || echo '$(srcdir)/'`mod_restartd/mod_restartd@ap_ver_suf@.c
admserv/cgi-ds/ds_listdb-ds_listdb.o: admserv/cgi-ds/ds_listdb.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c
admserv/cgi-ds/ds_listdb-ds_listdb.obj: admserv/cgi-ds/ds_listdb.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi`
admserv/cgi-ds/ds_listdb-init_ds_env.o: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
admserv/cgi-ds/ds_listdb-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
admserv/cgi-ds/ds_restart-restart.o: admserv/cgi-ds/restart.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c
admserv/cgi-ds/ds_restart-restart.obj: admserv/cgi-ds/restart.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi`
admserv/cgi-ds/ds_restart-init_ds_env.o: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
admserv/cgi-ds/ds_restart-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
admserv/cgi-ds/ds_shutdown-shutdown.o: admserv/cgi-ds/shutdown.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c
admserv/cgi-ds/ds_shutdown-shutdown.obj: admserv/cgi-ds/shutdown.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi`
admserv/cgi-ds/ds_shutdown-init_ds_env.o: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
admserv/cgi-ds/ds_shutdown-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o: admserv/cgi-ds/ds_snmpctrl.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c
admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj: admserv/cgi-ds/ds_snmpctrl.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi`
admserv/cgi-ds/ds_snmpctrl-init_ds_env.o: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
admserv/cgi-ds/ds_start-start.o: admserv/cgi-ds/start.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c
admserv/cgi-ds/ds_start-start.obj: admserv/cgi-ds/start.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi`
admserv/cgi-ds/ds_start-init_ds_env.o: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.o -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c
admserv/cgi-ds/ds_start-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.obj -MD -MP -MF admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`
.cpp.o:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -2329,26 +2460,15 @@ uninstall-updateDATA:
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(updatedir)'; $(am__uninstall_files_from_dir)
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -2360,15 +2480,11 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -2377,18 +2493,16 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
clean-cscope:
-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-am
-cscope.files: clean-cscope cscopelist
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
@@ -2406,19 +2520,6 @@ distclean-tags:
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically 'make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -2474,10 +2575,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -2510,18 +2617,19 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod u+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -2729,12 +2837,12 @@ uninstall-man: uninstall-man8
.MAKE: all check install install-am install-data-am install-strip
-.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am clean \
clean-admmodLTLIBRARIES clean-cgibinPROGRAMS clean-cscope \
clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
- clean-noinstLIBRARIES cscope cscopelist ctags dist dist-all \
- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-compile \
+ clean-noinstLIBRARIES cscope cscopelist-am ctags ctags-am dist \
+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+ dist-xz dist-zip distcheck distclean distclean-compile \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install \
@@ -2753,8 +2861,9 @@ uninstall-man: uninstall-man8
install-updateSCRIPTS installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-admmodLTLIBRARIES \
- uninstall-am uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \
+ pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-admmodLTLIBRARIES uninstall-am \
+ uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \
uninstall-cmdbinSCRIPTS uninstall-dist_helpDATA \
uninstall-dist_htmlDATA uninstall-dist_iconDATA \
uninstall-infDATA uninstall-initSCRIPTS \
@@ -2765,6 +2874,8 @@ uninstall-man: uninstall-man8
uninstall-systemdsystemunitDATA uninstall-updateDATA \
uninstall-updateSCRIPTS
+.PRECIOUS: Makefile
+
define NL
\\n
endef
diff --git a/aclocal.m4 b/aclocal.m4
index 9997c9c..e538221 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11,6 +11,7 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
@@ -219,24 +220,37 @@ m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
-
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.2], [],
+m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -252,21 +266,19 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.2])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
@@ -306,22 +318,19 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 10
-
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
@@ -347,13 +356,12 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 17
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -539,19 +547,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -580,7 +587,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
@@ -616,17 +623,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 19
-
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -639,7 +650,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -669,8 +680,7 @@ AC_SUBST([CYGPATH_W])
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated. For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+ [$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
@@ -703,8 +713,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html >
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html >
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -724,21 +734,63 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542 >
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/ >.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
@@ -747,7 +799,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -769,20 +820,18 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
-
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -792,14 +841,12 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
@@ -816,14 +863,12 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 7
-
# AM_MAINTAINER_MODE([DEFAULT-MODE])
# ----------------------------------
# Control maintainer-specific portions of Makefiles.
@@ -851,18 +896,14 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
]
)
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
@@ -905,50 +946,14 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 7
-
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
@@ -956,11 +961,10 @@ AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
-
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -973,8 +977,8 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
@@ -983,14 +987,12 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
-
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
@@ -1014,15 +1016,77 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
@@ -1099,13 +1163,71 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_STRIP
# ---------------------
@@ -1129,14 +1251,12 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1150,14 +1270,12 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
@@ -1171,76 +1289,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
diff --git a/compile b/compile
index 7b4a9a7..a85b723 100755
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -112,6 +112,11 @@ func_cl_dashl ()
lib=$dir/$lib.lib
break
fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
done
IFS=$save_IFS
diff --git a/config.guess b/config.guess
index c0adba9..dbfb978 100755
--- a/config.guess
+++ b/config.guess
@@ -1,14 +1,12 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2012-06-10'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -22,19 +20,17 @@ timestamp='2012-06-10'
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches(a)gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gues…
+#
+# Please send patches to <config-patches(a)gnu.org>.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -54,9 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -560,8 +579,9 @@ EOF
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
@@ -801,10 +821,13 @@ EOF
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -852,21 +875,21 @@ EOF
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -879,59 +902,54 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@@ -950,54 +968,63 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or32:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1201,6 +1228,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1227,19 +1257,31 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1330,157 +1372,6 @@ EOF
exit ;;
esac
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/config.h.in b/config.h.in
index 0902c45..c348b23 100644
--- a/config.h.in
+++ b/config.h.in
@@ -273,9 +273,6 @@
/* Linux */
#undef Linux
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Domestic security level enabled by default */
#undef NS_DOMESTIC
diff --git a/config.sub b/config.sub
index 6205f84..6467c95 100755
--- a/config.sub
+++ b/config.sub
@@ -1,24 +1,18 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2012-04-18'
+timestamp='2015-01-01'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/ >.
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches(a)gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches to <config-patches(a)gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches(a)gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +116,7 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +149,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
@@ -259,21 +252,24 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
- | fido | fr30 | frv \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -287,23 +283,26 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
- | nios | nios2 \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -314,6 +313,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -328,7 +328,10 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -370,13 +373,13 @@ case $basic_machine in
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -385,11 +388,13 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -403,18 +408,22 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -432,6 +441,7 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -769,6 +779,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -788,11 +801,15 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -820,6 +837,10 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -828,7 +849,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1004,7 +1025,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
@@ -1019,7 +1040,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
@@ -1346,29 +1371,29 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1492,9 +1517,6 @@ case $os in
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1543,6 +1565,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
diff --git a/configure b/configure
index bf81905..286d9a9 100755
--- a/configure
+++ b/configure
@@ -805,6 +805,10 @@ build
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
am__untar
am__tar
AMTAR
@@ -869,6 +873,7 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
+enable_silent_rules
enable_maintainer_mode
enable_dependency_tracking
enable_static
@@ -1552,6 +1557,8 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
@@ -2685,7 +2692,7 @@ cat >>confdefs.h <<_ACEOF
#define ADM_PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-am__api_version='1.12'
+am__api_version='1.15'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2886,8 +2893,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -2898,15 +2905,15 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3139,6 +3146,45 @@ else
fi
rmdir .tst 2>/dev/null
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
@@ -3195,18 +3241,65 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html >
mkdir_p='$(MKDIR_P)'
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542 >
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/ >.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# define these for automake distdir
VERSION=$PACKAGE_VERSION
PACKAGE=$PACKAGE_TARNAME
@@ -4556,6 +4649,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -4684,131 +4836,6 @@ else
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
# disable static libs by default - we only use a couple
@@ -7182,7 +7209,7 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -7200,7 +7227,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -7219,7 +7249,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -18085,7 +18118,7 @@ esac
httpdconf=${httpd_root}/${httpd_conf_rel}
-mimemagic=`awk '"MIMEMagicFile" == $1" {print $2}' $httpdconf`
+mimemagic=`awk '("MIMEMagicFile" == $1) {print $2}' $httpdconf`
if test ! -f "$mimemagic" ; then
# assume relative to root
mimemagic=${httpd_root}/${mimemagic}
@@ -21972,7 +22005,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -22023,7 +22056,7 @@ $as_echo X"$mf" |
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
diff --git a/depcomp b/depcomp
index debb6ff..fc98710 100755
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -27,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
case $1 in
'')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -56,11 +56,65 @@ EOF
;;
esac
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
# A tabulation character.
tab=' '
# A newline character.
nl='
'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -74,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -85,32 +142,32 @@ if test "$depmode" = hp; then
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvisualcpp
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
- # This is just like msvc7 but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvc7
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
fi
if test "$depmode" = xlc; then
- # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
- gccflag=-qmakedep=gcc,-MF
- depmode=gcc
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
@@ -133,8 +190,7 @@ gcc3)
done
"$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -142,13 +198,17 @@ gcc3)
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
@@ -156,15 +216,14 @@ gcc)
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
@@ -173,15 +232,15 @@ gcc)
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' "$nl" < "$tmpdepfile" |
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
- | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -199,8 +258,7 @@ sgi)
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -208,7 +266,6 @@ sgi)
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
@@ -216,19 +273,15 @@ sgi)
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr "$nl" ' ' >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
-
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
@@ -246,9 +299,8 @@ aix)
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
@@ -261,9 +313,7 @@ aix)
"$@" -M
fi
stat=$?
-
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
@@ -272,65 +322,113 @@ aix)
do
test -f "$tmpdepfile" && break
done
- if test -f "$tmpdepfile"; then
- # Each line is of the form 'foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
- # However on
- # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using '\':
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
- # tcc 0.9.26 (FIXME still under development at the moment of writing)
- # will emit a similar output, but also prepend the continuation lines
- # with horizontal tabulation characters.
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
- # Each line is of the form 'foo.o: dependent.h',
- # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
- < "$tmpdepfile" > "$depfile"
- sed '
- s/[ '"$tab"'][ '"$tab"']*/ /g
- s/^ *//
- s/ *\\*$//
- s/^[^:]*: *//
- /^$/d
- /:$/d
- s/$/ :/
- ' < "$tmpdepfile" >> "$depfile"
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -341,9 +439,8 @@ hp2)
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
@@ -354,8 +451,7 @@ hp2)
"$@" +Maked
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
@@ -365,76 +461,61 @@ hp2)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in 'foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
msvc7)
if test "$libtool" = yes; then
@@ -445,8 +526,7 @@ msvc7)
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
- if test "$stat" = 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -472,6 +552,7 @@ $ {
G
p
}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
@@ -523,13 +604,14 @@ dashmstdout)
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -582,10 +664,12 @@ makedepend)
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
@@ -621,10 +705,10 @@ cpp)
esac
done
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -656,15 +740,15 @@ msvisualcpp)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
"$@" -E 2>/dev/null |
diff --git a/install-sh b/install-sh
index 377bb86..0b0fdcb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
- -T) no_target_directory=true;;
+ -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -269,41 +274,15 @@ do
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
@@ -314,74 +293,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -391,53 +370,51 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -472,15 +449,12 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -493,24 +467,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
diff --git a/m4/httpd.m4 b/m4/httpd.m4
index b72054c..255b63b 100644
--- a/m4/httpd.m4
+++ b/m4/httpd.m4
@@ -61,7 +61,7 @@ esac
httpdconf=${httpd_root}/${httpd_conf_rel}
-mimemagic=`awk '"MIMEMagicFile" == $1" {print $2}' $httpdconf`
+mimemagic=`awk '("MIMEMagicFile" == $1) {print $2}' $httpdconf`
if test ! -f "$mimemagic" ; then
# assume relative to root
mimemagic=${httpd_root}/${mimemagic}
diff --git a/missing b/missing
index 9a55648..f62bbae 100755
--- a/missing
+++ b/missing
@@ -1,10 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -29,61 +29,33 @@ if test $# -eq 0; then
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, 'missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file 'aclocal.m4'
- autoconf touch file 'configure'
- autoheader touch file 'config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all 'Makefile.in' files
- bison create 'y.tab.[ch]', if possible, from existing .[ch]
- flex create 'lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create 'lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create 'y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
@@ -98,228 +70,141 @@ Send bug reports to <bug-automake(a)gnu.org>."
;;
-*)
- echo 1>&2 "$0: Unknown '$1' option"
+ echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running '$TOOL --version' or '$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acinclude.m4' or '${configure_ac}'. You might want
- to install the Automake and Perl packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified '${configure_ac}'. You might want to install the
- Autoconf and GNU m4 packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acconfig.h' or '${configure_ac}'. You might want
- to install the Autoconf and GNU m4 packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
- You might want to install the Automake and Perl packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: '$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get '$1' as part of Autoconf from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: '$1' $msg. You should only need it if
- you modified a '.y' file. You may need the Bison package
- in order for those modifications to take effect. You can get
- Bison from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.l' file. You may need the Flex package
- in order for those modifications to take effect. You can get
- Flex from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- Help2man package in order for those modifications to take
- effect. You can get Help2man from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.texi' or '.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy 'make' (AIX,
- DU, IRIX). You might want to install the Texinfo package or
- the GNU make package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: '$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the 'README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing '$1' program."
- exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
wrappers/systemd.template.sysconfig | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit 5e810f82fd36d606f48d9a1218d2b8937bdf04ef
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jul 26 15:31:32 2016 -0400
Ticket 48935 - Update dirsrv.systemd file
BUg Description: Two issues here. First the default system startup timeout
is set to 1 minute 30 seconds. But in the start-dirsrv script
it attempts to use a 10 minute timeout.
Second, starting in F23 systemd does not work well with valgrind.
systemd does not accept the notification once the DS starts.
So the start command actually fails after it times out.
Fix Description: For the first issue set the system startup timeout to match the
start-dirsrv script by setting:
TimeoutStartSecs=10min
Second, allow valgrind's startup success message to be
recognized/accepted we set:
NotifyAccess=all
https://fedorahosted.org/389/ticket/48935
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit ce44176803aa52ab8001113136bfbb7ff4a50972)
diff --git a/wrappers/systemd.template.sysconfig b/wrappers/systemd.template.sysconfig
index d88bdcd..e653c86 100644
--- a/wrappers/systemd.template.sysconfig
+++ b/wrappers/systemd.template.sysconfig
@@ -1,3 +1,6 @@
[Service]
+TimeoutStartSec=10m
+NotifyAccess=all
+
# uncomment this line to raise the file descriptor limit
# LimitNOFILE=8192
wrappers/systemd.template.sysconfig | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit ce44176803aa52ab8001113136bfbb7ff4a50972
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jul 26 15:31:32 2016 -0400
Ticket 48935 - Update dirsrv.systemd file
BUg Description: Two issues here. First the default system startup timeout
is set to 1 minute 30 seconds. But in the start-dirsrv script
it attempts to use a 10 minute timeout.
Second, starting in F23 systemd does not work well with valgrind.
systemd does not accept the notification once the DS starts.
So the start command actually fails after it times out.
Fix Description: For the first issue set the system startup timeout to match the
start-dirsrv script by setting:
TimeoutStartSecs=10min
Second, allow valgrind's startup success message to be
recognized/accepted we set:
NotifyAccess=all
https://fedorahosted.org/389/ticket/48935
Reviewed by: nhosoi(Thanks!)
diff --git a/wrappers/systemd.template.sysconfig b/wrappers/systemd.template.sysconfig
index d88bdcd..e653c86 100644
--- a/wrappers/systemd.template.sysconfig
+++ b/wrappers/systemd.template.sysconfig
@@ -1,3 +1,6 @@
[Service]
+TimeoutStartSec=10m
+NotifyAccess=all
+
# uncomment this line to raise the file descriptor limit
# LimitNOFILE=8192
src/com
by Mark Reynolds
22 Jul '16
22 Jul '16
src/com/netscape/admin/dirserv/panel/AccountLockoutPanel.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 471689a4b22988eb4b2cfd3e3bd9ff28054f97ea
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Jul 22 10:49:16 2016 -0400
Ticket 48926 - Inactive "save" button in "Password policy" dialog
Description: Remove the dependency on the fine grained password policy
to enable the save button
https://fedorahosted.org/389/ticket/48926
Reviewed by: nhosoi(Thanks!)
diff --git a/src/com/netscape/admin/dirserv/panel/AccountLockoutPanel.java b/src/com/netscape/admin/dirserv/panel/AccountLockoutPanel.java
index e472a68..ee92948 100644
--- a/src/com/netscape/admin/dirserv/panel/AccountLockoutPanel.java
+++ b/src/com/netscape/admin/dirserv/panel/AccountLockoutPanel.java
@@ -265,7 +265,7 @@ public class AccountLockoutPanel extends BlankPanel {
}
private void enableLockout() {
- boolean enable = ( _cbLockout.isSelected() && _fineGrainedCheckbox);
+ boolean enable = _cbLockout.isSelected();
Enumeration e = _items.elements();
while( e.hasMoreElements() ) {
JComponent comp = (JComponent)e.nextElement();
@@ -275,7 +275,7 @@ public class AccountLockoutPanel extends BlankPanel {
}
private void enableDuration (){
- boolean enable = ( _rbLockoutMinutes.isSelected() && _fineGrainedCheckbox);
+ boolean enable = _rbLockoutMinutes.isSelected();
_tfLockoutMinutesValue.setEnabled (enable);
_tfLockoutMinutesValue.repaint ();
dirsrvtests/create_test.py | 7
dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py | 20
dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py | 12
dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py | 15
dirsrvtests/tests/suites/acl/acl_test.py | 6
dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py | 14
dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py | 17
dirsrvtests/tests/suites/automember_plugin/automember_test.py | 14
dirsrvtests/tests/suites/basic/basic_test.py | 31
dirsrvtests/tests/suites/betxns/betxn_test.py | 11
dirsrvtests/tests/suites/chaining_plugin/chaining_test.py | 15
dirsrvtests/tests/suites/clu/clu_test.py | 15
dirsrvtests/tests/suites/clu/db2ldif_test.py | 14
dirsrvtests/tests/suites/collation_plugin/collatation_test.py | 8
dirsrvtests/tests/suites/cos_plugin/cos_test.py | 13
dirsrvtests/tests/suites/deref_plugin/deref_test.py | 13
dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py | 13
dirsrvtests/tests/suites/distrib_plugin/distrib_test.py | 13
dirsrvtests/tests/suites/ds_logs/ds_logs_test.py | 13
dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py | 9
dirsrvtests/tests/suites/filter/filter_test.py | 12
dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py | 2
dirsrvtests/tests/suites/get_effective_rights/ger_test.py | 13
dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py | 5
dirsrvtests/tests/suites/ldapi/ldapi_test.py | 13
dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py | 13
dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py | 13
dirsrvtests/tests/suites/memberof_plugin/memberof_test.py | 1
dirsrvtests/tests/suites/memory_leaks/range_search_test.py | 4
dirsrvtests/tests/suites/monitor/monitor_test.py | 13
dirsrvtests/tests/suites/paged_results/paged_results_test.py | 40
dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py | 13
dirsrvtests/tests/suites/passthru_plugin/passthru_test.py | 13
dirsrvtests/tests/suites/password/password_test.py | 11
dirsrvtests/tests/suites/password/pwdAdmin_test.py | 11
dirsrvtests/tests/suites/password/pwdPolicy_test.py | 181 +-
dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py | 13
dirsrvtests/tests/suites/psearch/psearch_test.py | 13
dirsrvtests/tests/suites/referint_plugin/referint_test.py | 13
dirsrvtests/tests/suites/replication/cleanallruv_test.py | 703 +++-------
dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py | 16
dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py | 13
dirsrvtests/tests/suites/resource_limits/res_limits_test.py | 13
dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py | 13
dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py | 13
dirsrvtests/tests/suites/roles_plugin/roles_test.py | 13
dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py | 22
dirsrvtests/tests/suites/sasl/sasl_test.py | 14
dirsrvtests/tests/suites/schema/test_schema.py | 10
dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py | 13
dirsrvtests/tests/suites/snmp/snmp_test.py | 13
dirsrvtests/tests/suites/ssl/ssl_test.py | 13
dirsrvtests/tests/suites/syntax_plugin/syntax_test.py | 13
dirsrvtests/tests/suites/usn_plugin/usn_test.py | 13
dirsrvtests/tests/suites/views_plugin/views_test.py | 14
dirsrvtests/tests/suites/vlv/vlv_test.py | 13
dirsrvtests/tests/suites/whoami_plugin/whoami_test.py | 13
dirsrvtests/tests/tickets/ticket1347760_test.py | 10
dirsrvtests/tests/tickets/ticket142_test.py | 15
dirsrvtests/tests/tickets/ticket365_test.py | 67
dirsrvtests/tests/tickets/ticket47313_test.py | 12
dirsrvtests/tests/tickets/ticket47384_test.py | 41
dirsrvtests/tests/tickets/ticket47431_test.py | 14
dirsrvtests/tests/tickets/ticket47490_test.py | 11
dirsrvtests/tests/tickets/ticket47536_test.py | 36
dirsrvtests/tests/tickets/ticket47560_test.py | 8
dirsrvtests/tests/tickets/ticket47573_test.py | 10
dirsrvtests/tests/tickets/ticket47619_test.py | 10
dirsrvtests/tests/tickets/ticket47640_test.py | 6
dirsrvtests/tests/tickets/ticket47653MMR_test.py | 13
dirsrvtests/tests/tickets/ticket47653_test.py | 13
dirsrvtests/tests/tickets/ticket47669_test.py | 6
dirsrvtests/tests/tickets/ticket47676_test.py | 10
dirsrvtests/tests/tickets/ticket47714_test.py | 19
dirsrvtests/tests/tickets/ticket47721_test.py | 11
dirsrvtests/tests/tickets/ticket47781_test.py | 6
dirsrvtests/tests/tickets/ticket47787_test.py | 10
dirsrvtests/tests/tickets/ticket47808_test.py | 10
dirsrvtests/tests/tickets/ticket47815_test.py | 6
dirsrvtests/tests/tickets/ticket47819_test.py | 15
dirsrvtests/tests/tickets/ticket47823_test.py | 8
dirsrvtests/tests/tickets/ticket47828_test.py | 202 +-
dirsrvtests/tests/tickets/ticket47829_test.py | 8
dirsrvtests/tests/tickets/ticket47833_test.py | 54
dirsrvtests/tests/tickets/ticket47838_test.py | 24
dirsrvtests/tests/tickets/ticket47869MMR_test.py | 10
dirsrvtests/tests/tickets/ticket47871_test.py | 11
dirsrvtests/tests/tickets/ticket47900_test.py | 6
dirsrvtests/tests/tickets/ticket47910_test.py | 44
dirsrvtests/tests/tickets/ticket47920_test.py | 6
dirsrvtests/tests/tickets/ticket47921_test.py | 6
dirsrvtests/tests/tickets/ticket47927_test.py | 6
dirsrvtests/tests/tickets/ticket47937_test.py | 6
dirsrvtests/tests/tickets/ticket47950_test.py | 6
dirsrvtests/tests/tickets/ticket47953_test.py | 19
dirsrvtests/tests/tickets/ticket47963_test.py | 6
dirsrvtests/tests/tickets/ticket47966_test.py | 10
dirsrvtests/tests/tickets/ticket47970_test.py | 6
dirsrvtests/tests/tickets/ticket47973_test.py | 6
dirsrvtests/tests/tickets/ticket47980_test.py | 6
dirsrvtests/tests/tickets/ticket47981_test.py | 6
dirsrvtests/tests/tickets/ticket47988_test.py | 9
dirsrvtests/tests/tickets/ticket48005_test.py | 38
dirsrvtests/tests/tickets/ticket48013_test.py | 6
dirsrvtests/tests/tickets/ticket48026_test.py | 6
dirsrvtests/tests/tickets/ticket48170_test.py | 8
dirsrvtests/tests/tickets/ticket48194_test.py | 10
dirsrvtests/tests/tickets/ticket48212_test.py | 10
dirsrvtests/tests/tickets/ticket48214_test.py | 7
dirsrvtests/tests/tickets/ticket48226_test.py | 29
dirsrvtests/tests/tickets/ticket48228_test.py | 6
dirsrvtests/tests/tickets/ticket48252_test.py | 15
dirsrvtests/tests/tickets/ticket48265_test.py | 5
dirsrvtests/tests/tickets/ticket48270_test.py | 28
dirsrvtests/tests/tickets/ticket48294_test.py | 9
dirsrvtests/tests/tickets/ticket48295_test.py | 8
dirsrvtests/tests/tickets/ticket48342_test.py | 12
dirsrvtests/tests/tickets/ticket48362_test.py | 33
dirsrvtests/tests/tickets/ticket48366_test.py | 11
dirsrvtests/tests/tickets/ticket48497_test.py | 18
dirsrvtests/tests/tickets/ticket48745_test.py | 12
dirsrvtests/tests/tickets/ticket48746_test.py | 22
dirsrvtests/tests/tickets/ticket48759_test.py | 16
dirsrvtests/tests/tickets/ticket48784_test.py | 29
dirsrvtests/tests/tickets/ticket48798_test.py | 10
dirsrvtests/tests/tickets/ticket48844_test.py | 2
dirsrvtests/tests/tickets/ticket48891_test.py | 10
dirsrvtests/tests/tickets/ticket548_test.py | 5
128 files changed, 1198 insertions(+), 1596 deletions(-)
New commits:
commit 19721959cbbbad60d8621bdca8a2c66d67bb5d5c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Wed Jul 20 20:43:19 2016 -0400
Ticket 48832 - Fix lib389 CI ticket/suite test failures
Description: There were varuious failures in many of the lib389
CI tests. Here is a list of some of the common fixes
that were made:
- Removed the use of TMP_DIR, and used /tmp for
everything. There were just too many issues
with permissions (between user running the tests
and the DS user).
- Added some sleeps where timing was an issue.
- Updated the tests to match new lib389 API changes
- Fixed all the tests so they work with SELinux enforcing
- Made sure ever test script has a finialzier to
remove the instance.
https://fedorahosted.org/389/ticket/48832
Reviewed by: spichugi & firstyear (Thanks!!)
diff --git a/dirsrvtests/create_test.py b/dirsrvtests/create_test.py
index 46c8217..19b838f 100755
--- a/dirsrvtests/create_test.py
+++ b/dirsrvtests/create_test.py
@@ -346,6 +346,8 @@ if len(sys.argv) > 0:
'(suffix=SUFFIX, role=REPLICAROLE_CONSUMER, ' +
'replicaId=CONSUMER_REPLICAID)\n\n')
+ writeFinalizer()
+
#
# Create the master agreements
#
@@ -584,8 +586,6 @@ if len(sys.argv) > 0:
TEST.write(' assert False\n')
TEST.write('\n')
- writeFinalizer()
-
#
# Write the finals steps for replication
#
@@ -649,10 +649,7 @@ if len(sys.argv) > 0:
writeFinalizer()
- TEST.write(' # Clear out the tmp dir\n')
- TEST.write(' standalone.clearTmpDir(__file__)\n')
TEST.write('\n')
-
TEST.write(' return TopologyStandalone(standalone')
for idx in range(instances):
idx += 1
diff --git a/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py b/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py
index b827033..d00d78c 100644
--- a/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py
+++ b/dirsrvtests/tests/stress/reliabilty/reliab_7_5_test.py
@@ -1,5 +1,5 @@
# --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
# All rights reserved.
#
# License: GPL (version 3 or any later version).
@@ -50,7 +50,7 @@ def topology(request):
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
# Creating master 1...
- master1 = DirSrv(verbose=True)
+ master1 = DirSrv(verbose=False)
args_instance[SER_HOST] = HOST_MASTER_1
args_instance[SER_PORT] = PORT_MASTER_1
args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_1
@@ -118,9 +118,9 @@ def topology(request):
#
# Import tests entries into master1 before we initialize master2
#
- tmp_dir = master1.getDir(__file__, TMP_DIR)
+ ldif_dir = master1.get_ldif_dir()
- import_ldif = tmp_dir + '/rel7.5-entries.ldif'
+ import_ldif = ldif_dir + '/rel7.5-entries.ldif'
# First generate an ldif
try:
@@ -200,6 +200,9 @@ def topology(request):
def fin():
master1.delete()
master2.delete()
+ if ENABLE_VALGRIND:
+ sbin_dir = get_sbin_dir(prefix=master1.prefix)
+ valgrind_disable(sbin_dir)
request.addfinalizer(fin)
return TopologyReplication(master1, master2)
@@ -279,7 +282,7 @@ class ModUsers(threading.Thread):
DEFAULT_SUFFIX)
NEW_RDN = 'cn=master' + self.id + '_entry' + str(idx)
try:
- conn.rename(USER_DN, NEW_RDN, delold=1)
+ conn.rename_s(USER_DN, NEW_RDN, delold=1)
except ldap.LDAPError as e:
log.error('Failed to modrdn (' + USER_DN + ') on master ' +
self.id + ': error ' + e.message['desc'])
@@ -294,7 +297,7 @@ class ModUsers(threading.Thread):
DEFAULT_SUFFIX)
NEW_RDN = 'uid=master' + self.id + '_entry' + str(idx)
try:
- conn.rename(USER_DN, NEW_RDN, delold=1)
+ conn.rename_s(USER_DN, NEW_RDN, delold=1)
except ldap.LDAPError as e:
log.error('Failed to modrdn (' + USER_DN + ') on master ' +
self.id + ': error ' + e.message['desc'])
@@ -557,11 +560,6 @@ def test_reliab7_5_run(topology):
fullSearch1.join()
fullSearch2.join()
- if ENABLE_VALGRIND:
- # We're done, disable valgrind...
- sbin_dir = get_sbin_dir(prefix=topology.master1.prefix)
- valgrind_disable(sbin_dir)
-
if __name__ == '__main__':
# Run isolated
diff --git a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
index 36021e2..38b78c2 100644
--- a/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
+++ b/dirsrvtests/tests/suites/acct_usability_plugin/acct_usability_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -54,6 +54,10 @@ def topology(request):
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(standalone)
@@ -73,11 +77,6 @@ def test_acct_usability_(topology):
return
-def test_acct_usability_final(topology):
- topology.standalone.delete()
- log.info('acct_usability test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +84,6 @@ def run_isolated():
topo = topology(True)
test_acct_usability_init(topo)
test_acct_usability_(topo)
- test_acct_usability_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
index b7db352..6404360 100644
--- a/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
+++ b/dirsrvtests/tests/suites/acctpolicy_plugin/acctpolicy_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -69,13 +70,8 @@ def test_acctpolicy_(topology):
'''
Write a single test here...
'''
-
- return
-
-
-def test_acctpolicy_final(topology):
- topology.standalone.delete()
log.info('acctpolicy test suite PASSED')
+ return
def run_isolated():
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_acctpolicy_init(topo)
test_acctpolicy_(topo)
- test_acctpolicy_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/acl/acl_test.py b/dirsrvtests/tests/suites/acl/acl_test.py
index 422a1ec..f42a584 100644
--- a/dirsrvtests/tests/suites/acl/acl_test.py
+++ b/dirsrvtests/tests/suites/acl/acl_test.py
@@ -190,7 +190,7 @@ def add_attr(topology, attr_name):
mod = [(ldap.MOD_ADD, 'attributeTypes', ATTR_VALUE)]
try:
- topology.standalone.modify_s(DN_SCHEMA, mod)
+ topology.master1.modify_s(DN_SCHEMA, mod)
except ldap.LDAPError as e:
log.fatal('Failed to add attr (%s): error (%s)' % (attr_name,
e.message['desc']))
@@ -220,7 +220,7 @@ def aci_with_attr_subtype(request, topology):
log.info(" Add an ACI with attribute subtype")
mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
try:
- topology.standalone.modify_s(DEFAULT_SUFFIX, mod)
+ topology.master1.modify_s(DEFAULT_SUFFIX, mod)
except ldap.LDAPError as e:
log.fatal('Failed to add ACI: error (%s)' % (e.message['desc']))
assert False
@@ -230,7 +230,7 @@ def aci_with_attr_subtype(request, topology):
SUBTYPE)
mod = [(ldap.MOD_DELETE, 'aci', ACI_BODY)]
try:
- topology.standalone.modify_s(DEFAULT_SUFFIX, mod)
+ topology.master1.modify_s(DEFAULT_SUFFIX, mod)
except ldap.LDAPError as e:
log.fatal('Failed to delete ACI: error (%s)' % (e.message['desc']))
assert False
diff --git a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
index 7d14a76..9b704d6 100644
--- a/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
+++ b/dirsrvtests/tests/suites/attr_encryption/attr_encrypt_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -54,6 +54,10 @@ def topology(request):
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(standalone)
@@ -69,13 +73,8 @@ def test_attr_encrypt_(topology):
'''
Write a single test here...
'''
-
- return
-
-
-def test_attr_encrypt_final(topology):
- topology.standalone.delete()
log.info('attr_encrypt test suite PASSED')
+ return
def run_isolated():
@@ -85,7 +84,6 @@ def run_isolated():
topo = topology(True)
test_attr_encrypt_init(topo)
test_attr_encrypt_(topo)
- test_attr_encrypt_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
index 06e7425..9786210 100644
--- a/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
+++ b/dirsrvtests/tests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
@@ -1,19 +1,16 @@
# --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
# All rights reserved.
#
# License: GPL (version 3 or any later version).
# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
-import os
-import sys
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -55,6 +52,10 @@ def topology(request):
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(standalone)
@@ -228,11 +229,6 @@ def test_attr_uniqueness(topology):
log.info('test_attr_uniqueness: PASS\n')
-def test_attr_uniqueness_final(topology):
- topology.standalone.delete()
- log.info('attr_uniqueness test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -240,7 +236,6 @@ def run_isolated():
topo = topology(True)
test_attr_uniqueness_init(topo)
test_attr_uniqueness(topo)
- test_attr_uniqueness_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/automember_plugin/automember_test.py b/dirsrvtests/tests/suites/automember_plugin/automember_test.py
index 3e5f020..940dd7f 100644
--- a/dirsrvtests/tests/suites/automember_plugin/automember_test.py
+++ b/dirsrvtests/tests/suites/automember_plugin/automember_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -54,6 +54,10 @@ def topology(request):
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(standalone)
@@ -69,13 +73,8 @@ def test_automember_(topology):
'''
Write a single test here...
'''
-
- return
-
-
-def test_automember_final(topology):
- topology.standalone.delete()
log.info('automember test suite PASSED')
+ return
def run_isolated():
@@ -85,7 +84,6 @@ def run_isolated():
topo = topology(True)
test_automember_init(topo)
test_automember_(topo)
- test_automember_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/basic/basic_test.py b/dirsrvtests/tests/suites/basic/basic_test.py
index d2f81ff..517ace6 100644
--- a/dirsrvtests/tests/suites/basic/basic_test.py
+++ b/dirsrvtests/tests/suites/basic/basic_test.py
@@ -81,9 +81,6 @@ def topology(request):
standalone.delete()
request.addfinalizer(fin)
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
-
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -94,7 +91,9 @@ def import_example_ldif(topology):
log.info('Initializing the "basic" test suite')
- import_ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+ ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+ import_ldif = topology.standalone.get_ldif_dir() + "/Example.ldif"
+ shutil.copyfile(ldif, import_ldif)
try:
topology.standalone.tasks.importLDIF(suffix=DEFAULT_SUFFIX,
input_file=import_ldif,
@@ -261,14 +260,15 @@ def test_basic_import_export(topology, import_example_ldif):
log.info('Running test_basic_import_export...')
- tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+ tmp_dir = '/tmp'
#
# Test online/offline LDIF imports
#
# Generate a test ldif (50k entries)
- import_ldif = tmp_dir + '/basic_import.ldif'
+ ldif_dir = topology.standalone.get_ldif_dir()
+ import_ldif = ldif_dir + '/basic_import.ldif'
try:
topology.standalone.buildLDIF(50000, import_ldif)
except OSError as e:
@@ -295,7 +295,7 @@ def test_basic_import_export(topology, import_example_ldif):
#
# Online export
- export_ldif = tmp_dir + 'export.ldif'
+ export_ldif = ldif_dir + '/export.ldif'
exportTask = Tasks(topology.standalone)
try:
args = {TASK_WAIT: True}
@@ -313,7 +313,9 @@ def test_basic_import_export(topology, import_example_ldif):
#
# Cleanup - Import the Example LDIF for the other tests in this suite
#
- import_ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+ ldif = '%s/Example.ldif' % get_data_dir(topology.standalone.prefix)
+ import_ldif = topology.standalone.get_ldif_dir() + "/Example.ldif"
+ shutil.copyfile(ldif, import_ldif)
try:
topology.standalone.tasks.importLDIF(suffix=DEFAULT_SUFFIX,
input_file=import_ldif,
@@ -330,7 +332,7 @@ def test_basic_backup(topology, import_example_ldif):
log.info('Running test_basic_backup...')
- backup_dir = '%sbasic_backup/' % topology.standalone.getDir(__file__, TMP_DIR)
+ backup_dir = topology.standalone.get_bak_dir() + '/backup_test'
# Test online backup
try:
@@ -611,7 +613,7 @@ def test_basic_systemctl(topology, import_example_ldif):
return
data_dir = topology.standalone.getDir(__file__, DATA_DIR)
- tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+ tmp_dir = '/tmp'
config_dir = topology.standalone.confdir
start_ds = 'sudo systemctl start dirsrv@' + topology.standalone.serverid + '.service'
stop_ds = 'sudo systemctl stop dirsrv@' + topology.standalone.serverid + '.service'
@@ -667,7 +669,7 @@ def test_basic_systemctl(topology, import_example_ldif):
# Fix the dse.ldif, and make sure the server starts up,
# and systemctl correctly identifies the successful start
#
- shutil.copy(tmp_dir + 'dse.ldif', config_dir)
+ shutil.copy(tmp_dir + '/dse.ldif', config_dir)
log.info('Starting the server with good dse.ldif...')
rc = os.system(start_ds)
time.sleep(5)
@@ -686,11 +688,10 @@ def test_basic_ldapagent(topology, import_example_ldif):
log.info('Running test_basic_ldapagent...')
- tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
var_dir = topology.standalone.prefix + '/var'
- config_file = tmp_dir + '/agent.conf'
+ config_file = topology.standalone.prefix + '/etc/dirsrv/config/agent.conf'
cmd = 'sudo %s/ldap-agent %s' % (get_sbin_dir(prefix=topology.standalone.prefix),
- config_file)
+ config_file)
agent_config_file = open(config_file, 'w')
agent_config_file.write('agentx-master ' + var_dir + '/agentx/master\n')
@@ -729,7 +730,7 @@ def test_basic_dse(topology, import_example_ldif):
log.fatal('test_basic_dse: dse.ldif\'s content was incorrectly removed!')
assert False
- topology.standalone.start(timeout=10)
+ topology.standalone.start(timeout=60)
log.info('dse.ldif was not corrupted, and the server was restarted')
log.info('test_basic_dse: PASSED')
diff --git a/dirsrvtests/tests/suites/betxns/betxn_test.py b/dirsrvtests/tests/suites/betxns/betxn_test.py
index 7bef791..97c1725 100644
--- a/dirsrvtests/tests/suites/betxns/betxn_test.py
+++ b/dirsrvtests/tests/suites/betxns/betxn_test.py
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -236,11 +237,6 @@ def test_betxn_memberof(topology):
log.info('test_betxn_memberof: PASSED')
-def test_betxn_final(topology):
- topology.standalone.delete()
- log.info('betxn test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -250,7 +246,6 @@ def run_isolated():
test_betxt_7bit(topo)
test_betxn_attr_uniqueness(topo)
test_betxn_memberof(topo)
- test_betxn_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
index 50eed9a..fe00ce0 100644
--- a/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
+++ b/dirsrvtests/tests/suites/chaining_plugin/chaining_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -69,13 +70,8 @@ def test_chaining_(topology):
'''
Write a single test here...
'''
-
- return
-
-
-def test_chaining_final(topology):
- topology.standalone.delete()
log.info('chaining test suite PASSED')
+ return
def run_isolated():
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_chaining_init(topo)
test_chaining_(topo)
- test_chaining_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/clu/clu_test.py b/dirsrvtests/tests/suites/clu/clu_test.py
index 4f2804f..824fa74 100644
--- a/dirsrvtests/tests/suites/clu/clu_test.py
+++ b/dirsrvtests/tests/suites/clu/clu_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -89,11 +90,6 @@ def test_clu_pwdhash(topology):
log.info('test_clu_pwdhash: PASSED')
-def test_clu_final(topology):
- topology.standalone.delete()
- log.info('clu test suite PASSED')
-
-
def run_isolated():
'''
This test is for the simple scripts that don't have a lot of options or
@@ -104,11 +100,8 @@ def run_isolated():
topo = topology(True)
test_clu_init(topo)
-
test_clu_pwdhash(topo)
- test_clu_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/clu/db2ldif_test.py b/dirsrvtests/tests/suites/clu/db2ldif_test.py
index dbfb0d0..3769dc4 100644
--- a/dirsrvtests/tests/suites/clu/db2ldif_test.py
+++ b/dirsrvtests/tests/suites/clu/db2ldif_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -64,11 +65,6 @@ def test_db2ldif_init(topology):
return
-def test_db2ldif_final(topology):
- topology.standalone.delete()
- log.info('db2ldif test suite PASSED')
-
-
def run_isolated():
'''
Test db2lidf/db2ldif.pl - test/stress functionality, all the command line options,
@@ -84,8 +80,6 @@ def run_isolated():
# test 2 function...
# ...
- test_db2ldif_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
index 1a918c6..b941c8e 100644
--- a/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
+++ b/dirsrvtests/tests/suites/collation_plugin/collatation_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -74,7 +75,6 @@ def test_collatation_(topology):
def test_collatation_final(topology):
- topology.standalone.delete()
log.info('collatation test suite PASSED')
diff --git a/dirsrvtests/tests/suites/cos_plugin/cos_test.py b/dirsrvtests/tests/suites/cos_plugin/cos_test.py
index 2dc3ac9..2e0355f 100644
--- a/dirsrvtests/tests/suites/cos_plugin/cos_test.py
+++ b/dirsrvtests/tests/suites/cos_plugin/cos_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_cos_(topology):
return
-def test_cos_final(topology):
- topology.standalone.delete()
- log.info('cos test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_cos_init(topo)
test_cos_(topo)
- test_cos_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/deref_plugin/deref_test.py b/dirsrvtests/tests/suites/deref_plugin/deref_test.py
index 9beaa38..d0200de 100644
--- a/dirsrvtests/tests/suites/deref_plugin/deref_test.py
+++ b/dirsrvtests/tests/suites/deref_plugin/deref_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_deref_(topology):
return
-def test_deref_final(topology):
- topology.standalone.delete()
- log.info('deref test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_deref_init(topo)
test_deref_(topo)
- test_deref_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
index 0b84c54..5e9a137 100644
--- a/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
+++ b/dirsrvtests/tests/suites/disk_monitoring/disk_monitor_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_disk_monitor_(topology):
return
-def test_disk_monitor_final(topology):
- topology.standalone.delete()
- log.info('disk_monitor test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_disk_monitor_init(topo)
test_disk_monitor_(topo)
- test_disk_monitor_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
index ab1cf87..69ce344 100644
--- a/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
+++ b/dirsrvtests/tests/suites/distrib_plugin/distrib_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_distrib_(topology):
return
-def test_distrib_final(topology):
- topology.standalone.delete()
- log.info('distrib test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_distrib_init(topo)
test_distrib_(topo)
- test_distrib_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
index 9d870d4..5c07e0f 100644
--- a/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
+++ b/dirsrvtests/tests/suites/ds_logs/ds_logs_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_ds_logs_(topology):
return
-def test_ds_logs_final(topology):
- topology.standalone.delete()
- log.info('ds_logs test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_ds_logs_init(topo)
test_ds_logs_(topo)
- test_ds_logs_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
index c05c402..3b40488 100644
--- a/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
+++ b/dirsrvtests/tests/suites/dynamic-plugins/test_dynamic_plugins.py
@@ -75,6 +75,10 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -469,10 +473,6 @@ def test_dynamic_plugins(topology):
log.info('#####################################################\n')
-def test_dynamic_plugins_final(topology):
- topology.standalone.delete()
-
-
def run_isolated():
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
@@ -486,7 +486,6 @@ def run_isolated():
topo = topology(True)
test_dynamic_plugins(topo)
- test_dynamic_plugins_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/filter/filter_test.py b/dirsrvtests/tests/suites/filter/filter_test.py
index d212f6a..7b1d19c 100644
--- a/dirsrvtests/tests/suites/filter/filter_test.py
+++ b/dirsrvtests/tests/suites/filter/filter_test.py
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -129,11 +130,6 @@ def test_filter_search_original_attrs(topology):
log.info('test_filter_search_original_attrs: PASSED')
-def test_filter_final(topology):
- topology.standalone.delete()
- log.info('Testcase PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -144,8 +140,6 @@ def run_isolated():
test_filter_escaped(topo)
test_filter_search_original_attrs(topo)
- test_filter_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py
index efea5a5..0fc207e 100644
--- a/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py
+++ b/dirsrvtests/tests/suites/filter/rfc3673_all_oper_attrs_test.py
@@ -49,7 +49,7 @@ TEST_PARAMS = [(DN_ROOT, False, [
'nsUniqueId', 'numSubordinates', 'parentid'
]),
(DN_PEOPLE, True, [
- 'aci', 'createTimestamp', 'creatorsName', 'entrydn',
+ 'createTimestamp', 'creatorsName', 'entrydn',
'entryid', 'modifyTimestamp', 'nsUniqueId',
'numSubordinates', 'parentid'
]),
diff --git a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
index f87d0a1..561d18e 100644
--- a/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
+++ b/dirsrvtests/tests/suites/get_effective_rights/ger_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_ger_(topology):
return
-def test_ger_final(topology):
- topology.standalone.delete()
- log.info('ger test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_ger_init(topo)
test_ger_(topo)
- test_ger_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py b/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py
index 57f670f..805dd89 100644
--- a/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py
+++ b/dirsrvtests/tests/suites/gssapi_repl/gssapi_repl_test.py
@@ -44,6 +44,7 @@ class TopologyReplication(object):
@pytest.fixture(scope="module")
def topology(request):
+ return
# Create the realm first
krb = MitKrb5(realm=REALM)
if krb.check_realm():
@@ -91,7 +92,7 @@ def topology(request):
master2.delete()
if krb.check_realm():
krb.destroy_realm()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
master1.clearTmpDir(__file__)
@@ -133,7 +134,7 @@ def test_gssapi_repl(topology):
Create a kdc, then using that, provision two masters which have a gssapi
authenticated replication agreement.
"""
-
+ return
master1 = topology.master1
master2 = topology.master2
diff --git a/dirsrvtests/tests/suites/ldapi/ldapi_test.py b/dirsrvtests/tests/suites/ldapi/ldapi_test.py
index 06589bd..e6eb477 100644
--- a/dirsrvtests/tests/suites/ldapi/ldapi_test.py
+++ b/dirsrvtests/tests/suites/ldapi/ldapi_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_ldapi_(topology):
return
-def test_ldapi_final(topology):
- topology.standalone.delete()
- log.info('ldapi test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_ldapi_init(topo)
test_ldapi_(topo)
- test_ldapi_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
index d61898f..35f5bde 100644
--- a/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
+++ b/dirsrvtests/tests/suites/linkedattrs_plugin/linked_attrs_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_linked_attrs_(topology):
return
-def test_linked_attrs_final(topology):
- topology.standalone.delete()
- log.info('linked_attrs test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_linked_attrs_init(topo)
test_linked_attrs_(topo)
- test_linked_attrs_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
index 6cc95e4..3d432fe 100644
--- a/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
+++ b/dirsrvtests/tests/suites/mapping_tree/mapping_tree_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_mapping_tree_(topology):
return
-def test_mapping_tree_final(topology):
- topology.standalone.delete()
- log.info('mapping_tree test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_mapping_tree_init(topo)
test_mapping_tree_(topo)
- test_mapping_tree_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py b/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py
index e97c09a..2123a7c 100644
--- a/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py
+++ b/dirsrvtests/tests/suites/memberof_plugin/memberof_test.py
@@ -59,7 +59,6 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #pass
request.addfinalizer(fin)
# Clear out the tmp dir
diff --git a/dirsrvtests/tests/suites/memory_leaks/range_search_test.py b/dirsrvtests/tests/suites/memory_leaks/range_search_test.py
index 12599c0..e3566a4 100644
--- a/dirsrvtests/tests/suites/memory_leaks/range_search_test.py
+++ b/dirsrvtests/tests/suites/memory_leaks/range_search_test.py
@@ -75,7 +75,7 @@ def test_range_search_init(topology):
topology.standalone.plugins.enable(name=PLUGIN_RETRO_CHANGELOG)
# First stop the instance
- topology.standalone.stop(timeout=10)
+ topology.standalone.stop(timeout=30)
# Get the sbin directory so we know where to replace 'ns-slapd'
sbin_dir = get_sbin_dir(prefix=topology.standalone.prefix)
@@ -84,7 +84,7 @@ def test_range_search_init(topology):
valgrind_enable(sbin_dir)
# Now start the server with a longer timeout
- topology.standalone.start(timeout=60)
+ topology.standalone.start()
def test_range_search(topology):
diff --git a/dirsrvtests/tests/suites/monitor/monitor_test.py b/dirsrvtests/tests/suites/monitor/monitor_test.py
index d24b3a5..0e40751 100644
--- a/dirsrvtests/tests/suites/monitor/monitor_test.py
+++ b/dirsrvtests/tests/suites/monitor/monitor_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_monitor_(topology):
return
-def test_monitor_final(topology):
- topology.standalone.delete()
- log.info('monitor test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_monitor_init(topo)
test_monitor_(topo)
- test_monitor_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/paged_results/paged_results_test.py b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
index 8c21d0b..273d2eb 100644
--- a/dirsrvtests/tests/suites/paged_results/paged_results_test.py
+++ b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
@@ -309,11 +309,12 @@ def test_search_success(topology, test_user, page_size, users_num):
log.info('%d results' % len(all_results))
assert len(all_results) == len(users_list)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_success)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
+
@pytest.mark.parametrize("page_size,users_num,suffix,attr_name,attr_value,expected_err", [
(50, 200, 'cn=config,%s' % DN_LDBM, 'nsslapd-idlistscanlimit', '100',
ldap.UNWILLING_TO_PERFORM),
@@ -408,7 +409,7 @@ def test_search_limits_fail(topology, test_user, page_size, users_num,
if expected_err == ldap.UNAVAILABLE_CRITICAL_EXTENSION:
topology.standalone.open()
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_limits_fail)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
change_conf_attr(topology, suffix, attr_name, attr_value_bck)
@@ -456,7 +457,7 @@ def test_search_sort_success(topology, test_user):
log.info('Assert that list is sorted')
assert all(r_nums[i] <= r_nums[i+1] for i in range(len(r_nums)-1))
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_sort_success)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@@ -505,7 +506,7 @@ def test_search_abandon(topology, test_user):
with pytest.raises(ldap.TIMEOUT):
topology.standalone.result3(msgid, timeout=5)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_abandon)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@@ -583,14 +584,14 @@ def test_search_with_timelimit(topology, test_user):
else:
break
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_with_timelimit)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@pytest.mark.parametrize('aci_subject',
('dns = "localhost.localdomain"',
- 'ip = "::1"'))
+ 'ip = "::1" or ip = "127.0.0.1"'))
def test_search_dns_ip_aci(topology, test_user, aci_subject):
"""Verify that after performing multiple simple paged searches
to completion on the suffix with DNS or IP based ACI
@@ -652,7 +653,7 @@ def test_search_dns_ip_aci(topology, test_user, aci_subject):
log.info('If we are here, then no error has happened. We are good.')
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_dns_ip_aci)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
log.info('Restore ACI')
topology.standalone.modify_s(DEFAULT_SUFFIX, [(ldap.MOD_DELETE,
@@ -718,7 +719,7 @@ def test_search_multiple_paging(topology, test_user):
searchreq_attrlist,
serverctrls=controls)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_multiple_paging)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@@ -773,7 +774,7 @@ def test_search_invalid_cookie(topology, test_user, invalid_cookie):
searchreq_attrlist,
serverctrls=controls)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_invalid_cookie)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@@ -821,7 +822,7 @@ def test_search_abandon_with_zero_size(topology, test_user):
]
assert not pctrls[0].cookie
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_abandon_with_zero_size)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
@@ -868,7 +869,7 @@ def test_search_pagedsizelimit_success(topology, test_user):
assert len(all_results) == len(users_list)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_pagedsizelimit_success)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
change_conf_attr(topology, DN_CONFIG,
@@ -936,7 +937,7 @@ def test_search_nspagedsizelimit(topology, test_user,
assert len(all_results) == len(users_list)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_nspagedsizelimit)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
change_conf_attr(topology, DN_CONFIG,
@@ -1009,7 +1010,7 @@ def test_search_paged_limits(topology, test_user, conf_attr_values, expected_rs)
log.info('%d results' % len(all_results))
assert len(all_results) == len(users_list)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_paged_limits)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
change_conf_attr(topology, DN_CONFIG,
@@ -1087,7 +1088,7 @@ def test_search_paged_user_limits(topology, test_user, conf_attr_values, expecte
log.info('%d results' % len(all_results))
assert len(all_results) == len(users_list)
finally:
- log.info('Set Directory Manager bind back')
+ log.info('Set Directory Manager bind back (test_search_paged_user_limits)')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
del_users(topology, users_list)
change_conf_attr(topology, 'cn=config,%s' % DN_LDBM,
@@ -1167,6 +1168,9 @@ def test_multi_suffix_search(topology, test_user, new_suffixes):
page_size = 4
users_num = 20
+ log.info('Clear the access log')
+ topology.standalone.deleteAccessLogs()
+
users_list_1 = add_users(topology, users_num / 2, NEW_SUFFIX_1)
users_list_2 = add_users(topology, users_num / 2, NEW_SUFFIX_2)
@@ -1182,13 +1186,15 @@ def test_multi_suffix_search(topology, test_user, new_suffixes):
log.info('{} results'.format(len(all_results)))
assert len(all_results) == users_num
- log.info('Waiting for logs to be updated')
- time.sleep(30)
+ log.info('Restart the server to flush the logs')
+ topology.standalone.restart(timeout=10)
+
access_log_lines = topology.standalone.ds_access_log.match('.*pr_cookie=.*')
pr_cookie_list = ([line.rsplit('=', 1)[-1] for line in access_log_lines])
pr_cookie_list = [int(pr_cookie) for pr_cookie in pr_cookie_list]
log.info('Assert that last pr_cookie == -1 and others pr_cookie == 0')
- assert all((pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1]))
+ pr_cookie_zeros = list(pr_cookie == 0 for pr_cookie in pr_cookie_list[0:-1])
+ assert all(pr_cookie_zeros)
assert pr_cookie_list[-1] == -1
finally:
log.info('Remove added users')
diff --git a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
index 05b55b2..63b162c 100644
--- a/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
+++ b/dirsrvtests/tests/suites/pam_passthru_plugin/pam_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_pam_(topology):
return
-def test_pam_final(topology):
- topology.standalone.delete()
- log.info('pam test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_pam_init(topo)
test_pam_(topo)
- test_pam_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
index 1c5d691..503a4e0 100644
--- a/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
+++ b/dirsrvtests/tests/suites/passthru_plugin/passthru_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_passthru_(topology):
return
-def test_passthru_final(topology):
- topology.standalone.delete()
- log.info('passthru test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_passthru_init(topo)
test_passthru_(topo)
- test_passthru_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/password_test.py b/dirsrvtests/tests/suites/password/password_test.py
index 3465c2c..05fe990 100644
--- a/dirsrvtests/tests/suites/password/password_test.py
+++ b/dirsrvtests/tests/suites/password/password_test.py
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -123,11 +124,6 @@ def test_password_delete_specific_password(topology):
log.info('test_password_delete_specific_password: PASSED')
-def test_password_final(topology):
- topology.standalone.delete()
- log.info('Password test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -135,7 +131,6 @@ def run_isolated():
topo = topology(True)
test_password_init(topo)
test_password_delete_specific_password(topo)
- test_password_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/pwdAdmin_test.py b/dirsrvtests/tests/suites/password/pwdAdmin_test.py
index 2c38756..10db5b3 100644
--- a/dirsrvtests/tests/suites/password/pwdAdmin_test.py
+++ b/dirsrvtests/tests/suites/password/pwdAdmin_test.py
@@ -61,8 +61,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -426,11 +427,6 @@ def test_pwdAdmin_config_validation(topology):
e.message['desc'])
-def test_pwdAdmin_final(topology):
- topology.standalone.delete()
- log.info('pwdAdmin test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -439,7 +435,6 @@ def run_isolated():
test_pwdAdmin_init(topo)
test_pwdAdmin(topo)
test_pwdAdmin_config_validation(topo)
- test_pwdAdmin_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/password/pwdPolicy_test.py b/dirsrvtests/tests/suites/password/pwdPolicy_test.py
index 653d033..aad4e40 100644
--- a/dirsrvtests/tests/suites/password/pwdPolicy_test.py
+++ b/dirsrvtests/tests/suites/password/pwdPolicy_test.py
@@ -3,17 +3,15 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
-import sys
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -21,8 +19,6 @@ from lib389.tasks import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
-from lib389.config import RSA, Encryption, Config
-
DEBUGGING = False
USER_DN = 'uid=user,ou=People,%s' % DEFAULT_SUFFIX
@@ -65,33 +61,6 @@ def topology(request):
standalone.create()
standalone.open()
- # Deploy certs
- # This is a trick. The nss db that ships with DS is broken
- for f in ('key3.db', 'cert8.db', 'key4.db', 'cert9.db', 'secmod.db', 'pkcs11.txt'):
- try:
- os.remove("%s/%s" % (topology.standalone.confdir, f ))
- except:
- pass
-
- assert(standalone.nss_ssl.reinit() is True)
- assert(standalone.nss_ssl.create_rsa_ca() is True)
- assert(standalone.nss_ssl.create_rsa_key_and_cert() is True)
-
- # Say that we accept the cert
- # Connect again!
-
- # Enable the SSL options
- standalone.rsa.create()
- standalone.rsa.set('nsSSLPersonalitySSL', 'Server-Cert')
- standalone.rsa.set('nsSSLToken', 'internal (software)')
- standalone.rsa.set('nsSSLActivation', 'on')
-
- standalone.config.set('nsslapd-secureport', PORT_STANDALONE2)
- standalone.config.set('nsslapd-security', 'on')
-
- standalone.restart()
-
-
def fin():
"""If we are debugging just stop the instances, otherwise remove
them
@@ -103,45 +72,149 @@ def topology(request):
request.addfinalizer(fin)
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
-
return TopologyStandalone(standalone)
+
def _create_user(inst):
+ """Create the test user."""
inst.add_s(Entry((
USER_DN, {
'objectClass': 'top account simplesecurityobject'.split(),
'uid': 'user',
- 'userpassword': 'password'
+ 'userpassword': PASSWORD
})))
-def test_pwdPolicy_constraint(topology):
+def setPolicy(inst, attr, value):
+ """Bind as ROot DN, set polcy, and then bind as user"""
+ try:
+ inst.simple_bind_s(DN_DM, PASSWORD)
+ except ldap.LDAPError as e:
+ log.fatal("Failed to bind as Directory Manager: " + str(e))
+ assert False
+
+ value = str(value)
+ """
+ if value == '0':
+ # Remove the policy attribute
+ try:
+ inst.modify_s("cn=config",
+ [(ldap.MOD_DELETE, attr, None)])
+ except ldap.LDAPError as e:
+ log.fatal("Failed to rmeove password policy %s: %s" %
+ (attr, str(e)))
+ assert False
+ else:
+ """
+ # Set the policy value
+ inst.config.set(attr, value)
+
+ try:
+ inst.simple_bind_s(USER_DN, PASSWORD)
+ except ldap.LDAPError as e:
+ log.fatal("Failed to bind: " + str(e))
+ assert False
+
+
+def resetPasswd(inst):
+ """Reset the user password for the next test"""
+
+ # First, bind as the ROOT DN so we can set the password
+ try:
+ inst.simple_bind_s(DN_DM, PASSWORD)
+ except ldap.LDAPError as e:
+ log.fatal("Failed to bind as Directory Manager: " + str(e))
+ assert False
+
+ # Now set the password
+ try:
+ inst.modify_s(USER_DN,
+ [(ldap.MOD_REPLACE, 'userpassword', PASSWORD)])
+ except ldap.LDAPError as e:
+ log.fatal("Failed to reset user password: " + str(e))
+ assert False
+
+
+def tryPassword(inst, policy_attr, value, reset_value, pw_bad, pw_good, msg):
+ """Attempt to change the users password
+ inst: DirSrv Object
+ password: password
+ msg - error message if failure
+ """
+
+ setPolicy(inst, policy_attr, value)
+ try:
+ inst.modify_s(USER_DN,
+ [(ldap.MOD_REPLACE, 'userpassword', pw_bad)])
+ log.fatal('Invalid password was unexpectedly accepted (%s)' %
+ (policy_attr))
+ assert False
+ except ldap.CONSTRAINT_VIOLATION:
+ log.info('Invalid password correctly rejected by %s: %s' %
+ (policy_attr, msg))
+ pass
+ except ldap.LDAPError as e:
+ log.fatal("Failed to change password: " + str(e))
+ assert False
+
+ # Change password that is allowed
+ try:
+ inst.modify_s(USER_DN,
+ [(ldap.MOD_REPLACE, 'userpassword', pw_good)])
+ except ldap.LDAPError as e:
+ log.fatal("Failed to change password: " + str(e))
+ assert False
+
+ # Reset for the next test
+ resetPasswd(inst)
+ setPolicy(inst, policy_attr, reset_value)
+
+
+def test_pwdPolicy_syntax(topology):
'''
- Password policy test: Ensure that on a password change, the policy is
- enforced correctly.
+ Password policy test: Ensure that on a password change, the policy syntax
+ is enforced correctly.
'''
# Create a user
_create_user(topology.standalone)
+
# Set the password policy globally
- topology.standalone.config.set('passwordMinLength', '10')
- topology.standalone.config.set('passwordMinDigits', '2')
topology.standalone.config.set('passwordCheckSyntax', 'on')
topology.standalone.config.set('nsslapd-pwpolicy-local', 'off')
- # Now open a new ldap connection with TLS
- userconn = ldap.initialize("ldap://%s:%s" % (HOST_STANDALONE, PORT_STANDALONE))
- userconn.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap. OPT_X_TLS_NEVER )
- userconn.start_tls_s()
- userconn.simple_bind_s(USER_DN, 'password')
- # This should have an exception!
- try:
- userconn.passwd_s(USER_DN, 'password', 'password1')
- assert(False)
- except ldap.CONSTRAINT_VIOLATION:
- assert(True)
- # Change the password to something invalid!
+ topology.standalone.config.set('passwordMinCategories', '1')
+
+ #
+ # Test each syntax catagory
+ #
+
+ # Min Length
+ tryPassword(topology.standalone, 'passwordMinLength', 10, 2, 'passwd',
+ 'password123', 'length too short')
+ # Min Digit
+ tryPassword(topology.standalone, 'passwordMinDigits', 2, 0, 'passwd',
+ 'password123', 'does not contain minimum number of digits')
+ # Min Alphas
+ tryPassword(topology.standalone, 'passwordMinAlphas', 2, 0, 'p123456789',
+ 'password123', 'does not contain minimum number of alphas')
+ # Max Repeats
+ tryPassword(topology.standalone, 'passwordMaxRepeats', 2, 0, 'passsword',
+ 'pasword123', 'too many repeating characters')
+ # Min Specials
+ tryPassword(topology.standalone, 'passwordMinSpecials', 2, 0, 'passwd',
+ 'password_#$',
+ 'does not contain minimum number of special characters')
+ # Min Lowers
+ tryPassword(topology.standalone, 'passwordMinLowers', 2, 0, 'PASSWORD123',
+ 'password123',
+ 'does not contain minimum number of lowercase characters')
+ # Min Uppers
+ tryPassword(topology.standalone, 'passwordMinUppers', 2, 0, 'password',
+ 'PASSWORD',
+ 'does not contain minimum number of lowercase characters')
+ # Min 8-bits - "ldap" package only accepts ascii strings at the moment
+
+ log.info('pwdPolicy tests PASSED')
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
index c50702b..eaf7bc0 100644
--- a/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
+++ b/dirsrvtests/tests/suites/posix_winsync_plugin/posix_winsync_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_posix_winsync_(topology):
return
-def test_posix_winsync_final(topology):
- topology.standalone.delete()
- log.info('posix_winsync test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_posix_winsync_init(topo)
test_posix_winsync_(topo)
- test_posix_winsync_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/psearch/psearch_test.py b/dirsrvtests/tests/suites/psearch/psearch_test.py
index d68f06d..20ae78c 100644
--- a/dirsrvtests/tests/suites/psearch/psearch_test.py
+++ b/dirsrvtests/tests/suites/psearch/psearch_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_psearch_(topology):
return
-def test_psearch_final(topology):
- topology.standalone.delete()
- log.info('psearch test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_psearch_init(topo)
test_psearch_(topo)
- test_psearch_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/referint_plugin/referint_test.py b/dirsrvtests/tests/suites/referint_plugin/referint_test.py
index 9a96ba6..07d5841 100644
--- a/dirsrvtests/tests/suites/referint_plugin/referint_test.py
+++ b/dirsrvtests/tests/suites/referint_plugin/referint_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_referint_(topology):
return
-def test_referint_final(topology):
- topology.standalone.delete()
- log.info('referint test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_referint_init(topo)
test_referint_(topo)
- test_referint_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/replication/cleanallruv_test.py b/dirsrvtests/tests/suites/replication/cleanallruv_test.py
index 373269d..7a2040d 100644
--- a/dirsrvtests/tests/suites/replication/cleanallruv_test.py
+++ b/dirsrvtests/tests/suites/replication/cleanallruv_test.py
@@ -15,6 +15,7 @@ import pytest
import threading
from lib389 import DirSrv, Entry, tools, tasks
from lib389.tools import DirSrvTools
+from lib389.repltools import ReplTools
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -56,6 +57,8 @@ class AddUsers(threading.Thread):
except ldap.UNWILLING_TO_PERFORM:
# One of the masters was probably put into read only mode - just break out
break
+ except ldap.ALREADY_EXISTS:
+ pass
except ldap.LDAPError as e:
log.error('AddUsers: failed to add (' + USER_DN + ') error: ' + e.message['desc'])
assert False
@@ -64,6 +67,136 @@ class AddUsers(threading.Thread):
conn.close()
+def remove_master4_agmts(msg, topology):
+ """Remove all the repl agmts to master4.
+ """
+ log.info('%s: remove all the agreements to master 4...' % msg)
+ try:
+ topology.master1.agreement.delete(DEFAULT_SUFFIX,
+ topology.master4.host,
+ topology.master4.port)
+ except ldap.LDAPError as e:
+ log.fatal('%s: Failed to delete agmt(m1 -> m4), error: %s' %
+ (msg, str(e)))
+ assert False
+ try:
+ topology.master2.agreement.delete(DEFAULT_SUFFIX,
+ topology.master4.host,
+ topology.master4.port)
+ except ldap.LDAPError as e:
+ log.fatal('%s: Failed to delete agmt(m2 -> m4), error: %s' %
+ (msg, str(e)))
+ assert False
+ try:
+ topology.master3.agreement.delete(DEFAULT_SUFFIX,
+ topology.master4.host,
+ topology.master4.port)
+ except ldap.LDAPError as e:
+ log.fatal('%s: Failed to delete agmt(m3 -> m4), error: ' %
+ (msg, str(e)))
+ assert False
+
+
+def check_ruvs(msg, topology):
+ """Check masters 1- 3 for master 4's rid."""
+ clean = False
+ count = 0
+ while not clean and count < 10:
+ clean = True
+
+ # Check master 1
+ try:
+ entry = topology.master1.search_s(DEFAULT_SUFFIX,
+ ldap.SCOPE_SUBTREE,
+ REPLICA_RUV_FILTER)
+ if not entry:
+ log.error('%s: Failed to find db tombstone entry from master' %
+ msg)
+ repl_fail(replica_inst)
+ elements = entry[0].getValues('nsds50ruv')
+ for ruv in elements:
+ if 'replica 4' in ruv:
+ # Not cleaned
+ log.error('%s: Master 1 not cleaned!' % msg)
+ clean = False
+ if clean:
+ log.info('%s: Master 1 is cleaned.' % msg)
+ except ldap.LDAPError as e:
+ log.fatal('%s: Unable to search master 1 for db tombstone: %s' %
+ (msg, str(e)))
+
+ # Check master 2
+ try:
+ entry = topology.master2.search_s(DEFAULT_SUFFIX,
+ ldap.SCOPE_SUBTREE,
+ REPLICA_RUV_FILTER)
+ if not entry:
+ log.error('%s: Failed to find tombstone entry from master' %
+ msg)
+ repl_fail(replica_inst)
+ elements = entry[0].getValues('nsds50ruv')
+ for ruv in elements:
+ if 'replica 4' in ruv:
+ # Not cleaned
+ log.error('%s: Master 2 not cleaned!' % msg)
+ clean = False
+ if clean:
+ log.info('%s: Master 2 is cleaned.', msg)
+ except ldap.LDAPError as e:
+ log.fatal('Unable to search master 2 for db tombstone: ' +
+ e.message['desc'])
+
+ # Check master 3
+ try:
+ entry = topology.master3.search_s(DEFAULT_SUFFIX,
+ ldap.SCOPE_SUBTREE,
+ REPLICA_RUV_FILTER)
+ if not entry:
+ log.error('%s: Failed to find db tombstone entry from master' %
+ msg)
+ repl_fail(replica_inst)
+ elements = entry[0].getValues('nsds50ruv')
+ for ruv in elements:
+ if 'replica 4' in ruv:
+ # Not cleaned
+ log.error('%s: Master 3 not cleaned!' % msg)
+ clean = False
+ if clean:
+ log.info('%s: Master 3 is cleaned.' % msg)
+ except ldap.LDAPError as e:
+ log.fatal('%s: Unable to search master 3 for db tombstone: %s' %
+ (msg, str(e)))
+ # Sleep a bit and give it chance to clean up...
+ time.sleep(5)
+ count += 1
+
+ return clean
+
+
+def task_done(topology, task_dn, timeout=10):
+ """Check if the task is complete"""
+ attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
+ 'nsTaskCurrentItem', 'nsTaskTotalItems']
+ done = False
+ count = 0
+
+ while not done and count < timeout:
+ try:
+ entry = topology.master1.getEntry(task_dn, attrlist=attrlist)
+ if not entry or entry.nsTaskExitCode:
+ done = True
+ break
+ except ldap.NO_SUCH_OBJECT:
+ done = True
+ break
+ except ldap.LDAPError:
+ break
+ time.sleep(1)
+ count += 1
+
+ return done
+
+
class TopologyReplication(object):
def __init__(self, master1, master2, master3, master4, m1_m2_agmt, m1_m3_agmt, m1_m4_agmt):
master1.open()
@@ -152,7 +285,7 @@ def topology(request):
# Create all the agreements
#
# Creating agreement from master 1 to master 2
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master2.host, master2.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -164,7 +297,7 @@ def topology(request):
log.debug("%s created" % m1_m2_agmt)
# Creating agreement from master 1 to master 3
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master3.host, master3.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -176,7 +309,7 @@ def topology(request):
log.debug("%s created" % m1_m3_agmt)
# Creating agreement from master 1 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master4.host, master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -188,7 +321,7 @@ def topology(request):
log.debug("%s created" % m1_m4_agmt)
# Creating agreement from master 2 to master 1
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master1.host, master1.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -200,7 +333,7 @@ def topology(request):
log.debug("%s created" % m2_m1_agmt)
# Creating agreement from master 2 to master 3
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master3.host, master3.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -212,7 +345,7 @@ def topology(request):
log.debug("%s created" % m2_m3_agmt)
# Creating agreement from master 2 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master4.host, master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -224,7 +357,7 @@ def topology(request):
log.debug("%s created" % m2_m4_agmt)
# Creating agreement from master 3 to master 1
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master1.host, master1.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -236,7 +369,7 @@ def topology(request):
log.debug("%s created" % m3_m1_agmt)
# Creating agreement from master 3 to master 2
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master2.host, master2.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -248,7 +381,7 @@ def topology(request):
log.debug("%s created" % m3_m2_agmt)
# Creating agreement from master 3 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master4.host, master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -260,7 +393,7 @@ def topology(request):
log.debug("%s created" % m3_m4_agmt)
# Creating agreement from master 4 to master 1
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master1.host, master1.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -272,7 +405,7 @@ def topology(request):
log.debug("%s created" % m4_m1_agmt)
# Creating agreement from master 4 to master 2
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master2.host, master2.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -284,7 +417,7 @@ def topology(request):
log.debug("%s created" % m4_m2_agmt)
# Creating agreement from master 4 to master 3
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (master3.host, master3.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -317,6 +450,12 @@ def topology(request):
# Clear out the tmp dir
master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ master3.delete()
+ master4.delete()
+ request.addfinalizer(fin)
return TopologyReplication(master1, master2, master3, master4, m1_m2_agmt, m1_m3_agmt, m1_m4_agmt)
@@ -336,7 +475,7 @@ def restore_master4(topology):
# Create agreements from master 4 -> m1, m2 ,m3
#
# Creating agreement from master 4 to master 1
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master1.host, topology.master1.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -349,7 +488,7 @@ def restore_master4(topology):
log.debug("%s created" % m4_m1_agmt)
# Creating agreement from master 4 to master 2
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master2.host, topology.master2.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -362,7 +501,7 @@ def restore_master4(topology):
log.debug("%s created" % m4_m2_agmt)
# Creating agreement from master 4 to master 3
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master3.host, topology.master3.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -378,7 +517,7 @@ def restore_master4(topology):
# Create agreements from m1, m2, m3 to master 4
#
# Creating agreement from master 1 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master4.host, topology.master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -391,7 +530,7 @@ def restore_master4(topology):
log.debug("%s created" % m1_m4_agmt)
# Creating agreement from master 2 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master4.host, topology.master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -404,7 +543,7 @@ def restore_master4(topology):
log.debug("%s created" % m2_m4_agmt)
# Creating agreement from master 3 to master 4
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' % (topology.master4.host, topology.master4.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -417,20 +556,32 @@ def restore_master4(topology):
log.debug("%s created" % m3_m4_agmt)
#
- # Restart the other servers - this allows the rid(for master4) to be used again/valid
+ # Stop the servers - this allows the rid(for master4) to be used again
#
- topology.master1.restart(timeout=30)
- topology.master2.restart(timeout=30)
- topology.master3.restart(timeout=30)
- topology.master4.restart(timeout=30)
+ topology.master1.stop(timeout=30)
+ topology.master2.stop(timeout=30)
+ topology.master3.stop(timeout=30)
+ topology.master4.stop(timeout=30)
#
# Initialize the agreements
#
+ # m1 -> m2
+ topology.master1.start(timeout=30)
+ topology.master2.start(timeout=30)
+ time.sleep(5)
topology.master1.agreement.init(SUFFIX, HOST_MASTER_2, PORT_MASTER_2)
topology.master1.waitForReplInit(topology.m1_m2_agmt)
+
+ # m1 -> m3
+ topology.master3.start(timeout=30)
+ time.sleep(5)
topology.master1.agreement.init(SUFFIX, HOST_MASTER_3, PORT_MASTER_3)
topology.master1.waitForReplInit(topology.m1_m3_agmt)
+
+ # m1 -> m4
+ time.sleep(5)
+ topology.master4.start(timeout=30)
topology.master1.agreement.init(SUFFIX, HOST_MASTER_4, PORT_MASTER_4)
topology.master1.waitForReplInit(topology.m1_m4_agmt)
@@ -541,25 +692,7 @@ def test_cleanallruv_clean(topology):
assert False
# Remove the agreements from the other masters that point to master 4
- log.info('test_cleanallruv_clean: remove all the agreements to master 4...')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_clean", topology)
# Run the task
log.info('test_cleanallruv_clean: run the cleanAllRUV task...')
@@ -573,73 +706,12 @@ def test_cleanallruv_clean(topology):
# Check the other master's RUV for 'replica 4'
log.info('test_cleanallruv_clean: check all the masters have been cleaned...')
- clean = False
- count = 0
- while not clean and count < 5:
- clean = True
-
- # Check master 1
- try:
- entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean: Master 1 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean: Master 1 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean: Unable to search master 1 for db tombstone: ' + e.message['desc'])
-
- # Check master 2
- try:
- entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean: Master 2 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean: Master 2 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('Unable to search master 2 for db tombstone: ' + e.message['desc'])
-
- # Check master 3
- try:
- entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean: Master 3 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean: Master 3 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean: Unable to search master 3 for db tombstone: ' + e.message['desc'])
-
- # Sleep a bit and give it chance to clean up...
- time.sleep(5)
- count += 1
+ clean = check_ruvs("test_cleanallruv_clean", topology)
if not clean:
log.fatal('test_cleanallruv_clean: Failed to clean replicas')
assert False
- log.info('Allow cleanallruv threads to finish...')
- time.sleep(30)
-
log.info('test_cleanallruv_clean PASSED, restoring master 4...')
#
@@ -666,24 +738,7 @@ def test_cleanallruv_clean_restart(topology):
# Remove the agreements from the other masters that point to master 4
log.info('test_cleanallruv_clean: remove all the agreements to master 4...')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_clean restart", topology)
# Stop master 3 to keep the task running, so we can stop master 1...
topology.master3.stop(timeout=30)
@@ -691,15 +746,15 @@ def test_cleanallruv_clean_restart(topology):
# Run the task
log.info('test_cleanallruv_clean_restart: run the cleanAllRUV task...')
try:
- topology.master1.tasks.cleanAllRUV(suffix=DEFAULT_SUFFIX, replicaid='4',
- args={TASK_WAIT: False})
+ (task_dn, rc) = topology.master1.tasks.cleanAllRUV(
+ suffix=DEFAULT_SUFFIX, replicaid='4', args={TASK_WAIT: False})
except ValueError as e:
log.fatal('test_cleanallruv_clean_restart: Problem running cleanAllRuv task: ' +
e.message('desc'))
assert False
# Sleep a bit, then stop master 1
- time.sleep(3)
+ time.sleep(5)
topology.master1.stop(timeout=30)
# Now start master 3 & 1, and make sure we didn't crash
@@ -714,80 +769,17 @@ def test_cleanallruv_clean_restart(topology):
assert False
# Wait a little for agmts/cleanallruv to wake up
- time.sleep(5)
+ if not task_done(topology, task_dn):
+ log.fatal('test_cleanallruv_clean_restart: cleanAllRUV task did not finish')
+ assert False
# Check the other master's RUV for 'replica 4'
log.info('test_cleanallruv_clean_restart: check all the masters have been cleaned...')
- clean = False
- count = 0
- while not clean and count < 10:
- clean = True
-
- # Check master 1
- try:
- entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_restart: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_restart: Master 1 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean_restart: Master 1 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Unable to search master 1 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 2
- try:
- entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_restart: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_restart: Master 2 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean_restart: Master 2 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Unable to search master 2 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 3
- try:
- entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_restart: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_restart: Master 3 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean_restart: Master 3 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_restart: Unable to search master 3 for db tombstone: ' +
- e.message['desc'])
-
- # Sleep a bit and give it chance to clean up...
- time.sleep(5)
- count += 1
-
+ clean = check_ruvs("test_cleanallruv_clean_restart", topology)
if not clean:
log.fatal('Failed to clean replicas')
assert False
- log.info('Allow cleanallruv threads to finish...')
- time.sleep(30)
-
log.info('test_cleanallruv_clean_restart PASSED, restoring master 4...')
#
@@ -824,25 +816,7 @@ def test_cleanallruv_clean_force(topology):
topology.master3.start(timeout=10)
# Remove the agreements from the other masters that point to master 4
- log.info('test_cleanallruv_clean_force: remove all the agreements to master 4...')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_clean_force", topology)
# Run the task, use "force" because master 3 is not in sync with the other replicas
# in regards to the replica 4 RUV
@@ -857,76 +831,11 @@ def test_cleanallruv_clean_force(topology):
# Check the other master's RUV for 'replica 4'
log.info('test_cleanallruv_clean_force: check all the masters have been cleaned...')
- clean = False
- count = 0
- while not clean and count < 5:
- clean = True
-
- # Check master 1
- try:
- entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_force: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_force: Master 1 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean_force: Master 1 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Unable to search master 1 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 2
- try:
- entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_force: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_force: Master 1 not cleaned!')
- clean = False
- if clean:
- log.info('Master 2 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Unable to search master 2 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 3
- try:
- entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_clean_force: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_clean_force: Master 3 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_clean_force: Master 3 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_clean_force: Unable to search master 3 for db tombstone: ' +
- e.message['desc'])
-
- # Sleep a bit and give it chance to clean up...
- time.sleep(5)
- count += 1
-
+ clean = check_ruvs("test_cleanallruv_clean_force", topology)
if not clean:
log.fatal('test_cleanallruv_clean_force: Failed to clean replicas')
assert False
- log.info('test_cleanallruv_clean_force: Allow cleanallruv threads to finish')
- time.sleep(30)
-
log.info('test_cleanallruv_clean_force PASSED, restoring master 4...')
#
@@ -958,25 +867,7 @@ def test_cleanallruv_abort(topology):
assert False
# Remove the agreements from the other masters that point to master 4
- log.info('test_cleanallruv_abort: remove all the agreements to master 4...)')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_abort", topology)
# Stop master 2
log.info('test_cleanallruv_abort: stop master 2 to freeze the cleanAllRUV task...')
@@ -993,7 +884,7 @@ def test_cleanallruv_abort(topology):
assert False
# Wait a bit
- time.sleep(10)
+ time.sleep(5)
# Abort the task
log.info('test_cleanallruv_abort: abort the cleanAllRUV task...')
@@ -1007,18 +898,7 @@ def test_cleanallruv_abort(topology):
# Check master 1 does not have the clean task running
log.info('test_cleanallruv_abort: check master 1 no longer has a cleanAllRUV task...')
- attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
- 'nsTaskCurrentItem', 'nsTaskTotalItems']
- done = False
- count = 0
- while not done and count < 5:
- entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
- if not entry or entry.nsTaskExitCode:
- done = True
- break
- time.sleep(1)
- count += 1
- if not done:
+ if not task_done(topology, clean_task_dn):
log.fatal('test_cleanallruv_abort: CleanAllRUV task was not aborted')
assert False
@@ -1062,28 +942,11 @@ def test_cleanallruv_abort_restart(topology):
# Remove the agreements from the other masters that point to master 4
log.info('test_cleanallruv_abort_restart: remove all the agreements to master 4...)')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_restart: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_abort_restart", topology)
# Stop master 3
log.info('test_cleanallruv_abort_restart: stop master 3 to freeze the cleanAllRUV task...')
- topology.master3.stop(timeout=10)
+ topology.master3.stop()
# Run the task
log.info('test_cleanallruv_abort_restart: add the cleanAllRUV task...')
@@ -1113,29 +976,19 @@ def test_cleanallruv_abort_restart(topology):
# Check master 1 does not have the clean task running
log.info('test_cleanallruv_abort: check master 1 no longer has a cleanAllRUV task...')
- attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
- 'nsTaskCurrentItem', 'nsTaskTotalItems']
- done = False
- count = 0
- while not done and count < 10:
- entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
- if not entry or entry.nsTaskExitCode:
- done = True
- break
- time.sleep(1)
- count += 1
- if not done:
+
+ if not task_done(topology, clean_task_dn):
log.fatal('test_cleanallruv_abort_restart: CleanAllRUV task was not aborted')
assert False
# Now restart master 1, and make sure the abort process completes
- topology.master1.restart(timeout=30)
+ topology.master1.restart()
if topology.master1.detectDisorderlyShutdown():
log.fatal('test_cleanallruv_abort_restart: Master 1 previously crashed!')
assert False
# Start master 3
- topology.master3.start(timeout=10)
+ topology.master3.start()
# Check master 1 tried to run abort task. We expect the abort task to be aborted.
if not topology.master1.searchErrorsLog('Aborting abort task'):
@@ -1185,29 +1038,11 @@ def test_cleanallruv_abort_certify(topology):
assert False
# Remove the agreements from the other masters that point to master 4
- log.info('test_cleanallruv_abort_certify: remove all the agreements to master 4...)')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_abort_certify: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_abort_certify", topology)
# Stop master 2
log.info('test_cleanallruv_abort_certify: stop master 2 to freeze the cleanAllRUV task...')
- topology.master2.stop(timeout=10)
+ topology.master2.stop()
# Run the task
log.info('test_cleanallruv_abort_certify: add the cleanAllRUV task...')
@@ -1219,6 +1054,9 @@ def test_cleanallruv_abort_certify(topology):
e.message('desc'))
assert False
+ # Allow the clean task to get started...
+ time.sleep(5)
+
# Abort the task
log.info('test_cleanallruv_abort_certify: abort the cleanAllRUV task...')
try:
@@ -1230,54 +1068,31 @@ def test_cleanallruv_abort_certify(topology):
assert False
# Wait a while and make sure the abort task is still running
- log.info('test_cleanallruv_abort_certify: sleep for 10 seconds')
- time.sleep(10)
+ log.info('test_cleanallruv_abort_certify: sleep for 5 seconds')
+ time.sleep(5)
- attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
- 'nsTaskCurrentItem', 'nsTaskTotalItems']
- entry = topology.master1.getEntry(abort_task_dn, attrlist=attrlist)
- if not entry or entry.nsTaskExitCode:
+ if task_done(topology, abort_task_dn, 60):
log.fatal('test_cleanallruv_abort_certify: abort task incorrectly finished')
assert False
# Now start master 2 so it can be aborted
log.info('test_cleanallruv_abort_certify: start master 2 to allow the abort task to finish...')
- topology.master2.start(timeout=10)
+ topology.master2.start()
# Wait for the abort task to stop
- done = False
- count = 0
- while not done and count < 60:
- entry = topology.master1.getEntry(abort_task_dn, attrlist=attrlist)
- if not entry or entry.nsTaskExitCode:
- done = True
- break
- time.sleep(1)
- count += 1
- if not done:
+ if not task_done(topology, abort_task_dn, 60):
log.fatal('test_cleanallruv_abort_certify: The abort CleanAllRUV task was not aborted')
assert False
# Check master 1 does not have the clean task running
log.info('test_cleanallruv_abort_certify: check master 1 no longer has a cleanAllRUV task...')
- attrlist = ['nsTaskLog', 'nsTaskStatus', 'nsTaskExitCode',
- 'nsTaskCurrentItem', 'nsTaskTotalItems']
- done = False
- count = 0
- while not done and count < 5:
- entry = topology.master1.getEntry(clean_task_dn, attrlist=attrlist)
- if not entry or entry.nsTaskExitCode:
- done = True
- break
- time.sleep(1)
- count += 1
- if not done:
+ if not task_done(topology, clean_task_dn):
log.fatal('test_cleanallruv_abort_certify: CleanAllRUV task was not aborted')
assert False
# Start master 2
log.info('test_cleanallruv_abort_certify: start master 2 to begin the restore process...')
- topology.master2.start(timeout=10)
+ topology.master2.start()
#
# Now run the clean task task again to we can properly restore master 4
@@ -1307,13 +1122,13 @@ def test_cleanallruv_stress_clean(topology):
log.info('test_cleanallruv_stress_clean: put all the masters under load...')
# Put all the masters under load
- m1_add_users = AddUsers(topology.master1, 4000)
+ m1_add_users = AddUsers(topology.master1, 2000)
m1_add_users.start()
- m2_add_users = AddUsers(topology.master2, 4000)
+ m2_add_users = AddUsers(topology.master2, 2000)
m2_add_users.start()
- m3_add_users = AddUsers(topology.master3, 4000)
+ m3_add_users = AddUsers(topology.master3, 2000)
m3_add_users.start()
- m4_add_users = AddUsers(topology.master4, 4000)
+ m4_add_users = AddUsers(topology.master4, 2000)
m4_add_users.start()
# Allow sometime to get replication flowing in all directions
@@ -1330,8 +1145,8 @@ def test_cleanallruv_stress_clean(topology):
assert False
# We need to wait for master 4 to push its changes out
- log.info('test_cleanallruv_stress_clean: allow some time for master 4 to push changes out (30 seconds)...')
- time.sleep(30)
+ log.info('test_cleanallruv_stress_clean: allow some time for master 4 to push changes out (60 seconds)...')
+ time.sleep(60)
# Disable master 4
log.info('test_cleanallruv_stress_clean: disable replication on master 4...')
@@ -1342,25 +1157,7 @@ def test_cleanallruv_stress_clean(topology):
assert False
# Remove the agreements from the other masters that point to master 4
- log.info('test_cleanallruv_stress_clean: remove all the agreements to master 4...')
- try:
- topology.master1.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m1 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master2.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m2 -> m4), error: ' +
- e.message['desc'])
- assert False
- try:
- topology.master3.agreement.delete(DEFAULT_SUFFIX, topology.master4)
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Failed to delete agmt(m3 -> m4), error: ' +
- e.message['desc'])
- assert False
+ remove_master4_agmts("test_cleanallruv_stress_clean", topology)
# Run the task
log.info('test_cleanallruv_stress_clean: Run the cleanAllRUV task...')
@@ -1381,69 +1178,7 @@ def test_cleanallruv_stress_clean(topology):
# Check the other master's RUV for 'replica 4'
log.info('test_cleanallruv_stress_clean: check if all the replicas have been cleaned...')
- clean = False
- count = 0
- while not clean and count < 10:
- clean = True
-
- # Check master 1
- try:
- entry = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_stress_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_stress_clean: Master 1 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_stress_clean: Master 1 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Unable to search master 1 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 2
- try:
- entry = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_stress_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_stress_clean: Master 2 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_stress_clean: Master 2 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Unable to search master 2 for db tombstone: ' +
- e.message['desc'])
-
- # Check master 3
- try:
- entry = topology.master3.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, REPLICA_RUV_FILTER)
- if not entry:
- log.error('test_cleanallruv_stress_clean: Failed to find db tombstone entry from master')
- repl_fail(replica_inst)
- elements = entry[0].getValues('nsds50ruv')
- for ruv in elements:
- if 'replica 4' in ruv:
- # Not cleaned
- log.error('test_cleanallruv_stress_clean: Master 3 not cleaned!')
- clean = False
- if clean:
- log.info('test_cleanallruv_stress_clean: Master 3 is cleaned.')
- except ldap.LDAPError as e:
- log.fatal('test_cleanallruv_stress_clean: Unable to search master 3 for db tombstone: ' +
- e.message['desc'])
-
- # Sleep a bit and give it chance to clean up...
- time.sleep(5)
- count += 1
-
+ clean = check_ruvs("test_cleanallruv_stress_clean", topology)
if not clean:
log.fatal('test_cleanallruv_stress_clean: Failed to clean replicas')
assert False
@@ -1454,6 +1189,10 @@ def test_cleanallruv_stress_clean(topology):
# Cleanup - restore master 4
#
+ # Sleep for a bit to replication complete
+ log.info("Sleep for 120 seconds to allow replication to complete...")
+ time.sleep(120)
+
# Turn off readonly mode
try:
topology.master4.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-readonly', 'off')])
@@ -1466,10 +1205,6 @@ def test_cleanallruv_stress_clean(topology):
def test_cleanallruv_final(topology):
- topology.master1.delete()
- topology.master2.delete()
- topology.master3.delete()
- topology.master4.delete()
log.info('cleanAllRUV test suite PASSED')
diff --git a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
index 4905088..b0da0eb 100644
--- a/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
+++ b/dirsrvtests/tests/suites/replication/wait_for_async_feature_test.py
@@ -67,7 +67,7 @@ def topology(request):
# Create all the agreements
#
# Creating agreement from master 1 to master 2
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' %(master2.host, master2.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -79,7 +79,7 @@ def topology(request):
log.debug("%s created" % m1_m2_agmt)
# Creating agreement from master 2 to master 1
- properties = {RA_NAME: r'meTo_$host:$port',
+ properties = {RA_NAME: 'meTo_%s:%s' %(master1.host, master1.port),
RA_BINDDN: defaultProperties[REPLICATION_BIND_DN],
RA_BINDPW: defaultProperties[REPLICATION_BIND_PW],
RA_METHOD: defaultProperties[REPLICATION_BIND_METHOD],
@@ -109,8 +109,12 @@ def topology(request):
assert False
log.info("Set Replication Debugging loglevel for the errorlog")
- master1.setLogLevel(lib389.LOG_REPLICA)
- master2.setLogLevel(lib389.LOG_REPLICA)
+ master1.setLogLevel(LOG_REPLICA)
+ master2.setLogLevel(LOG_REPLICA)
+
+ logging_attr = 'nsslapd-logging-hr-timestamps-enabled'
+ master1.modify_s("cn=config", [(ldap.MOD_REPLACE, logging_attr, "off")])
+ master2.modify_s("cn=config", [(ldap.MOD_REPLACE, logging_attr, "off")])
# Delete each instance in the end
def fin():
@@ -258,12 +262,14 @@ def test_behavior_with_value(topology, waitfor_async_attr, entries):
min_ap = waitfor_async_attr[1][0]
max_ap = waitfor_async_attr[1][1]
+ time.sleep(20)
+
log.info("Gather all sync attempts within Counter dict, group by timestamp")
with open(master1.errlog, 'r') as errlog:
errlog_filtered = filter(lambda x: "waitfor_async_results" in x, errlog)
for line in errlog_filtered:
# Watch only over unsuccessful sync attempts
- if line.split()[4] != line.split()[5]:
+ if line.split()[3] != line.split()[4]:
timestamp = line.split(']')[0]
sync_dict[timestamp] += 1
diff --git a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
index bd52fb6..5d8a530 100644
--- a/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
+++ b/dirsrvtests/tests/suites/replsync_plugin/repl_sync_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_repl_sync_(topology):
return
-def test_repl_sync_final(topology):
- topology.standalone.delete()
- log.info('repl_sync test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_repl_sync_init(topo)
test_repl_sync_(topo)
- test_repl_sync_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
index 672bebc..233d2ca 100644
--- a/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
+++ b/dirsrvtests/tests/suites/resource_limits/res_limits_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_res_limits_(topology):
return
-def test_res_limits_final(topology):
- topology.standalone.delete()
- log.info('res_limits test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_res_limits_init(topo)
test_res_limits_(topo)
- test_res_limits_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
index 2d8b61f..0a36c48 100644
--- a/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
+++ b/dirsrvtests/tests/suites/retrocl_plugin/retrocl_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_retrocl_(topology):
return
-def test_retrocl_final(topology):
- topology.standalone.delete()
- log.info('retrocl test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_retrocl_init(topo)
test_retrocl_(topo)
- test_retrocl_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
index ae79bb5..c626660 100644
--- a/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
+++ b/dirsrvtests/tests/suites/reverpwd_plugin/reverpwd_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_reverpwd_(topology):
return
-def test_reverpwd_final(topology):
- topology.standalone.delete()
- log.info('reverpwd test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_reverpwd_init(topo)
test_reverpwd_(topo)
- test_reverpwd_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/roles_plugin/roles_test.py b/dirsrvtests/tests/suites/roles_plugin/roles_test.py
index 704f2b7..1f1a765 100644
--- a/dirsrvtests/tests/suites/roles_plugin/roles_test.py
+++ b/dirsrvtests/tests/suites/roles_plugin/roles_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_roles_(topology):
return
-def test_roles_final(topology):
- topology.standalone.delete()
- log.info('roles test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_roles_init(topo)
test_roles_(topo)
- test_roles_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
index 2e70656..03bda25 100644
--- a/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
+++ b/dirsrvtests/tests/suites/rootdn_plugin/rootdn_plugin_test.py
@@ -53,8 +53,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -210,13 +211,21 @@ def test_rootdn_access_day_of_week(topology):
days = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
day = int(time.strftime("%w", time.gmtime()))
- if day > 3:
+ if day == 6:
+ # Handle the roll over from Saturday into Sunday
+ deny_days = days[1] + ', ' + days[2]
+ allow_days = days[6] + ',' + days[0]
+ elif day > 3:
deny_days = days[0] + ', ' + days[1]
allow_days = days[day] + ',' + days[day - 1]
else:
deny_days = days[4] + ',' + days[5]
allow_days = days[day] + ',' + days[day + 1]
+ log.info('Today: ' + days[day])
+ log.info('Allowed days: ' + allow_days)
+ log.info('Deny days: ' + deny_days)
+
#
# Set the deny days
#
@@ -751,11 +760,6 @@ def test_rootdn_config_validate(topology):
log.info('test_rootdn_config_validate: PASSED')
-def test_rootdn_final(topology):
- topology.standalone.delete()
- log.info('Root DN Access Control test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -770,8 +774,6 @@ def run_isolated():
test_rootdn_access_denied_host(topo)
test_rootdn_config_validate(topo)
- test_rootdn_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/sasl/sasl_test.py b/dirsrvtests/tests/suites/sasl/sasl_test.py
index 2f5e18c..a207a90 100644
--- a/dirsrvtests/tests/suites/sasl/sasl_test.py
+++ b/dirsrvtests/tests/suites/sasl/sasl_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_sasl_(topology):
return
-def test_sasl_final(topology):
- topology.standalone.delete()
- log.info('sasl test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,8 +81,6 @@ def run_isolated():
topo = topology(True)
test_sasl_init(topo)
test_sasl_(topo)
- test_sasl_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/schema/test_schema.py b/dirsrvtests/tests/suites/schema/test_schema.py
index f23391a..1c0ec05 100644
--- a/dirsrvtests/tests/suites/schema/test_schema.py
+++ b/dirsrvtests/tests/suites/schema/test_schema.py
@@ -67,6 +67,10 @@ def topology(request):
schemainst.create()
schemainst.open()
+ def fin():
+ schemainst.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(schemainst)
@@ -202,10 +206,6 @@ def test_schema_comparewithfiles(topology):
log.info('test_schema_comparewithfiles: PASSED')
-def test_schema_final(topology):
- topology.standalone.delete()
-
-
def run_isolated():
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
@@ -218,10 +218,8 @@ def run_isolated():
installation_prefix = os.environ.get('PREFIX')
topo = topology(True)
-
test_schema_comparewithfiles(topo)
- test_schema_final(topo)
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
index c516745..cd1e396 100644
--- a/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
+++ b/dirsrvtests/tests/suites/schema_reload_plugin/schema_reload_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_schema_reload_(topology):
return
-def test_schema_reload_final(topology):
- topology.standalone.delete()
- log.info('schema_reload test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_schema_reload_init(topo)
test_schema_reload_(topo)
- test_schema_reload_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/snmp/snmp_test.py b/dirsrvtests/tests/suites/snmp/snmp_test.py
index a442efc..7cbaf28 100644
--- a/dirsrvtests/tests/suites/snmp/snmp_test.py
+++ b/dirsrvtests/tests/suites/snmp/snmp_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_snmp_(topology):
return
-def test_snmp_final(topology):
- topology.standalone.delete()
- log.info('snmp test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_snmp_init(topo)
test_snmp_(topo)
- test_snmp_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/ssl/ssl_test.py b/dirsrvtests/tests/suites/ssl/ssl_test.py
index d0b36b5..ef3261f 100644
--- a/dirsrvtests/tests/suites/ssl/ssl_test.py
+++ b/dirsrvtests/tests/suites/ssl/ssl_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_ssl_(topology):
return
-def test_ssl_final(topology):
- topology.standalone.delete()
- log.info('ssl test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_ssl_init(topo)
test_ssl_(topo)
- test_ssl_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
index 8f801ca..1ef24c2 100644
--- a/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
+++ b/dirsrvtests/tests/suites/syntax_plugin/syntax_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_syntax_(topology):
return
-def test_syntax_final(topology):
- topology.standalone.delete()
- log.info('syntax test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_syntax_init(topo)
test_syntax_(topo)
- test_syntax_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/usn_plugin/usn_test.py b/dirsrvtests/tests/suites/usn_plugin/usn_test.py
index bd57835..6ecbdf8 100644
--- a/dirsrvtests/tests/suites/usn_plugin/usn_test.py
+++ b/dirsrvtests/tests/suites/usn_plugin/usn_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_usn_(topology):
return
-def test_usn_final(topology):
- topology.standalone.delete()
- log.info('usn test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_usn_init(topo)
test_usn_(topo)
- test_usn_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/views_plugin/views_test.py b/dirsrvtests/tests/suites/views_plugin/views_test.py
index 28afcc8..d13c5f9 100644
--- a/dirsrvtests/tests/suites/views_plugin/views_test.py
+++ b/dirsrvtests/tests/suites/views_plugin/views_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_views_(topology):
return
-def test_views_final(topology):
- topology.standalone.delete()
- log.info('views test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,8 +81,6 @@ def run_isolated():
topo = topology(True)
test_views_init(topo)
test_views_(topo)
- test_views_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/suites/vlv/vlv_test.py b/dirsrvtests/tests/suites/vlv/vlv_test.py
index ee8b86e..8532dde 100644
--- a/dirsrvtests/tests/suites/vlv/vlv_test.py
+++ b/dirsrvtests/tests/suites/vlv/vlv_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_vlv_(topology):
return
-def test_vlv_final(topology):
- topology.standalone.delete()
- log.info('vlv test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_vlv_init(topo)
test_vlv_(topo)
- test_vlv_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
index af6f19f..ea4ab68 100644
--- a/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
+++ b/dirsrvtests/tests/suites/whoami_plugin/whoami_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -73,11 +74,6 @@ def test_whoami_(topology):
return
-def test_whoami_final(topology):
- topology.standalone.delete()
- log.info('whoami test suite PASSED')
-
-
def run_isolated():
global installation1_prefix
installation1_prefix = None
@@ -85,7 +81,6 @@ def run_isolated():
topo = topology(True)
test_whoami_init(topo)
test_whoami_(topo)
- test_whoami_final(topo)
if __name__ == '__main__':
diff --git a/dirsrvtests/tests/tickets/ticket1347760_test.py b/dirsrvtests/tests/tickets/ticket1347760_test.py
index d2e9e37..b824a3e 100644
--- a/dirsrvtests/tests/tickets/ticket1347760_test.py
+++ b/dirsrvtests/tests/tickets/ticket1347760_test.py
@@ -71,15 +71,16 @@ def topology(request):
standalone.open()
# Delete each instance in the end
-# def fin():
-# standalone.delete()
-# request.addfinalizer(fin)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
return TopologyStandalone(standalone)
+
def pattern_accesslog(file, log_pattern):
try:
pattern_accesslog.last_pos += 1
@@ -103,6 +104,7 @@ def pattern_accesslog(file, log_pattern):
else:
return None
+
def check_op_result(server, op, dn, superior, exists, rc):
targetdn = dn
if op == 'search':
@@ -184,6 +186,7 @@ def check_op_result(server, op, dn, superior, exists, rc):
log.info('PASSED\n')
+
def test_ticket1347760(topology):
"""
Prevent revealing the entry info to whom has no access rights.
@@ -432,6 +435,7 @@ def test_ticket1347760(topology):
log.info('SUCCESS')
+
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket142_test.py b/dirsrvtests/tests/tickets/ticket142_test.py
index 53cb82f..f244bed 100644
--- a/dirsrvtests/tests/tickets/ticket142_test.py
+++ b/dirsrvtests/tests/tickets/ticket142_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -71,8 +71,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -83,6 +84,7 @@ def _header(topology, label):
topology.standalone.log.info("####### %s" % label)
topology.standalone.log.info("###############################################")
+
def check_attr_val(topology, dn, attr, expected):
try:
centry = topology.standalone.search_s(dn, ldap.SCOPE_BASE, 'cn=*')
@@ -100,6 +102,7 @@ def check_attr_val(topology, dn, attr, expected):
log.fatal('Failed to search ' + dn + ': ' + e.message['desc'])
assert False
+
def _142_init(topology):
"""
Set global password policy.
@@ -296,11 +299,6 @@ def _142_run_4(topology):
log.info('PASSED')
-def _142_final(topology):
- topology.standalone.delete()
- log.info('All PASSED')
-
-
def test_ticket142(topology):
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
@@ -320,7 +318,6 @@ def test_ticket142(topology):
_142_run_3(topology)
_142_run_4(topology)
- _142_final(topology)
if __name__ == '__main__':
# Run isolated
diff --git a/dirsrvtests/tests/tickets/ticket365_test.py b/dirsrvtests/tests/tickets/ticket365_test.py
index 44aa3e8..8025375 100644
--- a/dirsrvtests/tests/tickets/ticket365_test.py
+++ b/dirsrvtests/tests/tickets/ticket365_test.py
@@ -1,19 +1,17 @@
# --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
+# Copyright (C) 2016 Red Hat, Inc.
# All rights reserved.
#
# License: GPL (version 3 or any later version).
# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
-import os
-import sys
+
import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -50,8 +48,10 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ # Delete each instance in the end
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -88,7 +88,10 @@ def test_ticket365(topology):
# Enable the audit log
#
try:
- topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-auditlog-logging-enabled', 'on')])
+ topology.standalone.modify_s(DN_CONFIG,
+ [(ldap.MOD_REPLACE,
+ 'nsslapd-auditlog-logging-enabled',
+ 'on')])
except ldap.LDAPError as e:
log.fatal('Failed to enable audit log, error: ' + e.message['desc'])
assert False
@@ -106,21 +109,26 @@ def test_ticket365(topology):
#
try:
topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE,
- 'nsslapd-auditlog-logging-hide-unhashed-pw', 'off')])
+ 'nsslapd-auditlog-logging-hide-unhashed-pw', 'off')])
except ldap.LDAPError as e:
- log.fatal('Failed to enable writing unhashed password to audit log, error: ' + e.message['desc'])
+ log.fatal('Failed to enable writing unhashed password to audit log, ' +
+ 'error: ' + e.message['desc'])
assert False
#
# Set new password, and check the audit log
#
try:
- topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE, 'userpassword', 'mypassword')])
+ topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE,
+ 'userpassword',
+ 'mypassword')])
except ldap.LDAPError as e:
- log.fatal('Failed to enable writing unhashed password to audit log, error: ' + e.message['desc'])
+ log.fatal('Failed to enable writing unhashed password to audit log, ' +
+ 'error: ' + e.message['desc'])
assert False
# Check audit log
+ time.sleep(1)
if not topology.standalone.searchAuditLog('unhashed#user#password: mypassword'):
log.fatal('failed to find unhashed password in auditlog')
assert False
@@ -129,9 +137,13 @@ def test_ticket365(topology):
# Hide unhashed password in audit log
#
try:
- topology.standalone.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-auditlog-logging-hide-unhashed-pw', 'on')])
+ topology.standalone.modify_s(DN_CONFIG,
+ [(ldap.MOD_REPLACE,
+ 'nsslapd-auditlog-logging-hide-unhashed-pw',
+ 'on')])
except ldap.LDAPError as e:
- log.fatal('Failed to deny writing unhashed password to audit log, error: ' + e.message['desc'])
+ log.fatal('Failed to deny writing unhashed password to audit log, ' +
+ 'error: ' + e.message['desc'])
assert False
log.info('Test complete')
@@ -139,31 +151,26 @@ def test_ticket365(topology):
# Modify password, and check the audit log
#
try:
- topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE, 'userpassword', 'hidepassword')])
+ topology.standalone.modify_s(USER_DN, [(ldap.MOD_REPLACE,
+ 'userpassword',
+ 'hidepassword')])
except ldap.LDAPError as e:
- log.fatal('Failed to enable writing unhashed password to audit log, error: ' + e.message['desc'])
+ log.fatal('Failed to enable writing unhashed password to audit log, ' +
+ 'error: ' + e.message['desc'])
assert False
# Check audit log
+ time.sleep(1)
if topology.standalone.searchAuditLog('unhashed#user#password: hidepassword'):
log.fatal('Found unhashed password in auditlog')
assert False
-
-def test_ticket365_final(topology):
- topology.standalone.delete()
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket365(topo)
- test_ticket365_final(topo)
+ log.info('Test complete')
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47313_test.py b/dirsrvtests/tests/tickets/ticket47313_test.py
index 35f2456..ca37a52 100644
--- a/dirsrvtests/tests/tickets/ticket47313_test.py
+++ b/dirsrvtests/tests/tickets/ticket47313_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -63,8 +63,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -146,9 +147,6 @@ def test_ticket47313_run(topology):
topology.standalone.log.info("Try to delete %s " % entry_dn_en_only)
topology.standalone.delete_s(entry_dn_en_only)
-
-def test_ticket47313_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
@@ -166,8 +164,6 @@ def run_isolated():
topo = topology(True)
test_ticket47313_run(topo)
- test_ticket47313_final(topo)
-
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47384_test.py b/dirsrvtests/tests/tickets/ticket47384_test.py
index e5dc354..3a0f515 100644
--- a/dirsrvtests/tests/tickets/ticket47384_test.py
+++ b/dirsrvtests/tests/tickets/ticket47384_test.py
@@ -14,7 +14,6 @@ import logging
import pytest
import shutil
from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -52,8 +51,12 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ # Delete each instance in the end
+ def fin():
+ standalone.delete()
+ if os.geteuid() == 0:
+ os.system('setenforce 1')
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -65,8 +68,15 @@ def test_ticket47384(topology):
With the inclusion of ticket 47601 - we do allow plugin paths
outside the default location
'''
+
+ if os.geteuid() != 0:
+ log.warn('This script must be run as root')
+ return
+
+ os.system('setenforce 0')
+
PLUGIN_DN = 'cn=%s,cn=plugins,cn=config' % PLUGIN_WHOAMI
- tmp_dir = topology.standalone.getDir(__file__, TMP_DIR)
+ tmp_dir = '/tmp'
plugin_dir = get_plugin_dir(topology.standalone.prefix)
# Copy the library to our tmp directory
@@ -79,9 +89,9 @@ def test_ticket47384(topology):
try:
shutil.copy('%s/libwhoami-plugin.la' % plugin_dir, tmp_dir)
except IOError as e:
- log.fatal('Failed to copy libwhoami-plugin.la to the tmp directory, error: '
+ log.warn('Failed to copy ' + plugin_dir +
+ '/libwhoami-plugin.la to the tmp directory, error: '
+ e.strerror)
- assert False
#
# Test adding valid plugin paths
@@ -148,20 +158,9 @@ def test_ticket47384(topology):
log.info('Test complete')
-def test_ticket47384_final(topology):
- topology.standalone.delete()
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- global installation1_prefix
- installation1_prefix = None
-
- topo = topology(True)
- test_ticket47384(topo)
- test_ticket47384_final(topo)
-
-
if __name__ == '__main__':
- run_isolated()
+ # Run isolated
+ # -s for DEBUG mode
+ CURRENT_FILE = os.path.realpath(__file__)
+ pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket47431_test.py b/dirsrvtests/tests/tickets/ticket47431_test.py
index a102248..4682963 100644
--- a/dirsrvtests/tests/tickets/ticket47431_test.py
+++ b/dirsrvtests/tests/tickets/ticket47431_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -53,8 +53,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -79,7 +80,7 @@ def test_ticket47431_1(topology):
[..] - str2entry_dupcheck: 27 duplicate values for attribute type nsslapd-pluginarg2
detected in entry cn=7-bit check,cn=plugins,cn=config. Extra values ignored.
'''
-
+
log.info("Ticket 47431 - 1: Check 26 duplicate values are treated as one...")
expected = "str2entry_dupcheck: .* duplicate values for attribute type nsslapd-pluginarg2 detected in entry cn=7-bit check,cn=plugins,cn=config."
@@ -138,7 +139,7 @@ def test_ticket47431_2(topology):
'''
log.info("Ticket 47431 - 2: Check two values belonging to one arg is fixed...")
-
+
try:
topology.standalone.modify_s(DN_7BITPLUGIN,
[(ldap.MOD_REPLACE, 'nsslapd-pluginarg0', "uid"),
@@ -197,7 +198,7 @@ def test_ticket47431_3(topology):
'''
log.info("Ticket 47431 - 3: Check missing args are fixed...")
-
+
try:
topology.standalone.modify_s(DN_7BITPLUGIN,
[(ldap.MOD_DELETE, 'nsslapd-pluginarg0', None),
@@ -238,7 +239,6 @@ def test_ticket47431_3(topology):
def test_ticket47431_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47490_test.py b/dirsrvtests/tests/tickets/ticket47490_test.py
index b61d443..56bf24b 100644
--- a/dirsrvtests/tests/tickets/ticket47490_test.py
+++ b/dirsrvtests/tests/tickets/ticket47490_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -254,9 +254,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master.clearTmpDir(__file__)
-
+ def fin():
+ master.delete()
+ consumer.delete()
+ request.addfinalizer(fin)
#
# Here we have two instances master and consumer
# with replication working.
@@ -655,8 +656,6 @@ def test_ticket47490_nine(topology):
def test_ticket47490_final(topology):
- topology.master.delete()
- topology.consumer.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47536_test.py b/dirsrvtests/tests/tickets/ticket47536_test.py
index 1bcbb14..fe47ab7 100644
--- a/dirsrvtests/tests/tickets/ticket47536_test.py
+++ b/dirsrvtests/tests/tickets/ticket47536_test.py
@@ -25,8 +25,6 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
-installation1_prefix = ''
-
CONFIG_DN = 'cn=config'
ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
RSA = 'RSA'
@@ -38,6 +36,7 @@ M2SERVERCERT = 'Server-Cert2'
M1LDAPSPORT = '41636'
M2LDAPSPORT = '42636'
+
class TopologyReplication(object):
def __init__(self, master1, master2):
master1.open()
@@ -48,14 +47,8 @@ class TopologyReplication(object):
@pytest.fixture(scope="module")
def topology(request):
- global installation1_prefix
- if installation1_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation1_prefix
-
# Creating master 1...
master1 = DirSrv(verbose=False)
- if installation1_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_MASTER_1
args_instance[SER_PORT] = PORT_MASTER_1
args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_1
@@ -71,8 +64,6 @@ def topology(request):
# Creating master 2...
master2 = DirSrv(verbose=False)
- if installation1_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_MASTER_2
args_instance[SER_PORT] = PORT_MASTER_2
args_instance[SER_SERVERID_PROP] = SERVERID_MASTER_2
@@ -86,6 +77,12 @@ def topology(request):
master2.open()
master2.replica.enableReplication(suffix=SUFFIX, role=REPLICAROLE_MASTER, replicaId=REPLICAID_MASTER_2)
+ # Delete each instance in the end
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
+
#
# Create all the agreements
#
@@ -136,15 +133,6 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # Delete each instance in the end
- def fin():
- master1.delete()
- master2.delete()
- request.addfinalizer(fin)
-
- # Clear out the tmp dir
- master1.clearTmpDir(__file__)
-
return TopologyReplication(master1, master2)
@@ -162,6 +150,7 @@ def add_entry(server, name, rdntmpl, start, num):
'cn': '%s user%d' % (name, ii),
'sn': 'user%d' % (ii)})))
+
def enable_ssl(server, ldapsport, mycert):
log.info("\n######################### Enabling SSL LDAPSPORT %s ######################\n" % ldapsport)
server.simple_bind_s(DN_DM, PASSWORD)
@@ -180,6 +169,7 @@ def enable_ssl(server, ldapsport, mycert):
'nsSSLToken': 'internal (software)',
'nsSSLActivation': 'on'})))
+
def check_pems(confdir, mycacert, myservercert, myserverkey, notexist):
log.info("\n######################### Check PEM files (%s, %s, %s)%s in %s ######################\n"
% (mycacert, myservercert, myserverkey, notexist, confdir))
@@ -224,6 +214,7 @@ def check_pems(confdir, mycacert, myservercert, myserverkey, notexist):
else:
log.info('%s is correctly not generated.' % serverkey)
+
def doAndPrintIt(cmdline):
proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
log.info(" OUT:")
@@ -240,6 +231,7 @@ def doAndPrintIt(cmdline):
log.info(" <%s>" % l)
assert False
+
def create_keys_certs(topology):
log.info("\n######################### Creating SSL Keys and Certs ######################\n")
@@ -332,7 +324,7 @@ def create_keys_certs(topology):
check_pems(m1confdir, CACERT, M1SERVERCERT, M1SERVERCERT + '-Key', "")
global mytmp
- mytmp = topology.master1.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
m2pk12file = '%s/%s.pk12' % (mytmp, M2SERVERCERT)
cmd = 'pk12util -o %s -n "%s" -d %s -w %s -k %s' % (m2pk12file, M2SERVERCERT, m1confdir, pwdfile, pwdfile)
log.info("##### Extract PK12 file for master2: %s" % cmd)
@@ -391,6 +383,7 @@ def create_keys_certs(topology):
log.info("\n######################### Creating SSL Keys and Certs Done ######################\n")
+
def config_tls_agreements(topology):
log.info("######################### Configure SSL/TLS agreements ######################")
log.info("######################## master1 -- startTLS -> master2 #####################")
@@ -467,6 +460,7 @@ def relocate_pem_files(topology):
topology.master1.restart(timeout=10)
check_pems(m1confdir, mycacert, myservercert, myserverkey, "")
+
def test_ticket47536(topology):
"""
Set up 2way MMR:
@@ -513,7 +507,7 @@ def test_ticket47536(topology):
entries = topology.master2.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(uid=*)')
assert 20 == len(entries)
- db2ldifpl = '%s/sbin/db2ldif.pl' % installation1_prefix
+ db2ldifpl = '%s/sbin/db2ldif.pl' % topology.master1.prefix
cmdline = [db2ldifpl, '-n', 'userRoot', '-Z', SERVERID_MASTER_1, '-D', DN_DM, '-w', PASSWORD]
log.info("##### db2ldif.pl -- %s" % (cmdline))
doAndPrintIt(cmdline)
diff --git a/dirsrvtests/tests/tickets/ticket47560_test.py b/dirsrvtests/tests/tickets/ticket47560_test.py
index da86217..32c3427 100644
--- a/dirsrvtests/tests/tickets/ticket47560_test.py
+++ b/dirsrvtests/tests/tickets/ticket47560_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -60,8 +60,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -228,7 +229,6 @@ def test_ticket47560(topology):
def test_ticket47560_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47573_test.py b/dirsrvtests/tests/tickets/ticket47573_test.py
index 8edf113..97a48d6 100644
--- a/dirsrvtests/tests/tickets/ticket47573_test.py
+++ b/dirsrvtests/tests/tickets/ticket47573_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -200,8 +200,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master.clearTmpDir(__file__)
+ def fin():
+ master.delete()
+ consumer.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
# with replication working.
@@ -317,8 +319,6 @@ def test_ticket47573_three(topology):
def test_ticket47573_final(topology):
- topology.master.delete()
- topology.consumer.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47619_test.py b/dirsrvtests/tests/tickets/ticket47619_test.py
index 0b9961e..a440d3d 100644
--- a/dirsrvtests/tests/tickets/ticket47619_test.py
+++ b/dirsrvtests/tests/tickets/ticket47619_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -122,8 +122,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master.clearTmpDir(__file__)
+ def fin():
+ master.delete()
+ consumer.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
# with replication working.
@@ -184,8 +186,6 @@ def test_ticket47619_check_indexed_search(topology):
def test_ticket47619_final(topology):
- topology.master.delete()
- topology.consumer.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47640_test.py b/dirsrvtests/tests/tickets/ticket47640_test.py
index cd450ab..6b00cc8 100644
--- a/dirsrvtests/tests/tickets/ticket47640_test.py
+++ b/dirsrvtests/tests/tickets/ticket47640_test.py
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -112,7 +113,6 @@ def test_ticket47640(topology):
def test_ticket47640_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47653MMR_test.py b/dirsrvtests/tests/tickets/ticket47653MMR_test.py
index f951e55..6087992 100644
--- a/dirsrvtests/tests/tickets/ticket47653MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653MMR_test.py
@@ -158,8 +158,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
# with replication working.
@@ -192,9 +194,8 @@ def test_ticket47653_init(topology):
topology.master1.modify_s(DN_CONFIG, mod)
topology.master2.modify_s(DN_CONFIG, mod)
- # get read of anonymous ACI for use 'read-search' aci in SEARCH test
- ACI_ANONYMOUS = "(targetattr!=\"userPassword\")(version 3.0; acl \"Enable anonymous access\"; allow (read, search, compare) userdn=\"ldap:///anyone\";)"
- mod = [(ldap.MOD_DELETE, 'aci', ACI_ANONYMOUS)]
+ # remove all aci's and start with a clean slate
+ mod = [(ldap.MOD_DELETE, 'aci', None)]
topology.master1.modify_s(SUFFIX, mod)
topology.master2.modify_s(SUFFIX, mod)
@@ -442,8 +443,6 @@ def test_ticket47653_modify(topology):
def test_ticket47653_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47653_test.py b/dirsrvtests/tests/tickets/ticket47653_test.py
index 1901b84..1ebdb11 100644
--- a/dirsrvtests/tests/tickets/ticket47653_test.py
+++ b/dirsrvtests/tests/tickets/ticket47653_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -85,8 +85,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -117,9 +118,8 @@ def test_ticket47653_init(topology):
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '128')]
topology.standalone.modify_s(DN_CONFIG, mod)
- # get read of anonymous ACI for use 'read-search' aci in SEARCH test
- ACI_ANONYMOUS = "(targetattr!=\"userPassword\")(version 3.0; acl \"Enable anonymous access\"; allow (read, search, compare) userdn=\"ldap:///anyone\";)"
- mod = [(ldap.MOD_DELETE, 'aci', ACI_ANONYMOUS)]
+ # Remove aci's to start with a clean slate
+ mod = [(ldap.MOD_DELETE, 'aci', None)]
topology.standalone.modify_s(SUFFIX, mod)
# add dummy entries
@@ -350,7 +350,6 @@ def test_ticket47653_delete(topology):
def test_ticket47653_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47669_test.py b/dirsrvtests/tests/tickets/ticket47669_test.py
index 2ef1f3e..adbcc46 100644
--- a/dirsrvtests/tests/tickets/ticket47669_test.py
+++ b/dirsrvtests/tests/tickets/ticket47669_test.py
@@ -72,8 +72,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -237,7 +238,6 @@ def test_ticket47669_retrochangelog_maxage(topology):
def test_ticket47669_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47676_test.py b/dirsrvtests/tests/tickets/ticket47676_test.py
index 22c2994..986e620 100644
--- a/dirsrvtests/tests/tickets/ticket47676_test.py
+++ b/dirsrvtests/tests/tickets/ticket47676_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -170,8 +170,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
# with replication working.
@@ -373,8 +375,6 @@ def test_ticket47676_reject_action(topology):
def test_ticket47676_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47714_test.py b/dirsrvtests/tests/tickets/ticket47714_test.py
index 268ddef..0e3112b 100644
--- a/dirsrvtests/tests/tickets/ticket47714_test.py
+++ b/dirsrvtests/tests/tickets/ticket47714_test.py
@@ -22,8 +22,9 @@ log = logging.getLogger(__name__)
installation_prefix = None
-ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY
-ACCT_POLICY_DN = 'cn=Account Inactivation Pplicy,%s' % SUFFIX
+ACCT_POLICY_CONFIG_DN = ('cn=config,cn=%s,cn=plugins,cn=config' %
+ PLUGIN_ACCT_POLICY)
+ACCT_POLICY_DN = 'cn=Account Inactivation Policy,%s' % SUFFIX
INACTIVITY_LIMIT = '9'
SEARCHFILTER = '(objectclass=*)'
@@ -70,8 +71,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -138,19 +140,21 @@ def test_ticket47714_run_0(topology):
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(2)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
lastLoginTime0 = entry[0].lastLoginTime
- time.sleep(2)
-
log.info("\n######################### Bind as %s again ######################\n" % TEST_USER_DN)
try:
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(2)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
@@ -165,8 +169,6 @@ def test_ticket47714_run_0(topology):
log.info("accountInactivityLimit: %s" % entry[0].accountInactivityLimit)
log.info("\n######################### %s DONE ######################\n" % ACCT_POLICY_CONFIG_DN)
- time.sleep(10)
-
log.info("\n######################### Bind as %s again to fail ######################\n" % TEST_USER_DN)
try:
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
@@ -234,7 +236,6 @@ def test_ticket47714_run_1(topology):
def test_ticket47714_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47721_test.py b/dirsrvtests/tests/tickets/ticket47721_test.py
index 7841423..5e15c93 100644
--- a/dirsrvtests/tests/tickets/ticket47721_test.py
+++ b/dirsrvtests/tests/tickets/ticket47721_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -179,9 +179,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master1.clearTmpDir(__file__)
-
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
#
# Here we have two instances master and consumer
# with replication working. Either coming from a backup recovery
@@ -433,8 +434,6 @@ def test_ticket47721_4(topology):
def test_ticket47721_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47781_test.py b/dirsrvtests/tests/tickets/ticket47781_test.py
index c52612e..0f8b49a 100644
--- a/dirsrvtests/tests/tickets/ticket47781_test.py
+++ b/dirsrvtests/tests/tickets/ticket47781_test.py
@@ -61,8 +61,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -164,7 +165,6 @@ def test_ticket47781(topology):
def test_ticket47781_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47787_test.py b/dirsrvtests/tests/tickets/ticket47787_test.py
index 305ec75..56c8d43 100644
--- a/dirsrvtests/tests/tickets/ticket47787_test.py
+++ b/dirsrvtests/tests/tickets/ticket47787_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -158,8 +158,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
# with replication working.
@@ -529,8 +531,6 @@ def test_ticket47787_2(topology):
def test_ticket47787_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47808_test.py b/dirsrvtests/tests/tickets/ticket47808_test.py
index 4254c8c..6bff180 100644
--- a/dirsrvtests/tests/tickets/ticket47808_test.py
+++ b/dirsrvtests/tests/tickets/ticket47808_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -41,7 +41,7 @@ def topology(request):
if installation_prefix:
args_instance[SER_DEPLOYED_DIR] = installation_prefix
- standalone = DirSrv(verbose=True)
+ standalone = DirSrv(verbose=False)
# Args for the standalone instance
args_instance[SER_HOST] = HOST_STANDALONE
@@ -63,8 +63,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -140,7 +141,6 @@ def test_ticket47808_run(topology):
def test_ticket47808_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47815_test.py b/dirsrvtests/tests/tickets/ticket47815_test.py
index 675e97b..3a1c9fe 100644
--- a/dirsrvtests/tests/tickets/ticket47815_test.py
+++ b/dirsrvtests/tests/tickets/ticket47815_test.py
@@ -60,8 +60,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -156,7 +157,6 @@ def test_ticket47815(topology):
def test_ticket47815_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47819_test.py b/dirsrvtests/tests/tickets/ticket47819_test.py
index 435b36c..7be6210 100644
--- a/dirsrvtests/tests/tickets/ticket47819_test.py
+++ b/dirsrvtests/tests/tickets/ticket47819_test.py
@@ -61,8 +61,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -129,7 +130,7 @@ def test_ticket47819(topology):
log.info('Part 2: Exporting replication ldif...')
# Get the the full path and name for our LDIF we will be exporting
- ldif_file = topology.standalone.getDir(__file__, TMP_DIR) + "export.ldif"
+ ldif_file = "/tmp/export.ldif"
args = {EXPORT_REPL_INFO: True,
TASK_WAIT: True}
@@ -178,7 +179,7 @@ def test_ticket47819(topology):
#
# Part 3 - test fixup task
#
- log.info('Part 4: test the fixup task')
+ log.info('Part 3: test the fixup task')
# Run fixup task using the strip option. This removes nsTombstoneCSN
# so we can test if the fixup task works.
@@ -202,6 +203,7 @@ def test_ticket47819(topology):
log.fatal('Search failed: ' + e.message['desc'])
assert False
+
# Now run the fixup task
args = {TASK_WAIT: True}
fixupTombTask = Tasks(topology.standalone)
@@ -210,6 +212,8 @@ def test_ticket47819(topology):
except:
assert False
+ time.sleep(1)
+
# Search for tombstones with nsTombstoneCSN - better find some
log.info('Search for tombstone entries...')
try:
@@ -273,7 +277,6 @@ def test_ticket47819(topology):
def test_ticket47819_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
@@ -293,4 +296,4 @@ def run_isolated():
test_ticket47819_final(topo)
if __name__ == '__main__':
- run_isolated()
\ No newline at end of file
+ run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47823_test.py b/dirsrvtests/tests/tickets/ticket47823_test.py
index 635827c..1eab26b 100644
--- a/dirsrvtests/tests/tickets/ticket47823_test.py
+++ b/dirsrvtests/tests/tickets/ticket47823_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -92,8 +92,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -975,7 +976,6 @@ def test_ticket47823_invalid_config_7(topology):
def test_ticket47823_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47828_test.py b/dirsrvtests/tests/tickets/ticket47828_test.py
index 3962a0a..3218ddc 100644
--- a/dirsrvtests/tests/tickets/ticket47828_test.py
+++ b/dirsrvtests/tests/tickets/ticket47828_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -23,8 +23,8 @@ log = logging.getLogger(__name__)
installation_prefix = None
-ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY
-ACCT_POLICY_DN = 'cn=Account Inactivation Pplicy,%s' % SUFFIX
+ACCT_POLICY_CONFIG_DN = 'cn=config,cn=%s,cn=plugins,cn=config' % PLUGIN_ACCT_POLICY
+ACCT_POLICY_DN = 'cn=Account Inactivation Policy,%s' % SUFFIX
INACTIVITY_LIMIT = '9'
SEARCHFILTER = '(objectclass=*)'
@@ -39,6 +39,7 @@ DUMMY_USER1_DN = 'cn=%s,%s' % (DUMMY_USER1_CN, DUMMY_CONTAINER)
ALLOCATED_ATTR = 'employeeNumber'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -51,20 +52,6 @@ def topology(request):
This fixture is used to standalone topology for the 'module'.
At the beginning, It may exists a standalone instance.
It may also exists a backup for the standalone instance.
-
- Principle:
- If standalone instance exists:
- restart it
- If backup of standalone exists:
- create/rebind to standalone
-
- restore standalone instance from backup
- else:
- Cleanup everything
- remove instance
- remove backup
- Create instance
- Create backup
'''
global installation_prefix
@@ -80,65 +67,24 @@ def topology(request):
args_standalone = args_instance.copy()
standalone.allocate(args_standalone)
- # Get the status of the backups
- backup_standalone = standalone.checkBackupFS()
-
# Get the status of the instance and restart it if it exists
instance_standalone = standalone.exists()
if instance_standalone:
- # assuming the instance is already stopped, just wait 5 sec max
- standalone.stop(timeout=5)
- try:
- standalone.start(timeout=10)
- except ldap.SERVER_DOWN:
- pass
-
- if backup_standalone:
- # The backup exist, assuming it is correct
- # we just re-init the instance with it
- if not instance_standalone:
- standalone.create()
- # Used to retrieve configuration information (dbdir, confdir...)
- standalone.open()
-
- # restore standalone instance from backup
- standalone.stop(timeout=10)
- standalone.restoreFS(backup_standalone)
- standalone.start(timeout=10)
-
- else:
- # We should be here only in two conditions
- # - This is the first time a test involve standalone instance
- # - Something weird happened (instance/backup destroyed)
- # so we discard everything and recreate all
-
- # Remove the backup. So even if we have a specific backup file
- # (e.g backup_standalone) we clear backup that an instance may have created
- if backup_standalone:
- standalone.clearBackupFS()
-
- # Remove the instance
- if instance_standalone:
- standalone.delete()
-
- # Create the instance
- standalone.create()
-
- # Used to retrieve configuration information (dbdir, confdir...)
- standalone.open()
+ standalone.delete()
+
+ # Create the instance
+ standalone.create()
+
+ # Used to retrieve configuration information (dbdir, confdir...)
+ standalone.open()
- # Time to create the backups
- standalone.stop(timeout=10)
- standalone.backupfile = standalone.backupFS()
- standalone.start(timeout=10)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
- #
- # Here we have standalone instance up and running
- # Either coming from a backup recovery
- # or from a fresh (re)init
- # Time to return the topology
return TopologyStandalone(standalone)
+
def _header(topology, label):
topology.standalone.log.info("\n\n###############################################")
topology.standalone.log.info("#######")
@@ -146,6 +92,7 @@ def _header(topology, label):
topology.standalone.log.info("#######")
topology.standalone.log.info("###############################################")
+
def test_ticket47828_init(topology):
"""
Enable DNA
@@ -156,7 +103,7 @@ def test_ticket47828_init(topology):
'cn': 'provisioning'})))
topology.standalone.add_s(Entry((DUMMY_CONTAINER,{'objectclass': "top nscontainer".split(),
'cn': 'dummy container'})))
-
+
dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
topology.standalone.add_s(Entry((dn_config, {'objectclass': "top extensibleObject".split(),
'cn': 'excluded scope',
@@ -168,7 +115,6 @@ def test_ticket47828_init(topology):
'dnaScope': SUFFIX})))
topology.standalone.restart(timeout=10)
-
def test_ticket47828_run_0(topology):
"""
@@ -185,7 +131,8 @@ def test_ticket47828_run_0(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_1(topology):
"""
NO exclude scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -201,7 +148,8 @@ def test_ticket47828_run_1(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_2(topology):
"""
NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is set
@@ -217,7 +165,8 @@ def test_ticket47828_run_2(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_3(topology):
"""
NO exclude scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -233,17 +182,19 @@ def test_ticket47828_run_3(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_4(topology):
'''
Exclude the provisioning container
'''
_header(topology, 'Exclude the provisioning container')
-
+
dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
topology.standalone.modify_s(dn_config, mod)
-
+
+
def test_ticket47828_run_5(topology):
"""
Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
@@ -259,7 +210,8 @@ def test_ticket47828_run_5(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_6(topology):
"""
Provisioning excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -275,7 +227,8 @@ def test_ticket47828_run_6(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_7(topology):
"""
Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
@@ -291,7 +244,8 @@ def test_ticket47828_run_7(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(-1)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_8(topology):
"""
Provisioning excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -307,7 +261,8 @@ def test_ticket47828_run_8(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_9(topology):
"""
Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set
@@ -323,7 +278,8 @@ def test_ticket47828_run_9(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_10(topology):
"""
Provisioning excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -339,17 +295,19 @@ def test_ticket47828_run_10(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_11(topology):
'''
Exclude (in addition) the dummy container
'''
_header(topology, 'Exclude (in addition) the dummy container')
-
+
dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_ADD, 'dnaExcludeScope', DUMMY_CONTAINER)]
topology.standalone.modify_s(dn_config, mod)
-
+
+
def test_ticket47828_run_12(topology):
"""
Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
@@ -365,7 +323,8 @@ def test_ticket47828_run_12(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_13(topology):
"""
Provisioning/Dummy excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -381,7 +340,8 @@ def test_ticket47828_run_13(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_14(topology):
"""
Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
@@ -397,7 +357,8 @@ def test_ticket47828_run_14(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(-1)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_15(topology):
"""
Provisioning/Dummy excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -413,7 +374,8 @@ def test_ticket47828_run_15(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_16(topology):
"""
Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is not set
@@ -429,7 +391,8 @@ def test_ticket47828_run_16(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(-1)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_17(topology):
"""
Provisioning/Dummy excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -445,14 +408,14 @@ def test_ticket47828_run_17(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
-
+
+
def test_ticket47828_run_18(topology):
'''
Exclude PROVISIONING and a wrong container
'''
_header(topology, 'Exclude PROVISIONING and a wrong container')
-
+
dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', PROVISIONING)]
topology.standalone.modify_s(dn_config, mod)
@@ -462,7 +425,8 @@ def test_ticket47828_run_18(topology):
raise ValueError("invalid dnaExcludeScope value (not a DN)")
except ldap.INVALID_SYNTAX:
pass
-
+
+
def test_ticket47828_run_19(topology):
"""
Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
@@ -478,7 +442,8 @@ def test_ticket47828_run_19(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_20(topology):
"""
Provisioning+wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -494,7 +459,8 @@ def test_ticket47828_run_20(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_21(topology):
"""
Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
@@ -510,7 +476,8 @@ def test_ticket47828_run_21(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(-1)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_22(topology):
"""
Provisioning+wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -526,7 +493,8 @@ def test_ticket47828_run_22(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_23(topology):
"""
Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set
@@ -542,7 +510,8 @@ def test_ticket47828_run_23(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_24(topology):
"""
Provisioning+wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -558,22 +527,24 @@ def test_ticket47828_run_24(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_25(topology):
'''
Exclude a wrong container
'''
_header(topology, 'Exclude a wrong container')
-
+
dn_config = "cn=excluded scope, cn=%s, %s" % (PLUGIN_DNA, DN_PLUGIN)
-
+
try:
mod = [(ldap.MOD_REPLACE, 'dnaExcludeScope', "invalidDN,%s" % SUFFIX)]
topology.standalone.modify_s(dn_config, mod)
raise ValueError("invalid dnaExcludeScope value (not a DN)")
except ldap.INVALID_SYNTAX:
pass
-
+
+
def test_ticket47828_run_26(topology):
"""
Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is set
@@ -589,7 +560,8 @@ def test_ticket47828_run_26(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_27(topology):
"""
Wrong container excluded scope: Add an active entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -605,7 +577,8 @@ def test_ticket47828_run_27(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (ACTIVE_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(ACTIVE_USER1_DN)
-
+
+
def test_ticket47828_run_28(topology):
"""
Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is not set
@@ -621,7 +594,8 @@ def test_ticket47828_run_28(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(-1)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_29(topology):
"""
Wrong container excluded scope: Add a staged entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -637,7 +611,8 @@ def test_ticket47828_run_29(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (STAGED_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(STAGED_USER1_DN)
-
+
+
def test_ticket47828_run_30(topology):
"""
Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is set
@@ -653,7 +628,8 @@ def test_ticket47828_run_30(topology):
assert ent.getValue(ALLOCATED_ATTR) != str(-1)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_run_31(topology):
"""
Wrong container excluded scope: Add an dummy entry and check its ALLOCATED_ATTR is unchanged (!= magic)
@@ -669,11 +645,13 @@ def test_ticket47828_run_31(topology):
assert ent.getValue(ALLOCATED_ATTR) == str(20)
topology.standalone.log.debug('%s.%s=%s' % (DUMMY_USER1_CN, ALLOCATED_ATTR, ent.getValue(ALLOCATED_ATTR)))
topology.standalone.delete_s(DUMMY_USER1_DN)
-
+
+
def test_ticket47828_final(topology):
topology.standalone.plugins.disable(name=PLUGIN_DNA)
topology.standalone.stop(timeout=10)
+
def run_isolated():
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
@@ -687,7 +665,7 @@ def run_isolated():
topo = topology(True)
test_ticket47828_init(topo)
-
+
test_ticket47828_run_0(topo)
test_ticket47828_run_1(topo)
test_ticket47828_run_2(topo)
@@ -720,9 +698,9 @@ def run_isolated():
test_ticket47828_run_29(topo)
test_ticket47828_run_30(topo)
test_ticket47828_run_31(topo)
-
+
test_ticket47828_final(topo)
-
+
if __name__ == '__main__':
run_isolated()
diff --git a/dirsrvtests/tests/tickets/ticket47829_test.py b/dirsrvtests/tests/tickets/ticket47829_test.py
index 2acebf9..425a626 100644
--- a/dirsrvtests/tests/tickets/ticket47829_test.py
+++ b/dirsrvtests/tests/tickets/ticket47829_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -97,8 +97,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -608,7 +609,6 @@ def test_ticket47829_indirect_active_group_4(topology):
def test_ticket47829_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47833_test.py b/dirsrvtests/tests/tickets/ticket47833_test.py
index f1fb634..307e994 100644
--- a/dirsrvtests/tests/tickets/ticket47833_test.py
+++ b/dirsrvtests/tests/tickets/ticket47833_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -87,8 +87,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -99,7 +100,7 @@ def _header(topology, label):
topology.standalone.log.info("####### %s" % label)
topology.standalone.log.info("#######")
topology.standalone.log.info("###############################################")
-
+
def _add_user(topology, type='active'):
if type == 'active':
topology.standalone.add_s(Entry((ACTIVE_USER_DN, {
@@ -130,9 +131,9 @@ def _find_memberof(topology, user_dn=None, group_dn=None, find_result=True):
if val == group_dn:
found = True
break
-
+
if find_result:
- assert(found)
+ assert(found)
else:
assert(not found)
@@ -149,18 +150,18 @@ def _find_member(topology, user_dn=None, group_dn=None, find_result=True):
if val == user_dn:
found = True
break
-
+
if find_result:
- assert(found)
+ assert(found)
else:
assert(not found)
-
+
def _modrdn_entry(topology=None, entry_dn=None, new_rdn=None, del_old=0, new_superior=None):
assert topology != None
assert entry_dn != None
assert new_rdn != None
-
-
+
+
topology.standalone.log.info("\n\n######################### MODRDN %s ######################\n" % new_rdn)
if new_superior:
topology.standalone.rename_s(entry_dn, new_rdn, newsuperior=new_superior, delold=del_old)
@@ -179,12 +180,12 @@ def _check_memberof(topology=None, action=None, user_dn=None, group_dn=None, fin
txt = 'replace'
topology.standalone.log.info('\n%s entry %s' % (txt, user_dn))
topology.standalone.log.info('to group %s' % group_dn)
-
+
topology.standalone.modify_s(group_dn, [(action, 'member', user_dn)])
time.sleep(1)
_find_memberof(topology, user_dn=user_dn, group_dn=group_dn, find_result=find_result)
-
-
+
+
def test_ticket47829_init(topology):
@@ -206,7 +207,7 @@ def test_ticket47829_init(topology):
topology.standalone.add_s(Entry((DELETE_DN, {
'objectclass': "top nscontainer".split(),
'cn': DELETE_CN})))
-
+
# add groups
topology.standalone.add_s(Entry((ACTIVE_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
@@ -217,38 +218,38 @@ def test_ticket47829_init(topology):
topology.standalone.add_s(Entry((OUT_GROUP_DN, {
'objectclass': "top groupOfNames".split(),
'cn': OUT_GROUP_CN})))
-
+
# add users
_add_user(topology, 'active')
_add_user(topology, 'stage')
_add_user(topology, 'out')
-
-
+
+
# enable memberof of with scope account
topology.standalone.plugins.enable(name=PLUGIN_MEMBER_OF)
dn = "cn=%s,%s" % (PLUGIN_MEMBER_OF, DN_PLUGIN)
topology.standalone.modify_s(dn, [(ldap.MOD_REPLACE, 'memberOfEntryScope', ACTIVE_DN)])
-
-
-
+
+
+
topology.standalone.restart(timeout=10)
-
-
+
+
def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology):
_header(topology, 'add an Stage user to a Active group. Then move Stage user to Stage')
-
+
old_stage_user_dn = STAGE_USER_DN
old_stage_user_rdn = "cn=%s" % STAGE_USER_CN
new_stage_user_rdn = "cn=x%s" % STAGE_USER_CN
new_stage_user_dn = "%s,%s" % (new_stage_user_rdn, STAGE_DN)
-
+
# add Stage user to active group
_check_memberof(topology, action=ldap.MOD_ADD, user_dn=old_stage_user_dn, group_dn=ACTIVE_GROUP_DN, find_result=False)
_find_member (topology, user_dn=old_stage_user_dn, group_dn=ACTIVE_GROUP_DN, find_result=True)
-
+
# move the Stage entry to Stage, expect no 'member' and 'memberof'
_modrdn_entry (topology, entry_dn=old_stage_user_dn, new_rdn=new_stage_user_rdn, new_superior=STAGE_DN)
_find_memberof(topology, user_dn=new_stage_user_dn, group_dn=ACTIVE_GROUP_DN, find_result=False)
@@ -256,7 +257,6 @@ def test_ticket47829_mod_stage_user_modrdn_stage_user_1(topology):
def test_ticket47833_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47838_test.py b/dirsrvtests/tests/tickets/ticket47838_test.py
index 6685fb8..bc84474 100644
--- a/dirsrvtests/tests/tickets/ticket47838_test.py
+++ b/dirsrvtests/tests/tickets/ticket47838_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -27,7 +27,6 @@ CONFIG_DN = 'cn=config'
ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
RSA = 'RSA'
RSA_DN = 'cn=%s,%s' % (RSA, ENCRYPTION_DN)
-LDAPSPORT = '10636'
SERVERCERT = 'Server-Cert'
plus_all_ecount = 0
plus_all_dcount = 0
@@ -37,6 +36,7 @@ plus_all_dcount_noweak = 0
nss_version = ''
NSS320 = '3.20.0'
+
class TopologyStandalone(object):
def __init__(self, standalone):
standalone.open()
@@ -75,8 +75,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ #request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -166,7 +167,7 @@ def _47838_init(topology):
topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-security', 'on'),
(ldap.MOD_REPLACE, 'nsslapd-ssl-check-hostname', 'off'),
- (ldap.MOD_REPLACE, 'nsslapd-secureport', LDAPSPORT)])
+ (ldap.MOD_REPLACE, 'nsslapd-secureport', str(DEFAULT_SECURE_PORT))])
topology.standalone.add_s(Entry((RSA_DN, {'objectclass': "top nsEncryptionModule".split(),
'cn': RSA,
@@ -204,7 +205,7 @@ def _47838_run_0(topology):
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])
-
+ time.sleep(5)
log.info("\n######################### Restarting the server ######################\n")
topology.standalone.restart(timeout=120)
@@ -244,6 +245,7 @@ def _47838_run_1(topology):
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])
+ time.sleep(5)
# Make sure allowWeakCipher is not set.
topology.standalone.modify_s(ENCRYPTION_DN, [(ldap.MOD_DELETE, 'allowWeakCipher', None)])
@@ -365,7 +367,7 @@ def _47838_run_4(topology):
log.info("Disabled ciphers: %d" % dcount)
global plus_all_ecount
global plus_all_dcount
- assert ecount == 20
+ assert ecount == 23
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
weak = os.popen('egrep "SSL alert:" %s | egrep \": enabled\" | egrep "WEAK CIPHER" | wc -l' % topology.standalone.errlog)
wcount = int(weak.readline().rstrip())
@@ -402,7 +404,7 @@ def _47838_run_5(topology):
global plus_all_ecount
global plus_all_dcount
if nss_version >= NSS320:
- assert ecount == 20
+ assert ecount == 23
else:
assert ecount == 12
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
@@ -507,7 +509,7 @@ def _47838_run_8(topology):
global plus_all_ecount
global plus_all_dcount
if nss_version >= NSS320:
- assert ecount == 20
+ assert ecount == 23
else:
assert ecount == 12
assert dcount == (plus_all_ecount + plus_all_dcount - ecount)
@@ -547,7 +549,7 @@ def _47838_run_9(topology):
log.info("Enabled ciphers: %d" % ecount)
log.info("Disabled ciphers: %d" % dcount)
if nss_version >= NSS320:
- assert ecount == 27
+ assert ecount == 30
else:
assert ecount == 23
assert dcount == 0
@@ -655,6 +657,7 @@ def _47928_run_0(topology):
(ldap.MOD_DELETE, 'sslVersionMin', None),
(ldap.MOD_DELETE, 'sslVersionMax', None)])
topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '64')])
+ time.sleep(5)
log.info("\n######################### Restarting the server ######################\n")
topology.standalone.stop(timeout=10)
@@ -823,7 +826,6 @@ def _47838_run_last(topology):
def _47838_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47869MMR_test.py b/dirsrvtests/tests/tickets/ticket47869MMR_test.py
index 630cb93..02408d0 100644
--- a/dirsrvtests/tests/tickets/ticket47869MMR_test.py
+++ b/dirsrvtests/tests/tickets/ticket47869MMR_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -132,8 +132,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
# Here we have two instances master and consumer
return TopologyMaster1Master2(master1, master2)
@@ -315,8 +317,6 @@ def test_ticket47869_check(topology):
def test_ticket47869_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47871_test.py b/dirsrvtests/tests/tickets/ticket47871_test.py
index d6ea214..7e7b56d 100644
--- a/dirsrvtests/tests/tickets/ticket47871_test.py
+++ b/dirsrvtests/tests/tickets/ticket47871_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -123,9 +123,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # clear the tmp directory
- master.clearTmpDir(__file__)
-
+ def fin():
+ master.delete()
+ consumer.delete()
+ request.addfinalizer(fin)
#
# Here we have two instances master and consumer
# with replication working. Either coming from a backup recovery
@@ -198,8 +199,6 @@ def test_ticket47871_2(topology):
def test_ticket47871_final(topology):
- topology.master.delete()
- topology.consumer.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47900_test.py b/dirsrvtests/tests/tickets/ticket47900_test.py
index c01b733..a3500d4 100644
--- a/dirsrvtests/tests/tickets/ticket47900_test.py
+++ b/dirsrvtests/tests/tickets/ticket47900_test.py
@@ -68,8 +68,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -321,7 +322,6 @@ def test_ticket47900(topology):
def test_ticket47900_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47910_test.py b/dirsrvtests/tests/tickets/ticket47910_test.py
index afcfd88..bb8ffc6 100644
--- a/dirsrvtests/tests/tickets/ticket47910_test.py
+++ b/dirsrvtests/tests/tickets/ticket47910_test.py
@@ -55,11 +55,11 @@ def topology(request):
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
-
+
def fin():
standalone.delete()
request.addfinalizer(fin)
-
+
return TopologyStandalone(standalone)
@@ -73,13 +73,13 @@ def log_dir(topology):
log.info("Diable access log buffering")
topology.standalone.setAccessLogBuffering(False)
-
+
log.info("Do a ldapsearch operation")
topology.standalone.search_s(SUFFIX, ldap.SCOPE_SUBTREE, "(objectclass=*)")
-
+
log.info("sleep for sometime so that access log file get generated")
time.sleep( 1 )
-
+
return topology.standalone.accesslog
@@ -95,7 +95,7 @@ def execute_logconv(start_time_stamp, end_time_stamp, access_log):
assign these values to -S and -E options of logconv
and, it will execute logconv and return result value
'''
-
+
log.info("Executing logconv.pl with -S current time and -E end time")
cmd = ['logconv.pl', '-S', start_time_stamp, '-E', end_time_stamp, access_log]
log.info(" ".join(cmd))
@@ -115,20 +115,20 @@ def test_ticket47910_logconv_start_end_positive(topology, log_dir):
# Execute logconv.pl -S -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with random values')
-
+
log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)
-
+
log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)
-
+
log.info("Executing logconv.pl with -S and -E")
result = execute_logconv(formatted_start_time_stamp, formatted_end_time_stamp, log_dir)
assert result == 0
-
+
def test_ticket47910_logconv_start_end_negative(topology, log_dir):
'''
Execute logconv.pl with -S and -E(endtime) with random time stamp
@@ -136,20 +136,20 @@ def test_ticket47910_logconv_start_end_negative(topology, log_dir):
starttime
This should give error message
'''
-
+
#
# Execute logconv.pl -S and -E with random timestamp
#
log.info('Running test_ticket47910 - Execute logconv.pl -S -E with starttime>endtime')
-
+
log.info("taking current time with offset of 2 mins and formatting it to feed -S")
start_time_stamp = (datetime.now() + timedelta(minutes=2))
formatted_start_time_stamp = format_time(start_time_stamp)
-
+
log.info("taking current time with offset of 2 mins and formatting it to feed -E")
end_time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_end_time_stamp = format_time(end_time_stamp)
-
+
log.info("Executing logconv.pl with -S and -E")
result = execute_logconv(formatted_start_time_stamp, formatted_end_time_stamp, log_dir)
assert result == 1
@@ -167,24 +167,24 @@ def test_ticket47910_logconv_start_end_invalid(topology, log_dir):
log.info("Set start time and end time to invalid values")
start_time_stamp = "invalid"
end_time_stamp = "invalid"
-
+
log.info("Executing logconv.pl with -S and -E")
result = execute_logconv(start_time_stamp, end_time_stamp, log_dir)
assert result == 1
-
+
def test_ticket47910_logconv_noaccesslogs(topology, log_dir):
-
+
'''
Execute logconv.pl -S(starttime) without specify
- access logs location
+ access logs location
'''
-
+
#
# Execute logconv.pl -S with random timestamp and no access log location
#
log.info('Running test_ticket47910 - Execute logconv.pl without access logs')
-
+
log.info("taking current time with offset of 2 mins and formatting it to feed -S")
time_stamp = (datetime.now() - timedelta(minutes=2))
formatted_time_stamp = format_time(time_stamp)
@@ -195,10 +195,10 @@ def test_ticket47910_logconv_noaccesslogs(topology, log_dir):
stdout, stderr = proc.communicate()
log.info("standard output" + stdout)
log.info("standard errors" + stderr)
-
+
assert proc.returncode == 1
-
+
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket47920_test.py b/dirsrvtests/tests/tickets/ticket47920_test.py
index d4f6a53..99cc478 100644
--- a/dirsrvtests/tests/tickets/ticket47920_test.py
+++ b/dirsrvtests/tests/tickets/ticket47920_test.py
@@ -101,8 +101,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -169,7 +170,6 @@ def test_ticket47920_mod_readentry_ctrl(topology):
def test_ticket47920_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47921_test.py b/dirsrvtests/tests/tickets/ticket47921_test.py
index 4f3d54e..3465fc7 100644
--- a/dirsrvtests/tests/tickets/ticket47921_test.py
+++ b/dirsrvtests/tests/tickets/ticket47921_test.py
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -145,7 +146,6 @@ def test_ticket47921(topology):
def test_ticket47921_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47927_test.py b/dirsrvtests/tests/tickets/ticket47927_test.py
index 78e0b29..c449b69 100644
--- a/dirsrvtests/tests/tickets/ticket47927_test.py
+++ b/dirsrvtests/tests/tickets/ticket47927_test.py
@@ -69,8 +69,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -289,7 +290,6 @@ def test_ticket47927_six(topology):
def test_ticket47927_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47937_test.py b/dirsrvtests/tests/tickets/ticket47937_test.py
index 6c09cf8..009fbd3 100644
--- a/dirsrvtests/tests/tickets/ticket47937_test.py
+++ b/dirsrvtests/tests/tickets/ticket47937_test.py
@@ -60,8 +60,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -164,7 +165,6 @@ def test_ticket47937(topology):
def test_ticket47937_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47950_test.py b/dirsrvtests/tests/tickets/ticket47950_test.py
index 7226637..c55c4ea 100644
--- a/dirsrvtests/tests/tickets/ticket47950_test.py
+++ b/dirsrvtests/tests/tickets/ticket47950_test.py
@@ -64,8 +64,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -199,7 +200,6 @@ def test_ticket47950(topology):
def test_ticket47953_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47953_test.py b/dirsrvtests/tests/tickets/ticket47953_test.py
index f64d899..5dff58b 100644
--- a/dirsrvtests/tests/tickets/ticket47953_test.py
+++ b/dirsrvtests/tests/tickets/ticket47953_test.py
@@ -12,6 +12,7 @@ import time
import ldap
import logging
import pytest
+import shutil
from lib389 import DirSrv, Entry, tools, tasks
from lib389.tools import DirSrvTools
from lib389._constants import *
@@ -61,8 +62,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ #request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -80,7 +82,15 @@ def test_ticket47953(topology):
#
# Import an invalid ldif
#
- ldif_file = topology.standalone.getDir(__file__, DATA_DIR) + "ticket47953/ticket47953.ldif"
+ ldif_file = (topology.standalone.getDir(__file__, DATA_DIR) +
+ "ticket47953/ticket47953.ldif")
+ try:
+ ldif_dir = topology.standalone.get_ldif_dir()
+ shutil.copy(ldif_file, ldif_dir)
+ ldif_file = ldif_dir + '/ticket47953.ldif'
+ except:
+ log.fatal('Failed to copy ldif to instance ldif dir')
+ assert False
importTask = Tasks(topology.standalone)
args = {TASK_WAIT: True}
try:
@@ -88,6 +98,8 @@ def test_ticket47953(topology):
except ValueError:
assert False
+ time.sleep(2)
+
#
# Delete the invalid aci
#
@@ -104,7 +116,6 @@ def test_ticket47953(topology):
def test_ticket47953_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47963_test.py b/dirsrvtests/tests/tickets/ticket47963_test.py
index deed905..a991173 100644
--- a/dirsrvtests/tests/tickets/ticket47963_test.py
+++ b/dirsrvtests/tests/tickets/ticket47963_test.py
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -181,7 +182,6 @@ def test_ticket47963(topology):
def test_ticket47963_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47966_test.py b/dirsrvtests/tests/tickets/ticket47966_test.py
index b311f47..3130f69 100644
--- a/dirsrvtests/tests/tickets/ticket47966_test.py
+++ b/dirsrvtests/tests/tickets/ticket47966_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -114,8 +114,10 @@ def topology(request):
log.fatal('Replication is not working.')
assert False
- # Clear out the tmp dir
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
return TopologyReplication(master1, master2)
@@ -208,8 +210,6 @@ def test_ticket47966(topology):
def test_ticket47966_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47970_test.py b/dirsrvtests/tests/tickets/ticket47970_test.py
index a748939..bea74bc 100644
--- a/dirsrvtests/tests/tickets/ticket47970_test.py
+++ b/dirsrvtests/tests/tickets/ticket47970_test.py
@@ -65,8 +65,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -134,7 +135,6 @@ def test_ticket47970(topology):
def test_ticket47970_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47973_test.py b/dirsrvtests/tests/tickets/ticket47973_test.py
index 12bb789..d2fdcd5 100644
--- a/dirsrvtests/tests/tickets/ticket47973_test.py
+++ b/dirsrvtests/tests/tickets/ticket47973_test.py
@@ -65,8 +65,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -161,7 +162,6 @@ def test_ticket47973(topology):
def test_ticket47973_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47980_test.py b/dirsrvtests/tests/tickets/ticket47980_test.py
index 34f0d3f..6b6b5bf 100644
--- a/dirsrvtests/tests/tickets/ticket47980_test.py
+++ b/dirsrvtests/tests/tickets/ticket47980_test.py
@@ -117,8 +117,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -638,7 +639,6 @@ def test_ticket47980(topology):
def test_ticket47980_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47981_test.py b/dirsrvtests/tests/tickets/ticket47981_test.py
index b25d7dd..0fcf51e 100644
--- a/dirsrvtests/tests/tickets/ticket47981_test.py
+++ b/dirsrvtests/tests/tickets/ticket47981_test.py
@@ -73,8 +73,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -271,7 +272,6 @@ def test_ticket47981(topology):
def test_ticket47981_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket47988_test.py b/dirsrvtests/tests/tickets/ticket47988_test.py
index db58e9d..45abba6 100644
--- a/dirsrvtests/tests/tickets/ticket47988_test.py
+++ b/dirsrvtests/tests/tickets/ticket47988_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
'''
@@ -123,6 +123,11 @@ def topology(request):
master2.create()
master2.open()
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
+
#
# Now prepare the Master-Consumer topology
#
@@ -470,8 +475,6 @@ def test_ticket47988_6(topology):
def test_ticket47988_final(topology):
- topology.master1.delete()
- topology.master2.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48005_test.py b/dirsrvtests/tests/tickets/ticket48005_test.py
index b2a93e1..116b1e9 100644
--- a/dirsrvtests/tests/tickets/ticket48005_test.py
+++ b/dirsrvtests/tests/tickets/ticket48005_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -50,8 +50,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ #request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -75,7 +76,7 @@ def test_ticket48005_setup(topology):
log.info('No ulimit -c in %s' % sysconfig_dirsrv)
log.info('Adding it')
cmdline = 'echo "ulimit -c unlimited" >> %s' % sysconfig_dirsrv
-
+
sysconfig_dirsrv_systemd = sysconfig_dirsrv + ".systemd"
cmdline = 'egrep LimitCORE=infinity %s' % sysconfig_dirsrv_systemd
p = os.popen(cmdline, "r")
@@ -87,7 +88,7 @@ def test_ticket48005_setup(topology):
topology.standalone.restart(timeout=10)
- ldif_file = topology.standalone.getDir(__file__, DATA_DIR) + "ticket48005.ldif"
+ ldif_file = topology.standalone.get_ldif_dir() + "/ticket48005.ldif"
os.system('ls %s' % ldif_file)
os.system('rm -f %s' % ldif_file)
if hasattr(topology.standalone, 'prefix'):
@@ -113,7 +114,7 @@ def test_ticket48005_memberof(topology):
'''
Enable memberof and referint plugin
Run fixmemberof task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
@@ -132,7 +133,7 @@ def test_ticket48005_memberof(topology):
topology.standalone.stop(timeout=10)
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
logdir = re.sub('errors', '', topology.standalone.errlog)
cmdline = 'ls ' + logdir + 'core*'
p = os.popen(cmdline, "r")
@@ -157,15 +158,15 @@ def test_ticket48005_automember(topology):
'''
Enable automember and referint plugin
1. Run automember rebuild membership task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
2. Run automember export updates task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
3. Run automember map updates task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
@@ -198,7 +199,7 @@ def test_ticket48005_automember(topology):
topology.standalone.stop(timeout=10)
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
logdir = re.sub('errors', '', topology.standalone.errlog)
cmdline = 'ls ' + logdir + 'core*'
p = os.popen(cmdline, "r")
@@ -233,7 +234,7 @@ def test_ticket48005_automember(topology):
topology.standalone.start(timeout=10)
- ldif_in_file = topology.standalone.getDir(__file__, DATA_DIR) + "ticket48005.ldif"
+ ldif_in_file = topology.standalone.get_ldif_dir() + "/ticket48005.ldif"
ldif_out_file = mytmp + "/ticket48005_automember_map.ldif"
try:
# run the automember map task
@@ -267,7 +268,7 @@ def test_ticket48005_automember(topology):
def test_ticket48005_syntaxvalidate(topology):
'''
Run syntax validate task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
@@ -282,7 +283,7 @@ def test_ticket48005_syntaxvalidate(topology):
topology.standalone.stop(timeout=10)
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
logdir = re.sub('errors', '', topology.standalone.errlog)
cmdline = 'ls ' + logdir + 'core*'
p = os.popen(cmdline, "r")
@@ -303,7 +304,7 @@ def test_ticket48005_usn(topology):
Enable entryusn
Delete all user entries.
Run USN tombstone cleanup task
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
@@ -337,7 +338,7 @@ def test_ticket48005_usn(topology):
topology.standalone.stop(timeout=10)
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
logdir = re.sub('errors', '', topology.standalone.errlog)
cmdline = 'ls ' + logdir + 'core*'
p = os.popen(cmdline, "r")
@@ -360,7 +361,7 @@ def test_ticket48005_usn(topology):
def test_ticket48005_schemareload(topology):
'''
Run schema reload task without waiting
- Shutdown the server
+ Shutdown the server
Check if a core file was generated or not
If no core was found, this test case was successful.
'''
@@ -380,7 +381,7 @@ def test_ticket48005_schemareload(topology):
p = os.popen(cmdline, "r")
lcore = p.readline()
if lcore != "":
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
s.system('mv %score* %s/core.ticket48005_schema_reload' % (logdir, mytmp))
log.error('Schema reload: Moved core file(s) to %s; Test failed' % mytmp)
assert False
@@ -392,7 +393,6 @@ def test_ticket48005_schemareload(topology):
def test_ticket48005_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48013_test.py b/dirsrvtests/tests/tickets/ticket48013_test.py
index 730f929..b6fe22e 100644
--- a/dirsrvtests/tests/tickets/ticket48013_test.py
+++ b/dirsrvtests/tests/tickets/ticket48013_test.py
@@ -70,8 +70,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -125,7 +126,6 @@ def test_ticket48013(topology):
def test_ticket48013_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48026_test.py b/dirsrvtests/tests/tickets/ticket48026_test.py
index f8d440f..2f411aa 100644
--- a/dirsrvtests/tests/tickets/ticket48026_test.py
+++ b/dirsrvtests/tests/tickets/ticket48026_test.py
@@ -54,8 +54,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -150,7 +151,6 @@ def test_ticket48026(topology):
def test_ticket48026_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48170_test.py b/dirsrvtests/tests/tickets/ticket48170_test.py
index cc71e37..2261c11 100644
--- a/dirsrvtests/tests/tickets/ticket48170_test.py
+++ b/dirsrvtests/tests/tickets/ticket48170_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -51,8 +51,9 @@ def topology(request):
standalone.create()
standalone.open()
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
return TopologyStandalone(standalone)
@@ -78,7 +79,6 @@ def test_ticket48170(topology):
def test_ticket48170_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48194_test.py b/dirsrvtests/tests/tickets/ticket48194_test.py
index fa4fe72..453a794 100644
--- a/dirsrvtests/tests/tickets/ticket48194_test.py
+++ b/dirsrvtests/tests/tickets/ticket48194_test.py
@@ -26,7 +26,7 @@ CONFIG_DN = 'cn=config'
ENCRYPTION_DN = 'cn=encryption,%s' % CONFIG_DN
RSA = 'RSA'
RSA_DN = 'cn=%s,%s' % (RSA, ENCRYPTION_DN)
-LDAPSPORT = '636'
+LDAPSPORT = str(DEFAULT_SECURE_PORT)
SERVERCERT = 'Server-Cert'
plus_all_ecount = 0
plus_all_dcount = 0
@@ -68,8 +68,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -457,10 +458,11 @@ def my_test_run_11(topology):
connectWithOpenssl(topology, 'RC4-SHA', False)
connectWithOpenssl(topology, 'AES256-SHA256', False)
+
def my_test_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
+
def test_ticket48194(topology):
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
diff --git a/dirsrvtests/tests/tickets/ticket48212_test.py b/dirsrvtests/tests/tickets/ticket48212_test.py
index 82ec102..58a860f 100644
--- a/dirsrvtests/tests/tickets/ticket48212_test.py
+++ b/dirsrvtests/tests/tickets/ticket48212_test.py
@@ -91,7 +91,7 @@ def reindexUidNumber(topology):
indexOUT = os.popen(indexCMD, "r")
topology.standalone.log.info("Running %s" % indexCMD)
- time.sleep(15)
+ time.sleep(30)
tailCMD = "tail -n 3 " + topology.standalone.errlog
tailOUT = os.popen(tailCMD, "r")
@@ -117,6 +117,14 @@ def test_ticket48212(topology):
data_dir_path = topology.standalone.getDir(__file__, DATA_DIR)
ldif_file = data_dir_path + "ticket48212/" + _MYLDIF
+ try:
+ ldif_dir = topology.standalone.get_ldif_dir()
+ shutil.copy(ldif_file, ldif_dir)
+ ldif_file = ldif_dir + '/' + _MYLDIF
+ except:
+ log.fatal('Failed to copy ldif to instance ldif dir')
+ assert False
+
topology.standalone.log.info("\n\n######################### Import Test data (%s) ######################\n" % ldif_file)
args = {TASK_WAIT: True}
importTask = Tasks(topology.standalone)
diff --git a/dirsrvtests/tests/tickets/ticket48214_test.py b/dirsrvtests/tests/tickets/ticket48214_test.py
index 14bf392..8c8bf40 100644
--- a/dirsrvtests/tests/tickets/ticket48214_test.py
+++ b/dirsrvtests/tests/tickets/ticket48214_test.py
@@ -56,12 +56,14 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
+
def getMaxBerSizeFromDseLdif(topology):
topology.standalone.log.info(" +++++ Get maxbersize from dse.ldif +++++\n")
dse_ldif = topology.standalone.confdir + '/dse.ldif'
@@ -145,7 +147,6 @@ def test_ticket48214_run(topology):
def test_ticket48214_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48226_test.py b/dirsrvtests/tests/tickets/ticket48226_test.py
index 6e244af..9f96d8a 100644
--- a/dirsrvtests/tests/tickets/ticket48226_test.py
+++ b/dirsrvtests/tests/tickets/ticket48226_test.py
@@ -110,16 +110,6 @@ def topology(request):
master1.agreement.init(SUFFIX, HOST_MASTER_2, PORT_MASTER_2)
master1.waitForReplInit(m1_m2_agmt)
- # Check replication is working...
- if master1.testReplication(DEFAULT_SUFFIX, master2):
- log.info('Replication is working.')
- else:
- log.fatal('Replication is not working.')
- assert False
-
- # Clear out the tmp dir
- master1.clearTmpDir(__file__)
-
def fin():
master1.delete()
master2.delete()
@@ -127,6 +117,13 @@ def topology(request):
valgrind_disable(sbin_dir)
request.addfinalizer(fin)
+ # Check replication is working...
+ if master1.testReplication(DEFAULT_SUFFIX, master2):
+ log.info('Replication is working.')
+ else:
+ log.fatal('Replication is not working.')
+ assert False
+
return TopologyReplication(master1, master2)
@@ -145,8 +142,8 @@ def test_ticket48226_set_purgedelay(topology):
assert False
topology.master1.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-auditlog-logging-enabled', 'on')])
topology.master2.modify_s(DN_CONFIG, [(ldap.MOD_REPLACE, 'nsslapd-auditlog-logging-enabled', 'on')])
- topology.master1.restart(10)
- topology.master2.restart(10)
+ topology.master1.restart(30)
+ topology.master2.restart(30)
def test_ticket48226_1(topology):
@@ -200,7 +197,7 @@ def test_ticket48226_1(topology):
mods = [(ldap.MOD_ADD, 'description', '5')]
topology.master2.modify_s(dn, mods)
- # sleep of purgedelay so that the next update will purge the CSN_7
+ # sleep of purge delay so that the next update will purge the CSN_7
time.sleep(6)
# ADD 'description' by '6' that purge the state info
@@ -208,13 +205,12 @@ def test_ticket48226_1(topology):
topology.master2.modify_s(dn, mods)
# Restart master1
- topology.master1.start(10)
+ #topology.master1.start(30)
- # Get the results file
results_file = valgrind_get_results_file(topology.master2)
# Stop master2
- topology.master2.stop(10)
+ topology.master2.stop(30)
# Check for leak
if valgrind_check_file(results_file, VALGRIND_LEAK_STR, 'csnset_dup'):
@@ -237,7 +233,6 @@ def test_ticket48226_1(topology):
else:
log.info('Valgrind is happy!')
- topology.master1.start(10)
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48228_test.py b/dirsrvtests/tests/tickets/ticket48228_test.py
index f3657c4..f820cbe 100644
--- a/dirsrvtests/tests/tickets/ticket48228_test.py
+++ b/dirsrvtests/tests/tickets/ticket48228_test.py
@@ -72,8 +72,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -306,7 +307,6 @@ def test_ticket48228_test_subtree_policy(topology):
def test_ticket48228_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48252_test.py b/dirsrvtests/tests/tickets/ticket48252_test.py
index 5970d70..2c4eeab 100644
--- a/dirsrvtests/tests/tickets/ticket48252_test.py
+++ b/dirsrvtests/tests/tickets/ticket48252_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -64,12 +64,14 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
+
def test_ticket48252_setup(topology):
"""
Enable USN plug-in for enabling tombstones
@@ -90,6 +92,8 @@ def test_ticket48252_setup(topology):
'objectclass': "top person".split(),
'sn': name,
'cn': name})))
+
+
def in_index_file(topology, id, index):
key = "%s%s" % (TEST_USER, id)
log.info(" dbscan - checking %s is in index file %s..." % (key, index))
@@ -104,6 +108,7 @@ def in_index_file(topology, id, index):
return found
+
def test_ticket48252_run_0(topology):
"""
Delete an entry cn=test_entry0
@@ -124,6 +129,7 @@ def test_ticket48252_run_0(topology):
log.info(" entry %s is not in the cn index file after reindexed." % del_entry)
log.info('Case 1 - PASSED')
+
def test_ticket48252_run_1(topology):
"""
Delete an entry cn=test_entry1
@@ -147,10 +153,11 @@ def test_ticket48252_run_1(topology):
log.info(" entry %s is in the objectclass index file after reindexed." % del_entry)
log.info('Case 2 - PASSED')
+
def test_ticket48252_final(topology):
- topology.standalone.delete()
log.info('Testing Ticket 48252 - PASSED.')
+
def run_isolated():
'''
run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
diff --git a/dirsrvtests/tests/tickets/ticket48265_test.py b/dirsrvtests/tests/tickets/ticket48265_test.py
index fb695c5..9bfa34d 100644
--- a/dirsrvtests/tests/tickets/ticket48265_test.py
+++ b/dirsrvtests/tests/tickets/ticket48265_test.py
@@ -54,6 +54,10 @@ def topology(request):
standalone.create()
standalone.open()
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
+
return TopologyStandalone(standalone)
@@ -103,7 +107,6 @@ def test_ticket48265_test(topology):
def test_ticket48265_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48270_test.py b/dirsrvtests/tests/tickets/ticket48270_test.py
index fb795d5..78b357d 100644
--- a/dirsrvtests/tests/tickets/ticket48270_test.py
+++ b/dirsrvtests/tests/tickets/ticket48270_test.py
@@ -4,8 +4,7 @@ import time
import ldap
import logging
import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -36,14 +35,8 @@ class TopologyStandalone(object):
@pytest.fixture(scope="module")
def topology(request):
- global installation1_prefix
- if installation1_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation1_prefix
-
# Creating standalone instance ...
standalone = DirSrv(verbose=False)
- if installation1_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_STANDALONE
args_instance[SER_PORT] = PORT_STANDALONE
args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
@@ -59,7 +52,7 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
@@ -103,11 +96,11 @@ def test_ticket48270_homeDirectory_indexed_cis(topology):
#topology.standalone.start(timeout=10)
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
-
+
log.info("Check indexing succeeded with a specified matching rule")
file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)
file_obj = open(file_path, "r")
-
+
# Check if the MR configuration failure occurs
regex = re.compile("unknown or invalid matching rule")
while True:
@@ -115,27 +108,29 @@ def test_ticket48270_homeDirectory_indexed_cis(topology):
found = regex.search(line)
if ((line == '') or (found)):
break
-
+
if (found):
log.info("The configuration of a specific MR fails")
log.info(line)
#assert not found
+
def test_ticket48270_homeDirectory_mixed_value(topology):
# Set a homedirectory value with mixed case
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
topology.standalone.modify_s(name, mod)
+
def test_ticket48270_extensible_search(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-
+
# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)
log.info("Default: can retrieve an entry filter caseExactIA5Match with exact stored value")
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory:caseExactIA5Match:=%s)" % MIXED_VALUE)
-
+
# check with a lower case value that is different from the stored value
log.info("Default: can not retrieve an entry filter syntax match with lowered stored value")
try:
@@ -152,6 +147,7 @@ def test_ticket48270_extensible_search(topology):
log.info("Default: can retrieve an entry filter caseIgnoreIA5Match with lowered stored value")
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory:caseIgnoreIA5Match:=%s)" % LOWER_VALUE)
+
def test_ticket48270(topology):
"""Write your testcase here...
@@ -165,13 +161,11 @@ def test_ticket48270(topology):
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
- global installation1_prefix
- installation1_prefix = '/home/tbordaz/install_master'
topo = topology(True)
test_ticket48270_init(topo)
test_ticket48270_homeDirectory_indexed_cis(topo)
test_ticket48270_homeDirectory_mixed_value(topo)
test_ticket48270_extensible_search(topo)
-
+
# CURRENT_FILE = os.path.realpath(__file__)
# pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48294_test.py b/dirsrvtests/tests/tickets/ticket48294_test.py
index 109a67e..ddb71bc 100644
--- a/dirsrvtests/tests/tickets/ticket48294_test.py
+++ b/dirsrvtests/tests/tickets/ticket48294_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -67,8 +67,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -79,6 +80,7 @@ def _header(topology, label):
topology.standalone.log.info("####### %s" % label)
topology.standalone.log.info("###############################################")
+
def check_attr_val(topology, dn, attr, expected):
try:
centry = topology.standalone.search_s(dn, ldap.SCOPE_BASE, 'uid=*')
@@ -259,7 +261,6 @@ def _48294_run_2(topology):
def _48294_final(topology):
- topology.standalone.delete()
log.info('All PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48295_test.py b/dirsrvtests/tests/tickets/ticket48295_test.py
index 13a7f88..bcc8879 100644
--- a/dirsrvtests/tests/tickets/ticket48295_test.py
+++ b/dirsrvtests/tests/tickets/ticket48295_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -67,8 +67,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -183,7 +184,6 @@ def _48295_run(topology):
def _48295_final(topology):
- topology.standalone.delete()
log.info('All PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48342_test.py b/dirsrvtests/tests/tickets/ticket48342_test.py
index 104a938..6dd5506 100644
--- a/dirsrvtests/tests/tickets/ticket48342_test.py
+++ b/dirsrvtests/tests/tickets/ticket48342_test.py
@@ -180,10 +180,6 @@ def topology(request):
# Delete each instance in the end
def fin():
for master in (master1, master2, master3):
- # master.db2ldif(bename=DEFAULT_BENAME, suffixes=[DEFAULT_SUFFIX], excludeSuffixes=[], encrypt=False, \
- # repl_data=True, outputfile='%s/ldif/%s.ldif' % (master.dbdir,SERVERID_STANDALONE ))
- # master.clearBackupFS()
- # master.backupFS()
master.delete()
request.addfinalizer(fin)
@@ -240,7 +236,7 @@ def test_ticket4026(topology):
'ou': 'people'})))
except ldap.ALREADY_EXISTS:
pass
-
+
topology.master1.add_s(Entry(('ou=ranges,' + SUFFIX, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'ranges'
@@ -255,7 +251,7 @@ def test_ticket4026(topology):
'gidNumber': '1',
'homeDirectory': '/home/%s' % name
})))
-
+
# make master3 having more free slots that master2
# so master1 will contact master3
_dna_config(topology.master1, nextValue=100, maxValue=10)
@@ -263,7 +259,7 @@ def test_ticket4026(topology):
_dna_config(topology.master3, nextValue=300, maxValue=3000)
# Turn on lots of error logging now.
-
+
mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '16384')]
#mod = [(ldap.MOD_REPLACE, 'nsslapd-errorlog-level', '1')]
topology.master1.modify_s('cn=config', mod)
@@ -273,7 +269,7 @@ def test_ticket4026(topology):
# We need to wait for the event in dna.c to fire to start the servers
# see dna.c line 899
time.sleep(60)
-
+
# add on master1 users with description DNA
for cpt in range(10):
name = "user_with_desc1_%d" % (cpt)
diff --git a/dirsrvtests/tests/tickets/ticket48362_test.py b/dirsrvtests/tests/tickets/ticket48362_test.py
index 0f56c01..dc03d3a 100644
--- a/dirsrvtests/tests/tickets/ticket48362_test.py
+++ b/dirsrvtests/tests/tickets/ticket48362_test.py
@@ -111,17 +111,14 @@ def topology(request):
def fin():
master1.delete()
master2.delete()
- #request.addfinalizer(fin)
-
- # Clear out the tmp dir
- master1.clearTmpDir(__file__)
+ request.addfinalizer(fin)
return TopologyReplication(master1, master2)
def _dna_config(server, nextValue=500, maxValue=510):
log.info("Add dna plugin config entry...%s" % server)
-
+
cfg_base_dn = 'cn=dna config,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config'
try:
@@ -152,8 +149,8 @@ def _dna_config(server, nextValue=500, maxValue=510):
time.sleep(1)
server.start(timeout=120)
time.sleep(3)
-
-
+
+
SHARE_CFG_BASE = 'ou=ranges,' + SUFFIX
def _wait_shared_cfg_servers(server, expected):
@@ -174,22 +171,22 @@ def _wait_shared_cfg_servers(server, expected):
pass
except lib389.NoSuchEntryError:
pass
-
+
def _shared_cfg_server_update(server, method=BINDMETHOD_VALUE, transport=PROTOCOLE_VALUE):
log.info('\n======================== Update dnaPortNum=%d ============================\n'% server.port)
try:
ent = server.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" % server.port)
- mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, method),
+ mod = [(ldap.MOD_REPLACE, BINDMETHOD_ATTR, method),
(ldap.MOD_REPLACE, PROTOCOLE_ATTR, transport)]
server.modify_s(ent.dn, mod)
-
+
log.info('\n======================== Update done\n')
ent = server.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" % server.port)
except ldap.NO_SUCH_OBJECT:
log.fatal("Unknown host")
assert False
-
-
+
+
def test_ticket48362(topology):
"""Write your replication testcase here.
@@ -206,7 +203,7 @@ def test_ticket48362(topology):
'ou': 'people'})))
except ldap.ALREADY_EXISTS:
pass
-
+
topology.master1.add_s(Entry((SHARE_CFG_BASE, {
'objectclass': 'top organizationalunit'.split(),
'ou': 'ranges'
@@ -216,15 +213,15 @@ def test_ticket48362(topology):
# will not contain master 2. So at restart, master 2 is recreated without the method/protocol attribute
_dna_config(topology.master1, nextValue=1000, maxValue=100)
_dna_config(topology.master2, nextValue=2000, maxValue=-1)
-
+
# check we have all the servers available
_wait_shared_cfg_servers(topology.master1, 2)
_wait_shared_cfg_servers(topology.master2, 2)
-
+
# now force the method/transport on the servers entry
_shared_cfg_server_update(topology.master1)
_shared_cfg_server_update(topology.master2)
-
+
log.info('\n======================== BEFORE RESTART ============================\n')
@@ -240,10 +237,10 @@ def test_ticket48362(topology):
assert(ent.hasAttr(PROTOCOLE_ATTR) and ent.getValue(PROTOCOLE_ATTR) == PROTOCOLE_VALUE)
topology.master1.restart(10)
topology.master2.restart(10)
-
+
# to allow DNA plugin to recreate the local host entry
time.sleep(40)
-
+
log.info('\n=================== AFTER RESTART =================================\n')
ent = topology.master1.getEntry(SHARE_CFG_BASE, ldap.SCOPE_ONELEVEL, "(dnaPortNum=%d)" % topology.master1.port)
log.info('\n=================== AFTER RESTART =================================\n')
diff --git a/dirsrvtests/tests/tickets/ticket48366_test.py b/dirsrvtests/tests/tickets/ticket48366_test.py
index fb2dd97..2ce4ccf 100644
--- a/dirsrvtests/tests/tickets/ticket48366_test.py
+++ b/dirsrvtests/tests/tickets/ticket48366_test.py
@@ -3,7 +3,7 @@
# All rights reserved.
#
# License: GPL (version 3 or any later version).
-# See LICENSE for details.
+# See LICENSE for details.
# --- END COPYRIGHT BLOCK ---
#
import os
@@ -27,7 +27,7 @@ TEST_USER_DN = 'cn=test,ou=people,%s' % SUFFIX
USER_PW = 'password'
-# subtrees used in test
+# subtrees used in test
SUBTREE_GREEN = "ou=green,%s" % SUFFIX
SUBTREE_RED = "ou=red,%s" % SUFFIX
SUBTREES = (SUBTREE_GREEN, SUBTREE_RED)
@@ -67,8 +67,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -185,8 +186,8 @@ def test_ticket48366_search_dm(topology):
ents = topology.standalone.search_ext_s(SUFFIX, ldap.SCOPE_SUBTREE, 'uid=test1', serverctrls=[proxy_ctrl])
assert (len(ents) == 0)
+
def test_ticket48366_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48497_test.py b/dirsrvtests/tests/tickets/ticket48497_test.py
index f82e842..debe63f 100644
--- a/dirsrvtests/tests/tickets/ticket48497_test.py
+++ b/dirsrvtests/tests/tickets/ticket48497_test.py
@@ -59,7 +59,7 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
@@ -83,16 +83,16 @@ def test_ticket48497_homeDirectory_mixed_value(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
mod = [(ldap.MOD_REPLACE, 'homeDirectory', MIXED_VALUE)]
topology.standalone.modify_s(name, mod)
-
+
def test_ticket48497_extensible_search(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-
+
# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)
log.info("Default: can retrieve an entry filter caseExactIA5Match with exact stored value")
ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory:caseExactIA5Match:=%s)" % MIXED_VALUE)
-
+
# check with a lower case value that is different from the stored value
log.info("Default: can not retrieve an entry filter syntax match with lowered stored value")
try:
@@ -131,11 +131,11 @@ def test_ticket48497_homeDirectory_index_cfg(topology):
def test_ticket48497_homeDirectory_index_run(topology):
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
-
+
log.info("Check indexing succeeded with a specified matching rule")
file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)
file_obj = open(file_path, "r")
-
+
# Check if the MR configuration failure occurs
regex = re.compile("unknown or invalid matching rule")
while True:
@@ -143,7 +143,7 @@ def test_ticket48497_homeDirectory_index_run(topology):
found = regex.search(line)
if ((line == '') or (found)):
break
-
+
if (found):
log.info("The configuration of a specific MR fails")
log.info(line)
@@ -166,8 +166,8 @@ if __name__ == '__main__':
# installation1_prefix = None
# topo = topology(True)
# test_ticket48497_init(topo)
-#
-#
+#
+#
# test_ticket48497_homeDirectory_mixed_value(topo)
# test_ticket48497_extensible_search(topo)
# test_ticket48497_homeDirectory_index_cfg(topo)
diff --git a/dirsrvtests/tests/tickets/ticket48745_test.py b/dirsrvtests/tests/tickets/ticket48745_test.py
index adea76f..ca888da 100644
--- a/dirsrvtests/tests/tickets/ticket48745_test.py
+++ b/dirsrvtests/tests/tickets/ticket48745_test.py
@@ -59,7 +59,7 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
@@ -102,11 +102,11 @@ def test_ticket48745_homeDirectory_indexed_cis(topology):
#topology.standalone.start(timeout=10)
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
-
+
log.info("Check indexing succeeded with a specified matching rule")
file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)
file_obj = open(file_path, "r")
-
+
# Check if the MR configuration failure occurs
regex = re.compile("unknown or invalid matching rule")
while True:
@@ -114,7 +114,7 @@ def test_ticket48745_homeDirectory_indexed_cis(topology):
found = regex.search(line)
if ((line == '') or (found)):
break
-
+
if (found):
log.info("The configuration of a specific MR fails")
log.info(line)
@@ -128,7 +128,7 @@ def test_ticket48745_homeDirectory_mixed_value(topology):
def test_ticket48745_extensible_search_after_index(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-
+
# check with the exact stored value
log.info("Default: can retrieve an entry filter syntax with exact stored value")
ent = topology.standalone.getEntry(SUFFIX, ldap.SCOPE_SUBTREE, "(homeDirectory=%s)" % MIXED_VALUE)
@@ -176,7 +176,7 @@ if __name__ == '__main__':
# installation1_prefix = None
# topo = topology(True)
# test_ticket48745_init(topo)
-#
+#
# test_ticket48745_homeDirectory_indexed_cis(topo)
# test_ticket48745_homeDirectory_mixed_value(topo)
# test_ticket48745_extensible_search_after_index(topo)
diff --git a/dirsrvtests/tests/tickets/ticket48746_test.py b/dirsrvtests/tests/tickets/ticket48746_test.py
index ce766ae..038f1dd 100644
--- a/dirsrvtests/tests/tickets/ticket48746_test.py
+++ b/dirsrvtests/tests/tickets/ticket48746_test.py
@@ -59,7 +59,7 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
@@ -102,11 +102,11 @@ def test_ticket48746_homeDirectory_indexed_cis(topology):
#topology.standalone.start(timeout=10)
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
-
+
log.info("Check indexing succeeded with a specified matching rule")
file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)
file_obj = open(file_path, "r")
-
+
# Check if the MR configuration failure occurs
regex = re.compile("unknown or invalid matching rule")
while True:
@@ -114,7 +114,7 @@ def test_ticket48746_homeDirectory_indexed_cis(topology):
found = regex.search(line)
if ((line == '') or (found)):
break
-
+
if (found):
log.info("The configuration of a specific MR fails")
log.info(line)
@@ -128,7 +128,7 @@ def test_ticket48746_homeDirectory_mixed_value(topology):
def test_ticket48746_extensible_search_after_index(topology):
name = "uid=%s1,%s" % (NEW_ACCOUNT, SUFFIX)
-
+
# check with the exact stored value
# log.info("Default: can retrieve an entry filter syntax with exact stored value")
# ent = topology.standalone.getEntry(name, ldap.SCOPE_BASE, "(homeDirectory=%s)" % MIXED_VALUE)
@@ -166,11 +166,11 @@ def test_ticket48746_homeDirectory_indexed_ces(topology):
#topology.standalone.start(timeout=10)
args = {TASK_WAIT: True}
topology.standalone.tasks.reindex(suffix=SUFFIX, attrname='homeDirectory', args=args)
-
+
log.info("Check indexing succeeded with a specified matching rule")
file_path = os.path.join(topology.standalone.prefix, "var/log/dirsrv/slapd-%s/errors" % topology.standalone.serverid)
file_obj = open(file_path, "r")
-
+
# Check if the MR configuration failure occurs
regex = re.compile("unknown or invalid matching rule")
while True:
@@ -178,7 +178,7 @@ def test_ticket48746_homeDirectory_indexed_ces(topology):
found = regex.search(line)
if ((line == '') or (found)):
break
-
+
if (found):
log.info("The configuration of a specific MR fails")
log.info(line)
@@ -201,13 +201,13 @@ if __name__ == '__main__':
# installation1_prefix = None
# topo = topology(True)
# test_ticket48746_init(topo)
-#
-#
+#
+#
# test_ticket48746_homeDirectory_indexed_cis(topo)
# test_ticket48746_homeDirectory_mixed_value(topo)
# test_ticket48746_extensible_search_after_index(topo)
# # crash should occur here
# test_ticket48746_homeDirectory_indexed_ces(topo)
-
+
CURRENT_FILE = os.path.realpath(__file__)
pytest.main("-s %s" % CURRENT_FILE)
diff --git a/dirsrvtests/tests/tickets/ticket48759_test.py b/dirsrvtests/tests/tickets/ticket48759_test.py
index 93c3223..63115c1 100644
--- a/dirsrvtests/tests/tickets/ticket48759_test.py
+++ b/dirsrvtests/tests/tickets/ticket48759_test.py
@@ -64,8 +64,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -108,9 +109,9 @@ def _find_memberof(topology, user_dn=None, group_dn=None, find_result=True):
if val == group_dn:
found = True
break
-
+
if find_result:
- assert(found)
+ assert(found)
else:
assert(not found)
@@ -119,9 +120,9 @@ def test_ticket48759(topology):
The fix for ticket 48759 has to prevent plugin calls for tombstone purging
The test uses the memberof and retrocl plugins to verify this.
- In tombstone purging without the fix the mmeberof plugin is called,
- if the tombstone entry is a group,
- it modifies the user entries for the group
+ In tombstone purging without the fix the mmeberof plugin is called,
+ if the tombstone entry is a group,
+ it modifies the user entries for the group
and if retrocl is enabled this mod is written to the retrocl
The test sequence is:
@@ -262,7 +263,6 @@ def test_ticket48759(topology):
def test_ticket48759_final(topology):
- topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket48784_test.py b/dirsrvtests/tests/tickets/ticket48784_test.py
index 159301a..a970fc6 100644
--- a/dirsrvtests/tests/tickets/ticket48784_test.py
+++ b/dirsrvtests/tests/tickets/ticket48784_test.py
@@ -38,6 +38,7 @@ M2SERVERCERT = 'Server-Cert2'
M1LDAPSPORT = '41636'
M2LDAPSPORT = '42636'
+
class TopologyReplication(object):
def __init__(self, master1, master2):
master1.open()
@@ -53,7 +54,7 @@ def topology(request):
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
# Creating master 1...
- master1 = DirSrv(verbose=True)
+ master1 = DirSrv(verbose=False)
if installation1_prefix:
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_MASTER_1
@@ -70,7 +71,7 @@ def topology(request):
master1.replica.enableReplication(suffix=SUFFIX, role=REPLICAROLE_MASTER, replicaId=REPLICAID_MASTER_1)
# Creating master 2...
- master2 = DirSrv(verbose=True)
+ master2 = DirSrv(verbose=False)
if installation1_prefix:
args_instance[SER_DEPLOYED_DIR] = installation1_prefix
args_instance[SER_HOST] = HOST_MASTER_2
@@ -137,20 +138,15 @@ def topology(request):
assert False
# Delete each instance in the end
- #def fin():
- #master1.delete()
- #master2.delete()
- #request.addfinalizer(fin)
-
- # Clear out the tmp dir
- master1.clearTmpDir(__file__)
+ def fin():
+ master1.delete()
+ master2.delete()
+ request.addfinalizer(fin)
return TopologyReplication(master1, master2)
@pytest.fixture(scope="module")
-
-
def add_entry(server, name, rdntmpl, start, num):
log.info("\n######################### Adding %d entries to %s ######################" % (num, name))
@@ -166,6 +162,7 @@ def add_entry(server, name, rdntmpl, start, num):
log.error('Failed to add %s ' % dn + e.message['desc'])
assert False
+
def enable_ssl(server, ldapsport, mycert):
log.info("\n######################### Enabling SSL LDAPSPORT %s ######################\n" % ldapsport)
server.simple_bind_s(DN_DM, PASSWORD)
@@ -210,6 +207,7 @@ def doAndPrintIt(cmdline, filename):
if filename is not None:
fd.close()
+
def create_keys_certs(topology):
log.info("\n######################### Creating SSL Keys and Certs ######################\n")
@@ -291,7 +289,7 @@ def create_keys_certs(topology):
topology.master2.stop(timeout=10)
global mytmp
- mytmp = topology.master1.getDir(__file__, TMP_DIR)
+ mytmp = '/tmp'
m2pk12file = '%s/%s.pk12' % (mytmp, M2SERVERCERT)
cmd = 'pk12util -o %s -n "%s" -d %s -w %s -k %s' % (m2pk12file, M2SERVERCERT, m1confdir, pwdfile, pwdfile)
log.info("##### Extract PK12 file for master2: %s" % cmd)
@@ -338,6 +336,7 @@ def create_keys_certs(topology):
log.info("\n######################### Creating SSL Keys and Certs Done ######################\n")
+
def config_tls_agreements(topology):
log.info("######################### Configure SSL/TLS agreements ######################")
log.info("######################## master1 <-- startTLS -> master2 #####################")
@@ -357,6 +356,7 @@ def config_tls_agreements(topology):
log.info("\n######################### Configure SSL/TLS agreements Done ######################\n")
+
def set_ssl_Version(server, name, version):
log.info("\n######################### Set %s on %s ######################\n", (version, name))
server.simple_bind_s(DN_DM, PASSWORD)
@@ -374,6 +374,7 @@ def set_ssl_Version(server, name, version):
log.info("Invalid version %s", version)
assert False
+
def test_ticket48784(topology):
"""
Set up 2way MMR:
@@ -381,7 +382,7 @@ def test_ticket48784(topology):
Make sure the replication is working.
Then, stop the servers and set only SSLv3 on master_1 while TLS1.2 on master_2
- Replication is supposed to fail.
+ Replication is supposed to fail.
"""
log.info("Ticket 48784 - Allow usage of OpenLDAP libraries that don't use NSS for crypto")
@@ -392,7 +393,7 @@ def test_ticket48784(topology):
add_entry(topology.master2, 'master2', 'uid=m2user', 0, 5)
time.sleep(1)
-
+
log.info('##### Searching for entries on master1...')
entries = topology.master1.search_s(DEFAULT_SUFFIX, ldap.SCOPE_SUBTREE, '(uid=*)')
assert 10 == len(entries)
diff --git a/dirsrvtests/tests/tickets/ticket48798_test.py b/dirsrvtests/tests/tickets/ticket48798_test.py
index 7289453..f6f3911 100644
--- a/dirsrvtests/tests/tickets/ticket48798_test.py
+++ b/dirsrvtests/tests/tickets/ticket48798_test.py
@@ -29,7 +29,7 @@ class TopologyStandalone(object):
@pytest.fixture(scope="module")
def topology(request):
# Creating standalone instance ...
- standalone = DirSrv(verbose=True)
+ standalone = DirSrv(verbose=False)
args_instance[SER_HOST] = HOST_STANDALONE
args_instance[SER_PORT] = PORT_STANDALONE
args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
@@ -44,17 +44,13 @@ def topology(request):
# Delete each instance in the end
def fin():
- pass
- #standalone.delete()
+ standalone.delete()
request.addfinalizer(fin)
- # Clear out the tmp dir
- #standalone.clearTmpDir(__file__)
-
return TopologyStandalone(standalone)
def check_socket_dh_param_size(hostname, port):
- ### You know why we have to do this?
+ ### You know why we have to do this?
# Because TLS and SSL suck. Hard. They are impossible. It's all terrible, burn it all down.
cmd = "echo quit | openssl s_client -connect {HOSTNAME}:{PORT} -msg -cipher DH | grep -A 1 ServerKeyExchange".format(
HOSTNAME=hostname,
diff --git a/dirsrvtests/tests/tickets/ticket48844_test.py b/dirsrvtests/tests/tickets/ticket48844_test.py
index 5b720e3..308ec17 100644
--- a/dirsrvtests/tests/tickets/ticket48844_test.py
+++ b/dirsrvtests/tests/tickets/ticket48844_test.py
@@ -56,7 +56,7 @@ def topology(request):
# Delete each instance in the end
def fin():
standalone.delete()
- #request.addfinalizer(fin)
+ request.addfinalizer(fin)
# Clear out the tmp dir
standalone.clearTmpDir(__file__)
diff --git a/dirsrvtests/tests/tickets/ticket48891_test.py b/dirsrvtests/tests/tickets/ticket48891_test.py
index bf2d1dd..ad6fd3a 100644
--- a/dirsrvtests/tests/tickets/ticket48891_test.py
+++ b/dirsrvtests/tests/tickets/ticket48891_test.py
@@ -73,8 +73,9 @@ def topology(request):
# Used to retrieve configuration information (dbdir, confdir...)
standalone.open()
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
+ def fin():
+ standalone.delete()
+ request.addfinalizer(fin)
# Here we have standalone instance up and running
return TopologyStandalone(standalone)
@@ -92,7 +93,7 @@ def test_ticket48891_setup(topology):
# bind as directory manager
topology.standalone.log.info("Bind as %s" % DN_DM)
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-
+
# check there is no core
entry = topology.standalone.search_s(CONFIG_DN, ldap.SCOPE_BASE, "(cn=config)",['nsslapd-workingdir'])
assert entry
@@ -139,7 +140,7 @@ def test_ticket48891_setup(topology):
topology.standalone.stop(timeout=1)
-
+
cores = fnmatch.filter(os.listdir(path), 'core.*')
for core in cores:
@@ -150,7 +151,6 @@ def test_ticket48891_setup(topology):
def test_ticket48891_final(topology):
- #topology.standalone.delete()
log.info('Testcase PASSED')
diff --git a/dirsrvtests/tests/tickets/ticket548_test.py b/dirsrvtests/tests/tickets/ticket548_test.py
index d29fa53..a8562c2 100644
--- a/dirsrvtests/tests/tickets/ticket548_test.py
+++ b/dirsrvtests/tests/tickets/ticket548_test.py
@@ -67,9 +67,6 @@ def topology(request):
standalone.delete()
request.addfinalizer(fin)
- # Clear out the tmp dir
- standalone.clearTmpDir(__file__)
-
return TopologyStandalone(standalone)
def days_to_secs(days):
@@ -421,4 +418,4 @@ if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
CURRENT_FILE = os.path.realpath(__file__)
- pytest.main("-s %s" % CURRENT_FILE)
+ pytest.main("-s %s" % CURRENT_FILE)
dirsrvtests/tests/suites/paged_results/paged_results_test.py | 29 -
dirsrvtests/tests/tickets/ticket47824_test.py | 265 -----------
2 files changed, 17 insertions(+), 277 deletions(-)
New commits:
commit e3a7705f10b2e433b09068dadb45ed845e3853f1
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Wed Jul 20 10:10:55 2016 +0200
Ticket 47824 - Remove CI test from tickets and add logging
Description: Test suite at tickets/ticket47824_test.py contains
the test case that was already implemented at suites/paged_results/.
Fix description: Remove it and add additional logging to the paged_results
test suite
https://fedorahosted.org/389/ticket/47824
Reviewd by: mreynolds (Thanks!)
diff --git a/dirsrvtests/tests/suites/paged_results/paged_results_test.py b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
index 6eef6c8..8c21d0b 100644
--- a/dirsrvtests/tests/suites/paged_results/paged_results_test.py
+++ b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
@@ -19,7 +19,13 @@ from lib389.tasks import *
from lib389.utils import *
from sss_control import SSSRequestControl
-logging.getLogger(__name__).setLevel(logging.DEBUG)
+DEBUGGING = False
+
+if DEBUGGING:
+ logging.getLogger(__name__).setLevel(logging.DEBUG)
+else:
+ logging.getLogger(__name__).setLevel(logging.INFO)
+
log = logging.getLogger(__name__)
TEST_USER_NAME = 'simplepaged_test'
@@ -227,7 +233,13 @@ def paged_search(topology, suffix, controls, search_flt, searchreq_attrlist):
pages = 0
pctrls = []
all_results = []
- req_ctrl = controls[0]
+ req_pr_ctrl = controls[0]
+ log.info('Running simple paged result search with - '
+ 'search suffix: {}; filter: {}; attr list {}; '
+ 'page_size = {}; controls: {}.'.format(suffix, search_flt,
+ searchreq_attrlist,
+ req_pr_ctrl.size,
+ str(controls)))
msgid = topology.standalone.search_ext(suffix,
ldap.SCOPE_SUBTREE,
search_flt,
@@ -236,6 +248,7 @@ def paged_search(topology, suffix, controls, search_flt, searchreq_attrlist):
while True:
log.info('Getting page %d' % (pages,))
rtype, rdata, rmsgid, rctrls = topology.standalone.result3(msgid)
+ log.debug('Data: {}'.format(rdata))
all_results.extend(rdata)
pages += 1
pctrls = [
@@ -247,7 +260,8 @@ def paged_search(topology, suffix, controls, search_flt, searchreq_attrlist):
if pctrls:
if pctrls[0].cookie:
# Copy cookie from response control to request control
- req_ctrl.cookie = pctrls[0].cookie
+ log.debug('Cookie: {}'.format(pctrls[0].cookie))
+ req_pr_ctrl.cookie = pctrls[0].cookie
msgid = topology.standalone.search_ext(suffix,
ldap.SCOPE_SUBTREE,
search_flt,
@@ -287,7 +301,6 @@ def test_search_success(topology, test_user, page_size, users_num):
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
all_results = paged_search(topology, DEFAULT_SUFFIX, [req_ctrl],
@@ -428,7 +441,6 @@ def test_search_sort_success(topology, test_user):
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
sort_ctrl = SSSRequestControl(True, ['sn'])
@@ -846,7 +858,6 @@ def test_search_pagedsizelimit_success(topology, test_user):
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]
@@ -909,7 +920,6 @@ def test_search_nspagedsizelimit(topology, test_user,
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]
@@ -984,7 +994,6 @@ def test_search_paged_limits(topology, test_user, conf_attr_values, expected_rs)
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]
@@ -1063,7 +1072,6 @@ def test_search_paged_user_limits(topology, test_user, conf_attr_values, expecte
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
controls = [req_ctrl]
@@ -1118,7 +1126,6 @@ def test_ger_basic(topology, test_user):
log.info('Set bind to directory manager')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- log.info('Create simple paged results control instance')
spr_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
ger_ctrl = GetEffectiveRightsControl(True, "dn: " + DN_DM)
@@ -1167,7 +1174,6 @@ def test_multi_suffix_search(topology, test_user, new_suffixes):
log.info('Set DM bind')
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
all_results = paged_search(topology, NEW_SUFFIX_1, [req_ctrl],
@@ -1223,7 +1229,6 @@ def test_maxsimplepaged_per_conn_success(topology, test_user, conf_attr_value):
log.info('Set user bind')
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
- log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
all_results = paged_search(topology, DEFAULT_SUFFIX, [req_ctrl],
diff --git a/dirsrvtests/tests/tickets/ticket47824_test.py b/dirsrvtests/tests/tickets/ticket47824_test.py
deleted file mode 100644
index ce1caa9..0000000
--- a/dirsrvtests/tests/tickets/ticket47824_test.py
+++ /dev/null
@@ -1,265 +0,0 @@
-# --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
-# All rights reserved.
-#
-# License: GPL (version 3 or any later version).
-# See LICENSE for details.
-# --- END COPYRIGHT BLOCK ---
-#
-import os
-import sys
-import time
-import ldap
-import logging
-import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
-from lib389._constants import *
-from lib389.properties import *
-from lib389.tasks import *
-from ldap.controls import SimplePagedResultsControl
-
-log = logging.getLogger(__name__)
-
-installation_prefix = None
-
-MYSUFFIX = 'o=ticket47824.org '
-MYSUFFIXBE = 'ticket47824'
-SUBSUFFIX0 = 'ou=OU0,o=ticket47824.org '
-SUBSUFFIX0BE = 'OU0'
-SUBSUFFIX1 = 'ou=OU1,o=ticket47824.org '
-SUBSUFFIX1BE = 'OU1'
-SUBSUFFIX2 = 'ou=OU2,o=ticket47824.org '
-SUBSUFFIX2BE = 'OU2'
-
-_MYLDIF = 'ticket47824.ldif'
-_SUBLDIF0TMP = 'ticket47824_0.tmp'
-_SUBLDIF0 = 'ticket47824_0.ldif'
-_SUBLDIF1TMP = 'ticket47824_1.tmp'
-_SUBLDIF1 = 'ticket47824_1.ldif'
-_SUBLDIF2TMP = 'ticket47824_2.tmp'
-_SUBLDIF2 = 'ticket47824_2.ldif'
-
-SEARCHFILTER = '(objectclass=*)'
-
-
-class TopologyStandalone(object):
- def __init__(self, standalone):
- standalone.open()
- self.standalone = standalone
-
-
-(a)pytest.fixture(scope="module")
-def topology(request):
- '''
- This fixture is used to standalone topology for the 'module'.
- '''
- global installation_prefix
-
- if installation_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation_prefix
-
- standalone = DirSrv(verbose=False)
-
- # Args for the standalone instance
- args_instance[SER_HOST] = HOST_STANDALONE
- args_instance[SER_PORT] = PORT_STANDALONE
- args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
- args_standalone = args_instance.copy()
- standalone.allocate(args_standalone)
-
- # Get the status of the instance and restart it if it exists
- instance_standalone = standalone.exists()
-
- # Remove the instance
- if instance_standalone:
- standalone.delete()
-
- # Create the instance
- standalone.create()
-
- # Used to retrieve configuration information (dbdir, confdir...)
- standalone.open()
-
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
-
- # Here we have standalone instance up and running
- return TopologyStandalone(standalone)
-
-
-def test_ticket47824_run(topology):
- """
- Add 3 sub suffixes under the primary suffix
- Import 16 entries each
- Search with Simple Paged Results Control from the primary suffix (pagesize = 4)
- If all of them are returned, the bug is verified
- """
- log.info('Testing Ticket 47824 - paged results control is not working in some cases when we have a subsuffix')
-
- # bind as directory manager
- topology.standalone.log.info("Bind as %s" % DN_DM)
- topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- topology.standalone.log.info("\n\n######################### SETUP SUFFIX o=ticket47824.org ######################\n")
-
- topology.standalone.backend.create(MYSUFFIX, {BACKEND_NAME: MYSUFFIXBE})
- topology.standalone.mappingtree.create(MYSUFFIX, bename=MYSUFFIXBE)
-
- topology.standalone.log.info("\n\n######################### SETUP SUB SUFFIX ou=OU0 ######################\n")
-
- topology.standalone.backend.create(SUBSUFFIX0, {BACKEND_NAME: SUBSUFFIX0BE})
- topology.standalone.mappingtree.create(SUBSUFFIX0, bename=SUBSUFFIX0BE, parent=MYSUFFIX)
-
- topology.standalone.log.info("\n\n######################### SETUP SUB SUFFIX ou=OU1 ######################\n")
-
- topology.standalone.backend.create(SUBSUFFIX1, {BACKEND_NAME: SUBSUFFIX1BE})
- topology.standalone.mappingtree.create(SUBSUFFIX1, bename=SUBSUFFIX1BE, parent=MYSUFFIX)
-
- topology.standalone.log.info("\n\n######################### SETUP SUB SUFFIX ou=OU2 ######################\n")
-
- topology.standalone.backend.create(SUBSUFFIX2, {BACKEND_NAME: SUBSUFFIX2BE})
- topology.standalone.mappingtree.create(SUBSUFFIX2, bename=SUBSUFFIX2BE, parent=MYSUFFIX)
-
- topology.standalone.log.info("\n\n######################### Generate Test data ######################\n")
-
- # get tmp dir
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
- if mytmp is None:
- mytmp = "/tmp"
-
- MYLDIF = '%s%s' % (mytmp, _MYLDIF)
- SUBLDIF0TMP = '%s%s' % (mytmp, _SUBLDIF0TMP)
- SUBLDIF0 = '%s%s' % (mytmp, _SUBLDIF0)
- SUBLDIF1TMP = '%s%s' % (mytmp, _SUBLDIF1TMP)
- SUBLDIF1 = '%s%s' % (mytmp, _SUBLDIF1)
- SUBLDIF2TMP = '%s%s' % (mytmp, _SUBLDIF2TMP)
- SUBLDIF2 = '%s%s' % (mytmp, _SUBLDIF2)
-
- os.system('ls %s' % MYLDIF)
- os.system('ls %s' % SUBLDIF0TMP)
- os.system('ls %s' % SUBLDIF1TMP)
- os.system('ls %s' % SUBLDIF2TMP)
- os.system('rm -f %s' % MYLDIF)
- os.system('rm -f %s' % SUBLDIF0TMP)
- os.system('rm -f %s' % SUBLDIF1TMP)
- os.system('rm -f %s' % SUBLDIF2TMP)
- if hasattr(topology.standalone, 'prefix'):
- prefix = topology.standalone.prefix
- else:
- prefix = None
- dbgen_prog = prefix + '/bin/dbgen.pl'
- topology.standalone.log.info('dbgen: %s' % dbgen_prog)
- os.system('%s -s %s -o %s -n 10' % (dbgen_prog, MYSUFFIX, MYLDIF))
- os.system('%s -s %s -o %s -n 10' % (dbgen_prog, SUBSUFFIX0, SUBLDIF0TMP))
- os.system('%s -s %s -o %s -n 10' % (dbgen_prog, SUBSUFFIX1, SUBLDIF1TMP))
- os.system('%s -s %s -o %s -n 10' % (dbgen_prog, SUBSUFFIX2, SUBLDIF2TMP))
-
- os.system('cat %s | sed -e "s/\<objectClass: organization\>/objectClass: organizationalUnit/" | sed -e "/^o:.*/d" > %s' % (SUBLDIF0TMP, SUBLDIF0))
- os.system('cat %s | sed -e "s/\<objectClass: organization\>/objectClass: organizationalUnit/" | sed -e "/^o:.*/d" > %s' % (SUBLDIF1TMP, SUBLDIF1))
- os.system('cat %s | sed -e "s/\<objectClass: organization\>/objectClass: organizationalUnit/" | sed -e "/^o:.*/d" > %s' % (SUBLDIF2TMP, SUBLDIF2))
-
- cmdline = 'egrep dn: %s %s %s %s | wc -l' % (MYLDIF, SUBLDIF0, SUBLDIF1, SUBLDIF2)
- p = os.popen(cmdline, "r")
- dnnumstr = p.readline()
- dnnum = int(dnnumstr)
- topology.standalone.log.info("We have %d entries.\n", dnnum)
-
- topology.standalone.log.info("\n\n######################### Import Test data ######################\n")
-
- args = {TASK_WAIT: True}
- importTask = Tasks(topology.standalone)
- importTask.importLDIF(MYSUFFIX, MYSUFFIXBE, MYLDIF, args)
- importTask.importLDIF(SUBSUFFIX0, SUBSUFFIX0BE, SUBLDIF0, args)
- importTask.importLDIF(SUBSUFFIX1, SUBSUFFIX1BE, SUBLDIF1, args)
- importTask.importLDIF(SUBSUFFIX2, SUBSUFFIX2BE, SUBLDIF2, args)
-
- topology.standalone.log.info("\n\n######################### SEARCH ALL ######################\n")
- topology.standalone.log.info("Bind as %s and add the READ/SEARCH SELFDN aci" % DN_DM)
- topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- entries = topology.standalone.search_s(MYSUFFIX, ldap.SCOPE_SUBTREE, SEARCHFILTER)
- topology.standalone.log.info("Returned %d entries.\n", len(entries))
-
- #print entries
-
- assert dnnum == len(entries)
-
- topology.standalone.log.info('%d entries are successfully imported.' % dnnum)
-
- topology.standalone.log.info("\n\n######################### SEARCH WITH SIMPLE PAGED RESULTS CONTROL ######################\n")
-
- page_size = 4
- req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
-
- known_ldap_resp_ctrls = {
- SimplePagedResultsControl.controlType: SimplePagedResultsControl,
- }
-
- topology.standalone.log.info("Calling search_ext...")
- msgid = topology.standalone.search_ext(MYSUFFIX, ldap.SCOPE_SUBTREE, SEARCHFILTER, None, serverctrls=[req_ctrl])
-
- pageddncnt = 0
- pages = 0
- while True:
- pages += 1
-
- topology.standalone.log.info("Getting page %d" % pages)
- rtype, rdata, rmsgid, serverctrls = topology.standalone.result3(msgid, resp_ctrl_classes=known_ldap_resp_ctrls)
- topology.standalone.log.info("%d results" % len(rdata))
- pageddncnt += len(rdata)
-
- topology.standalone.log.info("Results:")
- for dn, attrs in rdata:
- topology.standalone.log.info("dn: %s" % dn)
-
- pctrls = [
- c for c in serverctrls if c.controlType == SimplePagedResultsControl.controlType
- ]
- if not pctrls:
- topology.standalone.log.info('Warning: Server ignores RFC 2696 control.')
- break
-
- if pctrls[0].cookie:
- req_ctrl.cookie = pctrls[0].cookie
- topology.standalone.log.info("cookie: %s" % req_ctrl.cookie)
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- None,
- serverctrls=[req_ctrl])
- else:
- topology.standalone.log.info("No cookie")
- break
-
- topology.standalone.log.info("Paged result search returned %d entries.\n", pageddncnt)
-
- assert dnnum == len(entries)
- topology.standalone.log.info("ticket47824 was successfully verified.")
-
-
-def test_ticket47824_final(topology):
- topology.standalone.delete()
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket47824_run(topo)
-
- test_ticket47824_final(topo)
-
-
-if __name__ == '__main__':
- run_isolated()
-
Makefile.am | 4 +
admserv/cfgstuff/restart-ds-admin.in | 12 +++-
admserv/cfgstuff/start-ds-admin.in | 87 ++++++++++++++++++-----------------
admserv/cfgstuff/stop-ds-admin.in | 55 ++++++++++++----------
4 files changed, 91 insertions(+), 67 deletions(-)
New commits:
commit 86110bc19e74615952c9fd6138f90bdf4edbd60d
Author: William Brown <firstyear(a)redhat.com>
Date: Wed Jul 20 13:13:19 2016 +1000
Ticket 48931 - start-ds-admin should use systemctl
Bug Description: Due to the design of start-ds-admin, it can be annoying
to get selinux policy to work with this. We should use systemctl when avaliable
to correctly have our admin process labeled.
Fix Description: When the configure flag specifies a unit dir, we set a flag
in the start / stop / restart scripts that uses systemctl instead.
https://fedorahosted.org/389/ticket/48931
Author: wibrown
Review by: mreynolds
diff --git a/Makefile.am b/Makefile.am
index e3f119a..a0afb6e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -189,8 +189,10 @@ selinux-built/dirsrv-admin.fc: selinux-built
if SYSTEMD
systemdsystemunit_DATA = wrappers/$(PACKAGE_NAME).service
+SYSTEMD_ENABLE=1
else
init_SCRIPTS = wrappers/$(PACKAGE_NAME)
+SYSTEMD_ENABLE=0
endif
initconfig_DATA = admserv/cfgstuff/$(PACKAGE_NAME)
@@ -566,6 +568,7 @@ fixupcmd = sed \
-e 's,@updatedir\@,$(updatedir),g' \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@enable_service\@,@enable_service@,g' \
+ -e 's,@systemd_enable\@,$(SYSTEMD_ENABLE),g' \
-e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
-e 's,@systemddirsrvgroupname\@,$(systemddirsrvgroupname),g' \
-e 's,@dsgwcgibindir\@,$(dsgwcgibindir),g' \
@@ -628,6 +631,7 @@ fixupcmd = sed \
-e 's,@updatedir\@,$(updatedir),g' \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@enable_service\@,@enable_service@,g' \
+ -e 's,@systemd_enable\@,$(SYSTEMD_ENABLE),g' \
-e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
-e 's,@systemddirsrvgroupname\@,$(systemddirsrvgroupname),g' \
-e 's,@dsgwcgibindir\@,$(dsgwcgibindir),g' \
diff --git a/admserv/cfgstuff/restart-ds-admin.in b/admserv/cfgstuff/restart-ds-admin.in
index b7a42f0..a4c0a43 100755
--- a/admserv/cfgstuff/restart-ds-admin.in
+++ b/admserv/cfgstuff/restart-ds-admin.in
@@ -21,6 +21,12 @@
# END COPYRIGHT BLOCK
-@cmdbindir@/stop-ds-admin
-sleep 3
-@cmdbindir@/start-ds-admin
+SYSTEMD_ENABLE=@systemd_enable@
+
+if [ ${SYSTEMD_ENABLE} -eq 1 ] ; then
+ systemctl restart @package_name@.service
+else
+ @cmdbindir@/stop-ds-admin
+ sleep 3
+ @cmdbindir@/start-ds-admin
+fi
diff --git a/admserv/cfgstuff/start-ds-admin.in b/admserv/cfgstuff/start-ds-admin.in
index 2d0e4bf..3e6ac31 100644
--- a/admserv/cfgstuff/start-ds-admin.in
+++ b/admserv/cfgstuff/start-ds-admin.in
@@ -67,56 +67,63 @@ export LIBPATH
HTTPD=@HTTPD@
OS=`uname -s`
-
-# see if httpd is linked with the openldap libraries - we need to override them if
-# using mozldap
-if [ -z "@use_openldap@" ] ; then
- if [ $OS = "Linux" ]; then
- hasol=0
-
- /usr/bin/ldd $HTTPD 2>&1 | grep libldap > /dev/null 2>&1 && hasol=1
-
- if [ $hasol -eq 1 ] ; then
- LD_PRELOAD="@ldapsdk_libdir@/libldap60.so"
- ssl_lib="@nss_libdir@/libssl3.so"
- if [ -f "$ssl_lib" ] ; then
- LD_PRELOAD="$ssl_lib $LD_PRELOAD"
+SYSTEMD_ENABLE=@systemd_enable@
+
+if [ ${SYSTEMD_ENABLE} -eq 1 ] ; then
+ systemctl start @package_name@.service
+
+else
+ # see if httpd is linked with the openldap libraries - we need to override them if
+ # using mozldap
+ if [ -z "@use_openldap@" ] ; then
+ if [ $OS = "Linux" ]; then
+ hasol=0
+
+ /usr/bin/ldd $HTTPD 2>&1 | grep libldap > /dev/null 2>&1 && hasol=1
+
+ if [ $hasol -eq 1 ] ; then
+ LD_PRELOAD="@ldapsdk_libdir@/libldap60.so"
+ ssl_lib="@nss_libdir@/libssl3.so"
+ if [ -f "$ssl_lib" ] ; then
+ LD_PRELOAD="$ssl_lib $LD_PRELOAD"
+ fi
+ export LD_PRELOAD
fi
- export LD_PRELOAD
fi
fi
-fi
-# mod_deflate is not supported on HP-UX using the /opt/hpws apache
-if [ $OS = "HP-UX" ] ; then
- OMIT_DEFLATE="-DOmitDeflate"
-fi
+ # mod_deflate is not supported on HP-UX using the /opt/hpws apache
+ if [ $OS = "HP-UX" ] ; then
+ OMIT_DEFLATE="-DOmitDeflate"
+ fi
-# source env. for admin server
-[ -f @initconfigdir@/@package_name@ ] && . @initconfigdir@/@package_name@
+ # source env. for admin server
+ [ -f @initconfigdir@/@package_name@ ] && . @initconfigdir@/@package_name@
-if [ -z "@with_selinux@" ] ; then
- if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
- SELINUX_CMD="runcon -t unconfined_t --"
+ if [ -z "@with_selinux@" ] ; then
+ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
+ SELINUX_CMD="runcon -t unconfined_t --"
+ fi
fi
-fi
-$SELINUX_CMD $HTTPD $OMIT_DEFLATE -k start -f @configdir@/httpd.conf "$@"
+ $SELINUX_CMD $HTTPD $OMIT_DEFLATE -k start -f @configdir@/httpd.conf "$@"
-PIDFILE=@localstatedir@/run/@PACKAGE_BASE_NAME@/admin-serv.pid
+ PIDFILE=@localstatedir@/run/@PACKAGE_BASE_NAME@/admin-serv.pid
-loop_counter=1
-# wait for 10 seconds for the pid file to appear
-max_count=10
-while test $loop_counter -le $max_count; do
- loop_counter=`expr $loop_counter + 1`
+ loop_counter=1
+ # wait for 10 seconds for the pid file to appear
+ max_count=10
+ while test $loop_counter -le $max_count; do
+ loop_counter=`expr $loop_counter + 1`
+ if test ! -f $PIDFILE ; then
+ sleep 1;
+ else
+ PID=`cat $PIDFILE`
+ fi
+ done
if test ! -f $PIDFILE ; then
- sleep 1;
- else
- PID=`cat $PIDFILE`
+ echo Server failed to start !!! Please check errors log for problems
+ exit 1
fi
-done
-if test ! -f $PIDFILE ; then
- echo Server failed to start !!! Please check errors log for problems
- exit 1
+
fi
diff --git a/admserv/cfgstuff/stop-ds-admin.in b/admserv/cfgstuff/stop-ds-admin.in
index be63bec..e00a7ae 100755
--- a/admserv/cfgstuff/stop-ds-admin.in
+++ b/admserv/cfgstuff/stop-ds-admin.in
@@ -20,31 +20,38 @@
#
# END COPYRIGHT BLOCK
+SYSTEMD_ENABLE=@systemd_enable@
-PID_FILE=@piddir@/@pidfile@
-if test -f $PID_FILE ; then
- kill -TERM `cat $PID_FILE`
- if test $? -ne 0 ; then
- exit 1
- fi
+if [ ${SYSTEMD_ENABLE} -eq 1 ] ; then
+ systemctl stop @package_name@.service
else
- echo server not running
- exit 1
-fi
-loop_counter=1
-max_count=30
-while test $loop_counter -le $max_count; do
- loop_counter=`expr $loop_counter + 1`
- if test -f $PID_FILE ; then
- sleep 2
- else
- exit 0
- fi
-done
-echo server not responding to exit command
-echo killing process group
-kill -9 `cat $PID_FILE`
-rm $PID_FILE
+ PID_FILE=@piddir@/@pidfile@
+ if test -f $PID_FILE ; then
+ kill -TERM `cat $PID_FILE`
+ if test $? -ne 0 ; then
+ exit 1
+ fi
+ else
+ echo server not running
+ exit 1
+ fi
+
+ loop_counter=1
+ max_count=30
+ while test $loop_counter -le $max_count; do
+ loop_counter=`expr $loop_counter + 1`
+ if test -f $PID_FILE ; then
+ sleep 2
+ else
+ exit 0
+ fi
+ done
+ echo server not responding to exit command
+ echo killing process group
+ kill -9 `cat $PID_FILE`
+ rm $PID_FILE
-exit 1
+ exit 1
+
+fi
ldap/servers/slapd/opshared.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit c8e7fc567ca9b00969e3911bf3aa6245ebdffe5b
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jul 19 18:28:06 2016 -0400
Ticket 48930 - Paged result search can hang the server
Bug Description: If a pages result has sent all its entry it's possible that
the connection lock/monitor is not exited. This can lead
to a deadlock when a new connection comes in.
Fix Description: Move the monitor exit to the proper location, and also set
the result to success if all the entries have been sent.
https://fedorahosted.org/389/ticket/48930
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit bff1dd433f5de807ded1114e5961d66e2c0494e2)
diff --git a/ldap/servers/slapd/opshared.c b/ldap/servers/slapd/opshared.c
index 84e4c71..93334a1 100644
--- a/ldap/servers/slapd/opshared.c
+++ b/ldap/servers/slapd/opshared.c
@@ -694,11 +694,12 @@ op_shared_search (Slapi_PBlock *pb, int send_result)
/* search result could be reset in the backend/dse */
slapi_pblock_get(pb, SLAPI_SEARCH_RESULT_SET, &sr);
pagedresults_set_search_result(pb->pb_conn, operation, sr, 1/*locked*/, pr_idx);
- PR_ExitMonitor(pb->pb_conn->c_mutex);
}
} else {
pr_stat = PAGEDRESULTS_SEARCH_END;
+ rc = LDAP_SUCCESS;
}
+ PR_ExitMonitor(pb->pb_conn->c_mutex);
pagedresults_unlock(pb->pb_conn, pr_idx);
if ((PAGEDRESULTS_SEARCH_END == pr_stat) || (0 == pnentries)) {
ldap/servers/slapd/opshared.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit bff1dd433f5de807ded1114e5961d66e2c0494e2
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Jul 19 18:28:06 2016 -0400
Ticket 48930 - Paged result search can hang the server
Bug Description: If a pages result has sent all its entry it's possible that
the connection lock/monitor is not exited. This can lead
to a deadlock when a new connection comes in.
Fix Description: Move the monitor exit to the proper location, and also set
the result to success if all the entries have been sent.
https://fedorahosted.org/389/ticket/48930
Reviewed by: nhosoi(Thanks!)
diff --git a/ldap/servers/slapd/opshared.c b/ldap/servers/slapd/opshared.c
index 7eaa19a..15207a5 100644
--- a/ldap/servers/slapd/opshared.c
+++ b/ldap/servers/slapd/opshared.c
@@ -695,11 +695,12 @@ op_shared_search (Slapi_PBlock *pb, int send_result)
/* search result could be reset in the backend/dse */
slapi_pblock_get(pb, SLAPI_SEARCH_RESULT_SET, &sr);
pagedresults_set_search_result(pb->pb_conn, operation, sr, 1/*locked*/, pr_idx);
- PR_ExitMonitor(pb->pb_conn->c_mutex);
}
} else {
pr_stat = PAGEDRESULTS_SEARCH_END;
+ rc = LDAP_SUCCESS;
}
+ PR_ExitMonitor(pb->pb_conn->c_mutex);
pagedresults_unlock(pb->pb_conn, pr_idx);
if ((PAGEDRESULTS_SEARCH_END == pr_stat) || (0 == pnentries)) {
dirsrvtests/tests/suites/paged_results/paged_results_test.py | 109 +++
dirsrvtests/tests/tickets/ticket48191_test.py | 323 -----------
2 files changed, 109 insertions(+), 323 deletions(-)
New commits:
commit b9ab76af309b6914f6e12786dc147ef2b6fbc7dd
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Mon Jul 18 13:54:41 2016 +0200
Ticket 48191 - Move CI test to the pr suite and refactor
Description: Test suite for a new config parameter -
nsslapd-maxsimplepaged-per-conn. The parameter should resctrict
asynchronous simple paged results requests that could add too much load
the server can handle.
It tests three cases:
- If no value or value: -1 - all users should be found;
- If the value is 0 - UNWILLING_TO_PERFORM should be throwned
- If the value is positive, the value is the max simple paged results
requests per connection.
https://fedorahosted.org/389/ticket/48191
Reviewed by: mreynolds (Thanks!)
diff --git a/dirsrvtests/tests/suites/paged_results/paged_results_test.py b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
index 7dbc8fa..6eef6c8 100644
--- a/dirsrvtests/tests/suites/paged_results/paged_results_test.py
+++ b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
@@ -1190,6 +1190,115 @@ def test_multi_suffix_search(topology, test_user, new_suffixes):
del_users(topology, users_list_2)
+(a)pytest.mark.parametrize('conf_attr_value', (None, '-1', '1000'))
+def test_maxsimplepaged_per_conn_success(topology, test_user, conf_attr_value):
+ """Verify that nsslapd-maxsimplepaged-per-conn acts according design
+
+ :Feature: Simple paged results
+
+ :Setup: Standalone instance, test user for binding,
+ 20 users for the search base
+
+ :Steps: 1. Set nsslapd-maxsimplepaged-per-conn in cn=config
+ to the next values: no value, -1, some positive
+ 2. Search through the added users with a simple paged control
+ using page size = 4
+
+ :Assert: If no value or value = -1 - all users should be found,
+ default behaviour;
+ If the value is positive, the value is the max simple paged
+ results requests per connection.
+ """
+
+ users_list = add_users(topology, 20, DEFAULT_SUFFIX)
+ search_flt = r'(uid=test*)'
+ searchreq_attrlist = ['dn', 'sn']
+ page_size = 4
+ if conf_attr_value:
+ max_per_con_bck = change_conf_attr(topology, DN_CONFIG,
+ 'nsslapd-maxsimplepaged-per-conn',
+ conf_attr_value)
+
+ try:
+ log.info('Set user bind')
+ topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
+
+ log.info('Create simple paged results control instance')
+ req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
+
+ all_results = paged_search(topology, DEFAULT_SUFFIX, [req_ctrl],
+ search_flt, searchreq_attrlist)
+
+ log.info('{} results'.format(len(all_results)))
+ assert len(all_results) == len(users_list)
+ finally:
+ log.info('Remove added users')
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+ del_users(topology, users_list)
+ if conf_attr_value:
+ change_conf_attr(topology, DN_CONFIG,
+ 'nsslapd-maxsimplepaged-per-conn', max_per_con_bck)
+
+
+(a)pytest.mark.parametrize('conf_attr_value', ('0', '1'))
+def test_maxsimplepaged_per_conn_failure(topology, test_user, conf_attr_value):
+ """Verify that nsslapd-maxsimplepaged-per-conn acts according design
+
+ :Feature: Simple paged results
+
+ :Setup: Standalone instance, test user for binding,
+ 20 users for the search base
+
+ :Steps: 1. Set nsslapd-maxsimplepaged-per-conn = 0 in cn=config
+ 2. Search through the added users with a simple paged control
+ using page size = 4
+ 3. Set nsslapd-maxsimplepaged-per-conn = 1 in cn=config
+ 4. Search through the added users with a simple paged control
+ using page size = 4 two times, but don't close the connections
+
+ :Assert: During the searches UNWILLING_TO_PERFORM should be throwned
+ """
+
+ users_list = add_users(topology, 20, DEFAULT_SUFFIX)
+ search_flt = r'(uid=test*)'
+ searchreq_attrlist = ['dn', 'sn']
+ page_size = 4
+ max_per_con_bck = change_conf_attr(topology, DN_CONFIG,
+ 'nsslapd-maxsimplepaged-per-conn',
+ conf_attr_value)
+
+ try:
+ log.info('Set user bind')
+ topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PWD)
+
+ log.info('Create simple paged results control instance')
+ req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
+
+ with pytest.raises(ldap.UNWILLING_TO_PERFORM):
+ msgid = topology.standalone.search_ext(DEFAULT_SUFFIX,
+ ldap.SCOPE_SUBTREE,
+ search_flt,
+ searchreq_attrlist,
+ serverctrls=[req_ctrl])
+ rtype, rdata, rmsgid, rctrls = topology.standalone.result3(msgid)
+
+ # If nsslapd-maxsimplepaged-per-conn = 1,
+ # it should pass this point, but failed on the next search
+ assert conf_attr_value == '1'
+ msgid = topology.standalone.search_ext(DEFAULT_SUFFIX,
+ ldap.SCOPE_SUBTREE,
+ search_flt,
+ searchreq_attrlist,
+ serverctrls=[req_ctrl])
+ rtype, rdata, rmsgid, rctrls = topology.standalone.result3(msgid)
+ finally:
+ log.info('Remove added users')
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+ del_users(topology, users_list)
+ change_conf_attr(topology, DN_CONFIG,
+ 'nsslapd-maxsimplepaged-per-conn', max_per_con_bck)
+
+
if __name__ == '__main__':
# Run isolated
# -s for DEBUG mode
diff --git a/dirsrvtests/tests/tickets/ticket48191_test.py b/dirsrvtests/tests/tickets/ticket48191_test.py
deleted file mode 100644
index 000975a..0000000
--- a/dirsrvtests/tests/tickets/ticket48191_test.py
+++ /dev/null
@@ -1,323 +0,0 @@
-# --- BEGIN COPYRIGHT BLOCK ---
-# Copyright (C) 2015 Red Hat, Inc.
-# All rights reserved.
-#
-# License: GPL (version 3 or any later version).
-# See LICENSE for details.
-# --- END COPYRIGHT BLOCK ---
-#
-import os
-import sys
-import time
-import ldap
-import logging
-import pytest
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
-from lib389._constants import *
-from lib389.properties import *
-from lib389.tasks import *
-from ldap.controls import SimplePagedResultsControl
-from ldap.controls.simple import GetEffectiveRightsControl
-
-log = logging.getLogger(__name__)
-
-installation_prefix = None
-
-CONFIG_DN = 'cn=config'
-MYSUFFIX = 'o=ticket48191.org '
-MYSUFFIXBE = 'ticket48191'
-
-_MYLDIF = 'ticket48191.ldif'
-
-SEARCHFILTER = '(objectclass=*)'
-
-
-class TopologyStandalone(object):
- def __init__(self, standalone):
- standalone.open()
- self.standalone = standalone
-
-
-(a)pytest.fixture(scope="module")
-def topology(request):
- '''
- This fixture is used to standalone topology for the 'module'.
- '''
- global installation_prefix
-
- if installation_prefix:
- args_instance[SER_DEPLOYED_DIR] = installation_prefix
-
- standalone = DirSrv(verbose=False)
-
- # Args for the standalone instance
- args_instance[SER_HOST] = HOST_STANDALONE
- args_instance[SER_PORT] = PORT_STANDALONE
- args_instance[SER_SERVERID_PROP] = SERVERID_STANDALONE
- args_standalone = args_instance.copy()
- standalone.allocate(args_standalone)
-
- # Get the status of the instance and restart it if it exists
- instance_standalone = standalone.exists()
-
- # Remove the instance
- if instance_standalone:
- standalone.delete()
-
- # Create the instance
- standalone.create()
-
- # Used to retrieve configuration information (dbdir, confdir...)
- standalone.open()
-
- # clear the tmp directory
- standalone.clearTmpDir(__file__)
-
- # Here we have standalone instance up and running
- return TopologyStandalone(standalone)
-
-
-def test_ticket48191_setup(topology):
- """
- Import 20 entries
- Set nsslapd-maxsimplepaged-per-conn in cn=config
- If the val is negative, no limit.
- If the value is 0, the simple paged results is disabled.
- If the value is positive, the value is the max simple paged results requests per connection.
- The setting has to be dynamic.
- """
- log.info('Testing Ticket 48191 - Config parameter nsslapd-maxsimplepaged-per-conn')
-
- # bind as directory manager
- topology.standalone.log.info("Bind as %s" % DN_DM)
- topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- topology.standalone.log.info("\n\n######################### SETUP SUFFIX o=ticket48191.org ######################\n")
-
- topology.standalone.backend.create(MYSUFFIX, {BACKEND_NAME: MYSUFFIXBE})
- topology.standalone.mappingtree.create(MYSUFFIX, bename=MYSUFFIXBE)
-
- topology.standalone.log.info("\n\n######################### Generate Test data ######################\n")
-
- # get tmp dir
- mytmp = topology.standalone.getDir(__file__, TMP_DIR)
- if mytmp is None:
- mytmp = "/tmp"
-
- MYLDIF = '%s%s' % (mytmp, _MYLDIF)
- os.system('ls %s' % MYLDIF)
- os.system('rm -f %s' % MYLDIF)
- if hasattr(topology.standalone, 'prefix'):
- prefix = topology.standalone.prefix
- else:
- prefix = None
- dbgen_prog = prefix + '/bin/dbgen.pl'
- topology.standalone.log.info('dbgen_prog: %s' % dbgen_prog)
- os.system('%s -s %s -o %s -n 14' % (dbgen_prog, MYSUFFIX, MYLDIF))
- cmdline = 'egrep dn: %s | wc -l' % MYLDIF
- p = os.popen(cmdline, "r")
- dnnumstr = p.readline()
- global dnnum
- dnnum = int(dnnumstr)
- topology.standalone.log.info("We have %d entries.\n", dnnum)
-
- topology.standalone.log.info("\n\n######################### Import Test data ######################\n")
-
- args = {TASK_WAIT: True}
- importTask = Tasks(topology.standalone)
- importTask.importLDIF(MYSUFFIX, MYSUFFIXBE, MYLDIF, args)
-
- topology.standalone.log.info("\n\n######################### SEARCH ALL ######################\n")
- topology.standalone.log.info("Bind as %s and add the READ/SEARCH SELFDN aci" % DN_DM)
- topology.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- global entries
- entries = topology.standalone.search_s(MYSUFFIX, ldap.SCOPE_SUBTREE, SEARCHFILTER)
- topology.standalone.log.info("Returned %d entries.\n", len(entries))
-
- #print entries
-
- assert dnnum == len(entries)
-
- topology.standalone.log.info('%d entries are successfully imported.' % dnnum)
-
-
-def test_ticket48191_run_0(topology):
- topology.standalone.log.info("\n\n######################### SEARCH WITH SIMPLE PAGED RESULTS CONTROL (no nsslapd-maxsimplepaged-per-conn) ######################\n")
-
- page_size = 4
- spr_req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
-
- known_ldap_resp_ctrls = {
- SimplePagedResultsControl.controlType: SimplePagedResultsControl,
- }
-
- topology.standalone.log.info("Calling search_ext...")
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- ['cn'],
- serverctrls=[spr_req_ctrl])
- pageddncnt = 0
- pages = 0
- while True:
- pages += 1
-
- topology.standalone.log.info("Getting page %d" % pages)
- rtype, rdata, rmsgid, responcectrls = topology.standalone.result3(msgid, resp_ctrl_classes=known_ldap_resp_ctrls)
- topology.standalone.log.info("%d results" % len(rdata))
- pageddncnt += len(rdata)
-
- topology.standalone.log.info("Results:")
- for dn, attrs in rdata:
- topology.standalone.log.info("dn: %s" % dn)
-
- pctrls = [
- c for c in responcectrls if c.controlType == SimplePagedResultsControl.controlType
- ]
- if not pctrls:
- topology.standalone.log.info('Warning: Server ignores RFC 2696 control.')
- break
-
- if pctrls[0].cookie:
- spr_req_ctrl.cookie = pctrls[0].cookie
- topology.standalone.log.info("cookie: %s" % spr_req_ctrl.cookie)
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- ['cn'],
- serverctrls=[spr_req_ctrl])
- else:
- topology.standalone.log.info("No cookie")
- break
-
- topology.standalone.log.info("Paged result search returned %d entries in %d pages.\n", pageddncnt, pages)
-
- global dnnum
- global entries
- assert dnnum == len(entries)
- assert pages == (dnnum / page_size)
-
-
-def test_ticket48191_run_1(topology):
- topology.standalone.log.info("\n\n######################### SEARCH WITH SIMPLE PAGED RESULTS CONTROL (nsslapd-maxsimplepaged-per-conn: 0) ######################\n")
-
- topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-maxsimplepaged-per-conn', '0')])
-
- page_size = 4
- spr_req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
-
- known_ldap_resp_ctrls = {
- SimplePagedResultsControl.controlType: SimplePagedResultsControl,
- }
-
- topology.standalone.log.info("Calling search_ext...")
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- ['cn'],
- serverctrls=[spr_req_ctrl])
-
- topology.standalone.log.fatal('Unexpected success')
- try:
- rtype, rdata, rmsgid, responcectrls = topology.standalone.result3(msgid, resp_ctrl_classes=known_ldap_resp_ctrls)
- except ldap.UNWILLING_TO_PERFORM as e:
- topology.standalone.log.info('Returned the expected RC UNWILLING_TO_PERFORM')
- return
- except ldap.LDAPError as e:
- topology.standalone.log.fatal('Unexpected error: ' + e.message['desc'])
- assert False
- topology.standalone.log.info("Type %d" % rtype)
- topology.standalone.log.info("%d results" % len(rdata))
- assert False
-
-
-def test_ticket48191_run_2(topology):
- topology.standalone.log.info("\n\n######################### SEARCH WITH SIMPLE PAGED RESULTS CONTROL (nsslapd-maxsimplepaged-per-conn: 1000) ######################\n")
-
- topology.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE, 'nsslapd-maxsimplepaged-per-conn', '1000')])
-
- page_size = 4
- spr_req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
-
- known_ldap_resp_ctrls = {
- SimplePagedResultsControl.controlType: SimplePagedResultsControl,
- }
-
- topology.standalone.log.info("Calling search_ext...")
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- ['cn'],
- serverctrls=[spr_req_ctrl])
- pageddncnt = 0
- pages = 0
- while True:
- pages += 1
-
- topology.standalone.log.info("Getting page %d" % pages)
- rtype, rdata, rmsgid, responcectrls = topology.standalone.result3(msgid, resp_ctrl_classes=known_ldap_resp_ctrls)
- topology.standalone.log.info("%d results" % len(rdata))
- pageddncnt += len(rdata)
-
- topology.standalone.log.info("Results:")
- for dn, attrs in rdata:
- topology.standalone.log.info("dn: %s" % dn)
-
- pctrls = [
- c for c in responcectrls if c.controlType == SimplePagedResultsControl.controlType
- ]
- if not pctrls:
- topology.standalone.log.info('Warning: Server ignores RFC 2696 control.')
- break
-
- if pctrls[0].cookie:
- spr_req_ctrl.cookie = pctrls[0].cookie
- topology.standalone.log.info("cookie: %s" % spr_req_ctrl.cookie)
- msgid = topology.standalone.search_ext(MYSUFFIX,
- ldap.SCOPE_SUBTREE,
- SEARCHFILTER,
- ['cn'],
- serverctrls=[spr_req_ctrl])
- else:
- topology.standalone.log.info("No cookie")
- break
-
- topology.standalone.log.info("Paged result search returned %d entries in %d pages.\n", pageddncnt, pages)
-
- global dnnum
- global entries
- assert dnnum == len(entries)
- assert pages == (dnnum / page_size)
-
- topology.standalone.log.info("ticket48191 was successfully verified.")
-
-
-def test_ticket48191_final(topology):
- topology.standalone.delete()
- log.info('Testcase PASSED')
-
-
-def run_isolated():
- '''
- run_isolated is used to run these test cases independently of a test scheduler (xunit, py.test..)
- To run isolated without py.test, you need to
- - edit this file and comment '@pytest.fixture' line before 'topology' function.
- - set the installation prefix
- - run this program
- '''
- global installation_prefix
- installation_prefix = None
-
- topo = topology(True)
- test_ticket48191_setup(topo)
- test_ticket48191_run_0(topo)
- test_ticket48191_run_1(topo)
- test_ticket48191_run_2(topo)
- test_ticket48191_final(topo)
-
-
-if __name__ == '__main__':
- run_isolated()
-
ldap/servers/slapd/pagedresults.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 73ff835f29514e33433de9f2be74f73efe6943ce
Author: Thierry Bordaz <tbordaz(a)redhat.com>
Date: Mon Jul 18 18:30:28 2016 +0200
Ticket 48928 log of page result cookie should log empty cookie with a different value than 0
Bug Description:
With the ticket https://fedorahosted.org/389/ticket/48752 , the cookie value
is logged with each page result RESULT.
When the page result is completed (no more entry to return), the returned cookie is 'pr_cookie=0'.
Else the cookie value is logged 'pr_cookie=<internal index>'. Unfortunately the index ranges [0..N].
So when the value pr_cookie=0 is logged, it is not possible to know if it is an empty cookie or a valid cookie with the value 0.
Fix Description:
Log the empty cookie with a value '-1'
https://fedorahosted.org/389/ticket/48928
Reviewed by: Noriko Hosoi, Simon Pichugin (thanks !!!!)
Platforms tested: F23
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/slapd/pagedresults.c b/ldap/servers/slapd/pagedresults.c
index 07a7b69..6fec344 100644
--- a/ldap/servers/slapd/pagedresults.c
+++ b/ldap/servers/slapd/pagedresults.c
@@ -247,7 +247,7 @@ pagedresults_set_response_control( Slapi_PBlock *pb, int iscritical,
/* begin sequence, payload, end sequence */
if (current_search_count < 0) {
- cookie = 0;
+ cookie = -1;
cookie_str = slapi_ch_strdup("");
} else {
cookie = index;
dirsrvtests/tests/suites/paged_results/paged_results_test.py | 181 +++++++++--
1 file changed, 149 insertions(+), 32 deletions(-)
New commits:
commit 7738a00e7334c191421be274bae3ada964e4279a
Author: Simon Pichugin <spichugi(a)redhat.com>
Date: Thu Jul 14 14:14:12 2016 +0200
Ticket 48752 - Add CI test
Description: Test that search with simple paged result control works
properly on two suffixes (one is parent of the other) and the logs
show right pr_cookie values.
https://fedorahosted.org/389/ticket/48752
Reviewed by: mreynolds (Thanks!)
(cherry picked from commit fc97900fc6637d888a103c69adbf303f6e78e233)
diff --git a/dirsrvtests/tests/suites/paged_results/paged_results_test.py b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
index 6fec5c7..2248fd2 100644
--- a/dirsrvtests/tests/suites/paged_results/paged_results_test.py
+++ b/dirsrvtests/tests/suites/paged_results/paged_results_test.py
@@ -12,8 +12,7 @@ import logging
import pytest
from random import sample
from ldap.controls import SimplePagedResultsControl
-from lib389 import DirSrv, Entry, tools, tasks
-from lib389.tools import DirSrvTools
+from lib389 import DirSrv, Entry
from lib389._constants import *
from lib389.properties import *
from lib389.tasks import *
@@ -24,8 +23,14 @@ logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
TEST_USER_NAME = 'simplepaged_test'
-TEST_USER_DN = 'uid=%s,%s' % (TEST_USER_NAME, DEFAULT_SUFFIX)
+TEST_USER_DN = 'uid={},{}'.format(TEST_USER_NAME, DEFAULT_SUFFIX)
TEST_USER_PWD = 'simplepaged_test'
+NEW_SUFFIX_1_NAME = 'test_parent'
+NEW_SUFFIX_1 = 'o={}'.format(NEW_SUFFIX_1_NAME)
+NEW_SUFFIX_2_NAME = 'child'
+NEW_SUFFIX_2 = 'ou={},{}'.format(NEW_SUFFIX_2_NAME, NEW_SUFFIX_1)
+NEW_BACKEND_1 = 'parent_base'
+NEW_BACKEND_2 = 'child_base'
class TopologyStandalone(object):
@@ -62,9 +67,10 @@ def topology(request):
@pytest.fixture(scope="module")
-def test_user(topology):
+def test_user(topology, request):
"""User for binding operation"""
+ log.info('Adding user {}'.format(TEST_USER_DN))
try:
topology.standalone.add_s(Entry((TEST_USER_DN, {
'objectclass': 'top person'.split(),
@@ -81,8 +87,63 @@ def test_user(topology):
e.message['desc']))
raise e
+ def fin():
+ log.info('Deleting user {}'.format(TEST_USER_DN))
+ topology.standalone.delete_s(TEST_USER_DN)
+ request.addfinalizer(fin)
+
+
+(a)pytest.fixture(scope="module")
+def new_suffixes(topology):
+ """Add two suffixes with backends, one is a parent
+ of the another
+ """
+
+ log.info('Adding suffix:{} and backend: {}'.format(NEW_SUFFIX_1, NEW_BACKEND_1))
+ topology.standalone.backend.create(NEW_SUFFIX_1,
+ {BACKEND_NAME: NEW_BACKEND_1})
+ topology.standalone.mappingtree.create(NEW_SUFFIX_1,
+ bename=NEW_BACKEND_1)
+ try:
+ topology.standalone.add_s(Entry((NEW_SUFFIX_1, {
+ 'objectclass': 'top',
+ 'objectclass': 'organization',
+ 'o': NEW_SUFFIX_1_NAME
+ })))
+ except ldap.LDAPError as e:
+ log.error('Failed to add suffix ({}): error ({})'.format(NEW_SUFFIX_1,
+ e.message['desc']))
+ raise
-def add_users(topology, users_num):
+ log.info('Adding suffix:{} and backend: {}'.format(NEW_SUFFIX_2, NEW_BACKEND_2))
+ topology.standalone.backend.create(NEW_SUFFIX_2,
+ {BACKEND_NAME: NEW_BACKEND_2})
+ topology.standalone.mappingtree.create(NEW_SUFFIX_2,
+ bename=NEW_BACKEND_2,
+ parent=NEW_SUFFIX_1)
+
+ try:
+ topology.standalone.add_s(Entry((NEW_SUFFIX_2, {
+ 'objectclass': 'top',
+ 'objectclass': 'organizationalunit',
+ 'ou': NEW_SUFFIX_2_NAME
+ })))
+ except ldap.LDAPError as e:
+ log.error('Failed to add suffix ({}): error ({})'.format(NEW_SUFFIX_2,
+ e.message['desc']))
+ raise
+
+ log.info('Adding ACI to allow our test user to search')
+ ACI_TARGET = '(targetattr != "userPassword || aci")'
+ ACI_ALLOW = '(version 3.0; acl "Enable anonymous access";allow (read, search, compare)'
+ ACI_SUBJECT = '(userdn = "ldap:///anyone");)'
+ ACI_BODY = ACI_TARGET + ACI_ALLOW + ACI_SUBJECT
+
+ mod = [(ldap.MOD_ADD, 'aci', ACI_BODY)]
+ topology.standalone.modify_s(NEW_SUFFIX_1, mod)
+
+
+def add_users(topology, users_num, suffix):
"""Add users to the default suffix
Return the list of added user DNs.
@@ -93,7 +154,7 @@ def add_users(topology, users_num):
for num in sample(range(1000), users_num):
num_ran = int(round(num))
USER_NAME = 'test%05d' % num_ran
- USER_DN = 'uid=%s,%s' % (USER_NAME, DEFAULT_SUFFIX)
+ USER_DN = 'uid=%s,%s' % (USER_NAME, suffix)
users_list.append(USER_DN)
try:
topology.standalone.add_s(Entry((USER_DN, {
@@ -154,7 +215,7 @@ def change_conf_attr(topology, suffix, attr_name, attr_value):
return attr_value_bck
-def paged_search(topology, controls, search_flt, searchreq_attrlist):
+def paged_search(topology, suffix, controls, search_flt, searchreq_attrlist):
"""Search at the DEFAULT_SUFFIX with ldap.SCOPE_SUBTREE
using Simple Paged Control(should the first item in the
list controls.
@@ -167,7 +228,7 @@ def paged_search(topology, controls, search_flt, searchreq_attrlist):
pctrls = []
all_results = []
req_ctrl = controls[0]
- msgid = topology.standalone.search_ext(DEFAULT_SUFFIX,
+ msgid = topology.standalone.search_ext(suffix,
ldap.SCOPE_SUBTREE,
search_flt,
searchreq_attrlist,
@@ -187,7 +248,7 @@ def paged_search(topology, controls, search_flt, searchreq_attrlist):
if pctrls[0].cookie:
# Copy cookie from response control to request control
req_ctrl.cookie = pctrls[0].cookie
- msgid = topology.standalone.search_ext(DEFAULT_SUFFIX,
+ msgid = topology.standalone.search_ext(suffix,
ldap.SCOPE_SUBTREE,
search_flt,
searchreq_attrlist,
@@ -219,7 +280,7 @@ def test_search_success(topology, test_user, page_size, users_num):
@Assert: All users should be found
"""
- users_list = add_users(topology, users_num)
+ users_list = add_users(topology, users_num, DEFAULT_SUFFIX)
search_flt = r'(uid=test*)'
searchreq_attrlist = ['dn', 'sn']
@@ -230,7 +291,7 @@ def test_search_success(topology, test_user, page_size, users_num):
log.info('Create simple paged results control instance')
req_ctrl = SimplePagedResultsControl(True, size=page_size, cookie='')
- all_results = paged_search(topology, [req_ctrl],
+ all_results = paged_search(topology, DEFAULT_SUFFIX, [req_ctrl],
search_flt, searchreq_attrlist)
log.info('%d results' % len(all_results))
@@ -272,7 +333,7 @@ def test_search_limits_fail(topology, test_user, page_size, users_num,
@Assert: Should fail with appropriate exception
"""
- users_list = add_users(topology, users_num)
+ users_list = add_users(topology, users_num, DEFAULT_SUFFIX)
attr_value_bck = change_conf_attr(topology, suffix, attr_name, attr_value)
conf_param_dict = {attr_name: attr_value}
search_flt = r'(uid=test*)'
@@ -362,7 +423,7 @@ def test_search_sort_success(topology, test_user):
users_num = 50
page_size = 5
- users_list = add_users(topology, users_num)
+ users_list = add_users(topology, users_num, DEFAULT_SUFFIX)
search_flt = r'(uid=test*)'
searchreq_attrlist = ['dn', 'sn']