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
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
34
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
27 def testGC2(self):
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
28 sandbox = pydertron.JsSandbox(pydertron.NullFileSystem())
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
29 sandbox.set_globals()
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
30 sandbox.run_script("var a = 1;")
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
31 wrt = weakref.ref(sandbox.rt)
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
32 sandbox.finish()
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
33 del sandbox
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
34 gc.collect()
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
35 self.assertEqual(wrt(), None)
739c87de4667 added another gc test
Atul Varma <avarma@mozilla.com>
parents: 33
diff changeset
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()