#!/usr/bin/env python import sys import unittest # Most of our tests depend on IOLoop, which is not importable on app engine. # Run the tests that work, and check that forbidden imports don't sneak # in to modules that are supposed to work on app engine. TEST_MODULES = [ 'tornado.httputil.doctests', #'tornado.iostream.doctests', 'tornado.util.doctests', #'tornado.test.auth_test', #'tornado.test.curl_httpclient_test', 'tornado.test.escape_test', #'tornado.test.gen_test', #'tornado.test.httpclient_test', #'tornado.test.httpserver_test', 'tornado.test.httputil_test', #'tornado.test.import_test', #'tornado.test.ioloop_test', #'tornado.test.iostream_test', #'tornado.test.process_test', #'tornado.test.simple_httpclient_test', #'tornado.test.stack_context_test', 'tornado.test.template_test', #'tornado.test.testing_test', #'tornado.test.twisted_test', #'tornado.test.web_test', #'tornado.test.wsgi_test', ] def import_everything(): # import tornado.auth # import tornado.autoreload # import tornado.curl_httpclient # depends on pycurl # import tornado.database # depends on MySQLdb import tornado.escape # import tornado.httpclient # import tornado.httpserver import tornado.httputil # import tornado.ioloop # import tornado.iostream import tornado.locale import tornado.options # import tornado.netutil # import tornado.platform.twisted # depends on twisted # import tornado.process # import tornado.simple_httpclient import tornado.stack_context import tornado.template import tornado.testing import tornado.util import tornado.web # import tornado.websocket import tornado.wsgi def all(): return unittest.defaultTestLoader.loadTestsFromNames(TEST_MODULES) def main(): print "Content-Type: text/plain\r\n\r\n", import_everything() try: unittest.main(defaultTest="all", argv=sys.argv) except SystemExit, e: if e.code == 0: print "PASS" else: raise if __name__ == '__main__': main()