def main(): global USE_FAKE_STUB global xos_grpc_client # Command-line argument of -R will cause this test to use a real grpc server # rather than the fake stub. if "-R" in sys.argv: USE_FAKE_STUB = False sys.argv.remove("-R") # Note: will leave lots of litter (users, sites, etc) behind in the database if USE_FAKE_STUB: unittest.main() else: # This assumes xos-client python library is installed, and a gRPC server # is available. from xosapi import xos_grpc_client print("Using xos-client library and core server") def test_callback(): try: sys.argv = sys.argv[:1] # unittest does not like xos_grpc_client's command line # arguments (TODO: find a cooperative approach) unittest.main() except SystemExit as e: global exitStatus exitStatus = e.code xos_grpc_client.start_api_parseargs(test_callback) sys.exit(exitStatus)
if USE_FAKE_STUB: sys.path.append("..") import xosapi.orm from fake_stub import FakeStub, FakeSymDb, FakeObj print "Using Fake Stub" unittest.main() else: # This assumes xos-client python library is installed, and a gRPC server # is available. from twisted.internet import reactor from xosapi import xos_grpc_client print "Using xos-client library and core server" def test_callback(): try: sys.argv = sys.argv[: 1] # unittest does not like xos_grpc_client's command line arguments (TODO: find a cooperative approach) unittest.main() except exceptions.SystemExit, e: global exitStatus exitStatus = e.code xos_grpc_client.start_api_parseargs(test_callback) sys.exit(exitStatus)