Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: third_party/cython/src/pyximport/test/test_pyximport.py

Issue 385073004: Adding cython v0.20.2 in third-party. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reference cython dev list thread. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 import pyximport; pyximport.install(reload_support=True)
2 import os, sys
3 import time, shutil
4 import tempfile
5
6 def make_tempdir():
7 tempdir = os.path.join(tempfile.gettempdir(), "pyrex_temp")
8 if os.path.exists(tempdir):
9 remove_tempdir(tempdir)
10
11 os.mkdir(tempdir)
12 return tempdir
13
14 def remove_tempdir(tempdir):
15 shutil.rmtree(tempdir, 0, on_remove_file_error)
16
17 def on_remove_file_error(func, path, excinfo):
18 print "Sorry! Could not remove a temp file:", path
19 print "Extra information."
20 print func, excinfo
21 print "You may want to delete this yourself when you get a chance."
22
23 def test():
24 pyximport._test_files = []
25 tempdir = make_tempdir()
26 sys.path.append(tempdir)
27 filename = os.path.join(tempdir, "dummy.pyx")
28 open(filename, "w").write("print 'Hello world from the Pyrex install hook'")
29 import dummy
30 reload(dummy)
31
32 depend_filename = os.path.join(tempdir, "dummy.pyxdep")
33 depend_file = open(depend_filename, "w")
34 depend_file.write("*.txt\nfoo.bar")
35 depend_file.close()
36
37 build_filename = os.path.join(tempdir, "dummy.pyxbld")
38 build_file = open(build_filename, "w")
39 build_file.write("""
40 from distutils.extension import Extension
41 def make_ext(name, filename):
42 return Extension(name=name, sources=[filename])
43 """)
44 build_file.close()
45
46 open(os.path.join(tempdir, "foo.bar"), "w").write(" ")
47 open(os.path.join(tempdir, "1.txt"), "w").write(" ")
48 open(os.path.join(tempdir, "abc.txt"), "w").write(" ")
49 reload(dummy)
50 assert len(pyximport._test_files)==1, pyximport._test_files
51 reload(dummy)
52
53 time.sleep(1) # sleep a second to get safer mtimes
54 open(os.path.join(tempdir, "abc.txt"), "w").write(" ")
55 print "Here goes the reolad"
56 reload(dummy)
57 assert len(pyximport._test_files) == 1, pyximport._test_files
58
59 reload(dummy)
60 assert len(pyximport._test_files) ==0, pyximport._test_files
61 remove_tempdir(tempdir)
62
63 if __name__=="__main__":
64 test()
65
OLDNEW
« no previous file with comments | « third_party/cython/src/pyximport/pyximport.py ('k') | third_party/cython/src/pyximport/test/test_reload.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698