diff options
Diffstat (limited to 'cpp/test/Ice/logger/run.py')
-rwxr-xr-x | cpp/test/Ice/logger/run.py | 43 |
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") |