Mercurial > pydertron
annotate test_pydertron.py @ 34:739c87de4667
added another gc test
| author | Atul Varma <avarma@mozilla.com> |
|---|---|
| date | Mon, 10 May 2010 20:57:23 -0700 |
| parents | 056025f2c8ae |
| children | 6ddc83bb61f8 |
| rev | line source |
|---|---|
|
31
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
1 import unittest |
| 33 | 2 import weakref |
| 3 import gc | |
|
31
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
4 from StringIO import StringIO |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
5 |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
6 import pydertron |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
7 |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
8 class PydertronTests(unittest.TestCase): |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
9 def testNullFilesystem(self): |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
10 stderr = StringIO() |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
11 sandbox = pydertron.JsSandbox(pydertron.NullFileSystem()) |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
12 sandbox.set_globals() |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
13 sandbox.run_script("require('hi');", stderr=stderr) |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
14 self.assertEqual(stderr.getvalue(), |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
15 'Traceback (most recent call last):\n' |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
16 ' File "<string>", line 1, in <module>\n' |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
17 'Module not found: hi\n') |
|
32
e3fcfa2bf3bc
Added sandbox.finish() to end of test.
Atul Varma <avarma@mozilla.com>
parents:
31
diff
changeset
|
18 sandbox.finish() |
|
31
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
19 |
| 33 | 20 def testGC(self): |
| 21 sandbox = pydertron.JsSandbox(pydertron.NullFileSystem()) | |
| 22 wrt = weakref.ref(sandbox.rt) | |
| 23 del sandbox | |
| 24 gc.collect() | |
| 25 self.assertEqual(wrt(), None) | |
| 26 | |
| 34 | 27 def testGC2(self): |
| 28 sandbox = pydertron.JsSandbox(pydertron.NullFileSystem()) | |
| 29 sandbox.set_globals() | |
| 30 sandbox.run_script("var a = 1;") | |
| 31 wrt = weakref.ref(sandbox.rt) | |
| 32 sandbox.finish() | |
| 33 del sandbox | |
| 34 gc.collect() | |
| 35 self.assertEqual(wrt(), None) | |
| 36 | |
|
31
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
37 if __name__ == '__main__': |
|
3897ed8a350d
Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff
changeset
|
38 unittest.main() |
