summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/logger/run.py
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/logger/run.py')
-rwxr-xr-xcpp/test/Ice/logger/run.py43
1 files changed, 35 insertions, 8 deletions
diff --git a/cpp/test/Ice/logger/run.py b/cpp/test/Ice/logger/run.py
index 1b645a5a5d2..0cc58ebc4ab 100755
--- a/cpp/test/Ice/logger/run.py
+++ b/cpp/test/Ice/logger/run.py
@@ -58,20 +58,36 @@ sys.stdout.write("testing logger file rotation... ")
def cleanup():
for f in glob.glob("client5-*.log"):
os.remove(f)
+ if os.path.exists("log/client5-4.log"):
+ os.remove("log/client5-4.log")
cleanup()
atexit.register(cleanup)
-def client5():
- p = subprocess.Popen(os.path.join(os.getcwd(), "client5"), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
- out, err = p.communicate()
- ret = p.poll()
- if ret != 0:
- print("failed! status %s " % ret)
- sys.exit(1)
-client5()
+if not os.path.exists("log"):
+ os.makedirs("log")
+
+open("log/client5-4.log", 'a').close()
+
+if TestUtil.isWin32():
+ os.system("echo Y|cacls log /P %USERNAME%:R")
+else:
+ os.system("chmod -w log")
+
+
+p = subprocess.Popen(os.path.join(os.getcwd(), "client5"), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env)
+out, err = p.communicate()
+ret = p.poll()
+if ret != 0:
+ print("failed! status %s " % ret)
+ sys.exit(1)
+
+if TestUtil.isWin32():
+ os.system("echo Y|cacls log /P %USERNAME%:F")
+else:
+ os.system("chmod +w log")
if (not os.path.isfile("client5-0.log") or
not os.stat("client5-0.log").st_size == 512 or
@@ -112,4 +128,15 @@ for f in glob.glob("client5-3-*.log"):
print("failed! file {0} size: {1} unexpected".format(f, os.stat(f).st_size))
sys.exit(1)
+if (not os.path.isfile("log/client5-4.log") or
+ os.stat("log/client5-4.log").st_size < 1024 or
+ len(glob.glob("log/client5-4-*.log")) > 0):
+ print("failed!")
+ sys.exit(1)
+
+with open("log/client5-4.log", 'r') as f:
+ if f.read().count("error: FileLogger: cannot rename log/client5-4.log") != 1:
+ print("failed!")
+ sys.exit(1)
+
print("ok")