File: test397.py

package info (click to toggle)
jython 2.7.3%2Brepack1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 62,820 kB
  • sloc: python: 641,384; java: 306,981; xml: 2,066; sh: 514; ansic: 126; makefile: 77
file content (41 lines) | stat: -rw-r--r-- 894 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'''
Checks that files are closed in three situations:
1. Garbage collection/finalization close
2. Regular close
3. Shutdown time, close out open PyFiles
'''

import os
import support

from java.io import File
from java.lang import System, Thread

def check(fn='test.txt'):
    f = File(fn)
    if not f.exists():
        raise support.TestError('"%s" should exist' % fn)
    if not f.length():
        raise support.TestError('"%s" should have contents' % fn)
    os.remove(fn)


open("garbagecollected", "w").write("test")

#Wait up to 2 seconds for garbage collected to disappear
System.gc()
for i in range(10):
    if not os.path.exists('garbagecollected'):
        break
    Thread.sleep(200)

check("garbagecollected")

f = open("normalclose", "w")
f.write("test")
f.close()
check("normalclose")

#test397m writes to "shutdown" and exits
support.runJython('test397m.py')
check('shutdown')