annotate test_pydertron.py @ 33:056025f2c8ae

Added GC test
author Atul Varma <avarma@mozilla.com>
date Mon, 10 May 2010 20:55:42 -0700
parents e3fcfa2bf3bc
children 739c87de4667
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
3897ed8a350d Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
1 import unittest
33
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
2 import weakref
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
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
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
20 def testGC(self):
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
21 sandbox = pydertron.JsSandbox(pydertron.NullFileSystem())
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
22 wrt = weakref.ref(sandbox.rt)
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
23 del sandbox
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
24 gc.collect()
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
25 self.assertEqual(wrt(), None)
056025f2c8ae Added GC test
Atul Varma <avarma@mozilla.com>
parents: 32
diff changeset
26
31
3897ed8a350d Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
27 if __name__ == '__main__':
3897ed8a350d Added NullFileSystem and test for it.
Atul Varma <avarma@mozilla.com>
parents:
diff changeset
28 unittest.main()