[pypy-svn] r5444 - pypy/trunk/src/pypy/tool/test
lac at codespeak.net
lac at codespeak.net
Mon Jul 5 19:09:12 CEST 2004
Author: lac
Date: Mon Jul 5 19:09:05 2004
New Revision: 5444
Added:
pypy/trunk/src/pypy/tool/test/test_utestconvert.py
pypy/trunk/src/pypy/tool/test/test_utestconvert2.py
Log:
In the interest of 'eating your own dogfood' here are the unittests
factored out from utestconvert.py. test_utestconvert.py doesn't use
unittest, but just uses asserts. test_utestconvert2.py is the same
thing but uses unittest. By the way, you cannot get test_utestconvert.py
by running utestconvert with input utestconvert2.py. The tests
which are input to the tests, that need checking, get converted as well.
:-)
Added: pypy/trunk/src/pypy/tool/test/test_utestconvert.py
==============================================================================
--- (empty file)
+++ pypy/trunk/src/pypy/tool/test/test_utestconvert.py Mon Jul 5 19:09:05 2004
@@ -0,0 +1,389 @@
+import autopath
+from pypy.tool.utestconvert import rewrite_utest
+import unittest
+
+class Testit(unittest.TestCase):
+ def test(self):
+
+ assert rewrite_utest("badger badger badger") == (
+ "badger badger badger")
+
+ assert rewrite_utest(
+ "self.assertRaises(excClass, callableObj, *args, **kwargs)") == (
+ "raises(excClass, callableObj, *args, **kwargs)")
+
+ assert rewrite_utest("""
+ self.failUnlessRaises(TypeError, func, 42, **{'arg1': 23})
+ """) == ("""
+ raises(TypeError, func, 42, **{'arg1': 23})
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertRaises(TypeError,
+ func,
+ mushroom)
+ """
+ ) == (
+ """
+ raises(TypeError,
+ func,
+ mushroom)
+ """
+ )
+
+ assert rewrite_utest("self.fail()") == "raise AssertionError"
+
+ assert rewrite_utest("self.fail('mushroom, mushroom')") == (
+ "raise AssertionError, 'mushroom, mushroom'")
+
+ assert rewrite_utest("self.assert_(x)") == "assert x"
+
+ assert rewrite_utest("self.failUnless(func(x)) # XXX") == (
+ "assert func(x) # XXX")
+
+ assert rewrite_utest(
+ """
+ self.assert_(1 + f(y)
+ + z) # multiline, keep parentheses
+ """
+ ) == (
+ """
+ assert (1 + f(y)
+ + z) # multiline, keep parentheses
+ """
+ )
+
+ assert rewrite_utest("self.assert_(0, 'badger badger')") == (
+ "assert 0, 'badger badger'")
+
+ assert rewrite_utest("self.assert_(0, '''badger badger''')") == (
+ "assert 0, '''badger badger'''")
+
+ assert rewrite_utest(
+ r"""
+ self.assert_(0,
+ 'Meet the badger.\n')
+ """
+ ) == (
+ r"""
+ assert 0,(
+ 'Meet the badger.\n')
+ """
+ )
+
+ assert rewrite_utest(
+ r"""
+ self.failIf(0 + 0
+ + len('badger\n')
+ + 0, '''badger badger badger badger
+ mushroom mushroom
+ Snake! Ooh a snake!
+ ''') # multiline, must move the parens
+ """
+ ) == (
+ r"""
+ assert not (0 + 0
+ + len('badger\n')
+ + 0), '''badger badger badger badger
+ mushroom mushroom
+ Snake! Ooh a snake!
+ ''' # multiline, must move the parens
+ """
+ )
+
+ assert rewrite_utest("self.assertEquals(0, 0)") == (
+ "assert 0 == 0")
+
+ assert rewrite_utest(
+ r"""
+ self.assertEquals(0,
+ 'Run away from the snake.\n')
+ """
+ ) == (
+ r"""
+ assert 0 == (
+ 'Run away from the snake.\n')
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals(badger + 0
+ + mushroom
+ + snake, 0)
+ """
+ ) == (
+ """
+ assert (badger + 0
+ + mushroom
+ + snake) == 0
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertNotEquals(badger + 0
+ + mushroom
+ + snake,
+ mushroom
+ - badger)
+ """
+ ) == (
+ """
+ assert (badger + 0
+ + mushroom
+ + snake) != (
+ mushroom
+ - badger)
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ mushroom()
+ + snake(mushroom)
+ - badger())
+ """
+ ) == (
+ """
+ assert badger() == (
+ mushroom()
+ + snake(mushroom)
+ - badger())
+ """
+ )
+
+ assert rewrite_utest("self.failIfEqual(0, 0)") == (
+ "assert not 0 == 0")
+
+ assert rewrite_utest("self.failUnlessEqual(0, 0)") == (
+ "assert not 0 != 0")
+
+ assert rewrite_utest(
+ """
+ self.failUnlessEqual(mushroom()
+ + mushroom()
+ + mushroom(), '''badger badger badger
+ badger badger badger badger
+ badger badger badger badger
+ ''') # multiline, must move the parens
+ """
+ ) == (
+ """
+ assert not (mushroom()
+ + mushroom()
+ + mushroom()) != '''badger badger badger
+ badger badger badger badger
+ badger badger badger badger
+ ''' # multiline, must move the parens
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals('''snake snake snake
+ snake snake snake''', mushroom)
+ """
+ ) == (
+ """
+ assert '''snake snake snake
+ snake snake snake''' == mushroom
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ snake(), 'BAD BADGER')
+ """
+ ) == (
+ """
+ assert badger() == (
+ snake()), 'BAD BADGER'
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertNotEquals(badger(),
+ snake()+
+ snake(), 'POISONOUS MUSHROOM!\
+ Ai! I ate a POISONOUS MUSHROOM!!')
+ """
+ ) == (
+ """
+ assert badger() != (
+ snake()+
+ snake()), 'POISONOUS MUSHROOM!\
+ Ai! I ate a POISONOUS MUSHROOM!!'
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ snake(), '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+ )
+ """
+ ) == (
+ """
+ assert badger() == (
+ snake()), '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals('''BAD BADGER
+ BAD BADGER
+ BAD BADGER''', '''BAD BADGER
+ BAD BADGER
+ BAD BADGER''')
+ """
+ ) == (
+ """
+ assert '''BAD BADGER
+ BAD BADGER
+ BAD BADGER''' == '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertEquals('''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''',
+ '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''',
+ ''' FAILURE
+ FAILURE
+ FAILURE''')
+ """
+ ) == (
+ """
+ assert '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''' == (
+ '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM'''),(
+ ''' FAILURE
+ FAILURE
+ FAILURE''')
+ """
+ )
+
+
+ assert rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second, 5, 'A Snake!')
+ """
+ ) == (
+ """
+ assert round(first - second, 5) == 0, 'A Snake!'
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second, 120)
+ """
+ ) == (
+ """
+ assert round(first - second, 120) == 0
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second)
+ """
+ ) == (
+ """
+ assert round(first - second, 7) == 0
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertAlmostEqual(first, second, 5, '''A Snake!
+ Ohh A Snake! A Snake!!
+ ''')
+ """
+ ) == (
+ """
+ assert round(first - second, 5) == 0, '''A Snake!
+ Ohh A Snake! A Snake!!
+ '''
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertNotAlmostEqual(first, second, 5, 'A Snake!')
+ """
+ ) == (
+ """
+ assert round(first - second, 5) != 0, 'A Snake!'
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.failIfAlmostEqual(first, second, 5, 'A Snake!')
+ """
+ ) == (
+ """
+ assert not round(first - second, 5) == 0, 'A Snake!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
+ """
+ ),
+ """
+ self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.failUnlessAlmostEquals(first, second, 5, 'A Snake!')
+ """
+ ) == (
+ """
+ assert not round(first - second, 5) != 0, 'A Snake!'
+ """
+ )
+
+ assert rewrite_utest(
+ """
+ self.assertAlmostEquals(now do something reasonable ..()
+ oops, I am inside a comment as a ''' string, and the fname was
+ mentioned in passing, leaving us with something that isn't an
+ expression ... will this blow up?
+ """
+ ) == (
+ """
+ self.assertAlmostEquals(now do something reasonable ..()
+ oops, I am inside a comment as a ''' string, and the fname was
+ mentioned in passing, leaving us with something that isn't an
+ expression ... will this blow up?
+ """
+ )
+
+if __name__ == '__main__':
+ unittest.main()
Added: pypy/trunk/src/pypy/tool/test/test_utestconvert2.py
==============================================================================
--- (empty file)
+++ pypy/trunk/src/pypy/tool/test/test_utestconvert2.py Mon Jul 5 19:09:05 2004
@@ -0,0 +1,390 @@
+import autopath
+from pypy.tool.utestconvert import rewrite_utest
+import unittest
+
+class Testit(unittest.TestCase):
+ def test(self):
+ self.assertEquals(rewrite_utest("badger badger badger"),
+ "badger badger badger")
+
+ self.assertEquals(rewrite_utest(
+ "self.assertRaises(excClass, callableObj, *args, **kwargs)"
+ ),
+ "raises(excClass, callableObj, *args, **kwargs)"
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failUnlessRaises(TypeError, func, 42, **{'arg1': 23})
+ """
+ ),
+ """
+ raises(TypeError, func, 42, **{'arg1': 23})
+ """
+ )
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertRaises(TypeError,
+ func,
+ mushroom)
+ """
+ ),
+ """
+ raises(TypeError,
+ func,
+ mushroom)
+ """
+ )
+ self.assertEquals(rewrite_utest("self.fail()"), "raise AssertionError")
+ self.assertEquals(rewrite_utest("self.fail('mushroom, mushroom')"),
+ "raise AssertionError, 'mushroom, mushroom'")
+ self.assertEquals(rewrite_utest("self.assert_(x)"), "assert x")
+ self.assertEquals(rewrite_utest("self.failUnless(func(x)) # XXX"),
+ "assert func(x) # XXX")
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assert_(1 + f(y)
+ + z) # multiline, keep parentheses
+ """
+ ),
+ """
+ assert (1 + f(y)
+ + z) # multiline, keep parentheses
+ """
+ )
+
+ self.assertEquals(rewrite_utest("self.assert_(0, 'badger badger')"),
+ "assert 0, 'badger badger'")
+
+ self.assertEquals(rewrite_utest("self.assert_(0, '''badger badger''')"),
+ "assert 0, '''badger badger'''")
+
+ self.assertEquals(rewrite_utest(
+ r"""
+ self.assert_(0,
+ 'Meet the badger.\n')
+ """
+ ),
+ r"""
+ assert 0,(
+ 'Meet the badger.\n')
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ r"""
+ self.failIf(0 + 0
+ + len('badger\n')
+ + 0, '''badger badger badger badger
+ mushroom mushroom
+ Snake! Ooh a snake!
+ ''') # multiline, must move the parens
+ """
+ ),
+ r"""
+ assert not (0 + 0
+ + len('badger\n')
+ + 0), '''badger badger badger badger
+ mushroom mushroom
+ Snake! Ooh a snake!
+ ''' # multiline, must move the parens
+ """
+ )
+
+ self.assertEquals(rewrite_utest("self.assertEquals(0, 0)"),
+ "assert 0 == 0")
+
+ self.assertEquals(rewrite_utest(
+ r"""
+ self.assertEquals(0,
+ 'Run away from the snake.\n')
+ """
+ ),
+ r"""
+ assert 0 == (
+ 'Run away from the snake.\n')
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals(badger + 0
+ + mushroom
+ + snake, 0)
+ """
+ ),
+ """
+ assert (badger + 0
+ + mushroom
+ + snake) == 0
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertNotEquals(badger + 0
+ + mushroom
+ + snake,
+ mushroom
+ - badger)
+ """
+ ),
+ """
+ assert (badger + 0
+ + mushroom
+ + snake) != (
+ mushroom
+ - badger)
+ """
+ )
+
+ self.assertEqual(rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ mushroom()
+ + snake(mushroom)
+ - badger())
+ """
+ ),
+ """
+ assert badger() == (
+ mushroom()
+ + snake(mushroom)
+ - badger())
+ """
+ )
+ self.assertEquals(rewrite_utest("self.failIfEqual(0, 0)"),
+ "assert not 0 == 0")
+
+ self.assertEquals(rewrite_utest("self.failUnlessEqual(0, 0)"),
+ "assert not 0 != 0")
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failUnlessEqual(mushroom()
+ + mushroom()
+ + mushroom(), '''badger badger badger
+ badger badger badger badger
+ badger badger badger badger
+ ''') # multiline, must move the parens
+ """
+ ),
+ """
+ assert not (mushroom()
+ + mushroom()
+ + mushroom()) != '''badger badger badger
+ badger badger badger badger
+ badger badger badger badger
+ ''' # multiline, must move the parens
+ """
+ )
+
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals('''snake snake snake
+ snake snake snake''', mushroom)
+ """
+ ),
+ """
+ assert '''snake snake snake
+ snake snake snake''' == mushroom
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ snake(), 'BAD BADGER')
+ """
+ ),
+ """
+ assert badger() == (
+ snake()), 'BAD BADGER'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertNotEquals(badger(),
+ snake()+
+ snake(), 'POISONOUS MUSHROOM!\
+ Ai! I ate a POISONOUS MUSHROOM!!')
+ """
+ ),
+ """
+ assert badger() != (
+ snake()+
+ snake()), 'POISONOUS MUSHROOM!\
+ Ai! I ate a POISONOUS MUSHROOM!!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals(badger(),
+ snake(), '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+ )
+ """
+ ),
+ """
+ assert badger() == (
+ snake()), '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals('''BAD BADGER
+ BAD BADGER
+ BAD BADGER''', '''BAD BADGER
+ BAD BADGER
+ BAD BADGER''')
+ """
+ ),
+ """
+ assert '''BAD BADGER
+ BAD BADGER
+ BAD BADGER''' == '''BAD BADGER
+ BAD BADGER
+ BAD BADGER'''
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertEquals('''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''',
+ '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''',
+ ''' FAILURE
+ FAILURE
+ FAILURE''')
+ """
+ ),
+ """
+ assert '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM''' == (
+ '''GOOD MUSHROOM
+ GOOD MUSHROOM
+ GOOD MUSHROOM'''),(
+ ''' FAILURE
+ FAILURE
+ FAILURE''')
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second, 5, 'A Snake!')
+ """
+ ),
+ """
+ assert round(first - second, 5) == 0, 'A Snake!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second, 120)
+ """
+ ),
+ """
+ assert round(first - second, 120) == 0
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertAlmostEquals(first, second)
+ """
+ ),
+ """
+ assert round(first - second, 7) == 0
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertAlmostEqual(first, second, 5, '''A Snake!
+ Ohh A Snake! A Snake!!
+ ''')
+ """
+ ),
+ """
+ assert round(first - second, 5) == 0, '''A Snake!
+ Ohh A Snake! A Snake!!
+ '''
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertNotAlmostEqual(first, second, 5, 'A Snake!')
+ """
+ ),
+ """
+ assert round(first - second, 5) != 0, 'A Snake!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failIfAlmostEqual(first, second, 5, 'A Snake!')
+ """
+ ),
+ """
+ assert not round(first - second, 5) == 0, 'A Snake!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
+ """
+ ),
+ """
+ self.failIfAlmostEqual(first, second, 5, 6, 7, 'Too Many Args')
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.failUnlessAlmostEquals(first, second, 5, 'A Snake!')
+ """
+ ),
+ """
+ assert not round(first - second, 5) != 0, 'A Snake!'
+ """
+ )
+
+ self.assertEquals(rewrite_utest(
+ """
+ self.assertAlmostEquals(now do something reasonable ..()
+ oops, I am inside a comment as a ''' string, and the fname was
+ mentioned in passing, leaving us with something that isn't an
+ expression ... will this blow up?
+ """
+ ),
+ """
+ self.assertAlmostEquals(now do something reasonable ..()
+ oops, I am inside a comment as a ''' string, and the fname was
+ mentioned in passing, leaving us with something that isn't an
+ expression ... will this blow up?
+ """
+ )
+
+
+if __name__ == '__main__':
+ unittest.main()
+
+
More information about the Pypy-commit
mailing list