Example #1
0
    def test_basic(self):
        try:
            # start mysql server
            mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
            self.assertIsNotNone(mysqld)
            self.assertEqual(mysqld.dsn(),
                             dict(unix_socket=mysqld.base_dir + '/tmp/mysql.sock',
                                  user='******',
                                  db='test'))

            # connect to mysql (w/ pymysql)
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertRegexpMatches(mysqld.read_bootlog(), 'ready for connections')

            # connect to mysql (w/ sqlalchemy)
            engine = sqlalchemy.create_engine(mysqld.url())
            self.assertIsNotNone(engine)

            # shutting down
            pid = mysqld.server_pid
            self.assertTrue(os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertTrue(mysqld.is_alive())
        finally:
            mysqld.stop()
            sleep(1)

            self.assertFalse(os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertFalse(mysqld.is_alive())
            with self.assertRaises(OSError):
                os.kill(pid, 0)  # process is down
    def test_basic(self):
        try:
            # start mysql server
            mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
            self.assertIsNotNone(mysqld)
            self.assertEqual(
                mysqld.dsn(),
                dict(unix_socket=mysqld.base_dir + '/tmp/mysql.sock',
                     user='******',
                     db='test'))

            # connect to mysql (w/ pymysql)
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertRegexpMatches(mysqld.read_bootlog(),
                                     'ready for connections')

            # connect to mysql (w/ sqlalchemy)
            engine = sqlalchemy.create_engine(mysqld.url())
            self.assertIsNotNone(engine)

            # shutting down
            pid = mysqld.server_pid
            self.assertTrue(os.path.exists(mysqld.base_dir +
                                           '/tmp/mysql.sock'))
            self.assertTrue(mysqld.is_alive())
        finally:
            mysqld.stop()
            sleep(1)

            self.assertFalse(
                os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertFalse(mysqld.is_alive())
            with self.assertRaises(OSError):
                os.kill(pid, 0)  # process is down
Example #3
0
    def test_with_mysql(self):
        with testing.mysqld.Mysqld(my_cnf={'skip-networking': None}) as mysqld:
            self.assertIsNotNone(mysqld)

            # connect to mysql
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertTrue(mysqld.is_alive())

        self.assertFalse(mysqld.is_alive())
    def test_with_mysql(self):
        with testing.mysqld.Mysqld(my_cnf={'skip-networking': None}) as mysqld:
            self.assertIsNotNone(mysqld)

            # connect to mysql
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertTrue(mysqld.is_alive())

        self.assertFalse(mysqld.is_alive())
Example #5
0
    def test_stop(self):
        # start mysql server
        mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
        self.assertTrue(os.path.exists(mysqld.base_dir))
        self.assertTrue(mysqld.is_alive())

        # call stop()
        mysqld.stop()
        self.assertFalse(os.path.exists(mysqld.base_dir))
        self.assertFalse(mysqld.is_alive())

        # call stop() again
        mysqld.stop()
        self.assertFalse(os.path.exists(mysqld.base_dir))
        self.assertFalse(mysqld.is_alive())

        # delete mysqld object after stop()
        del mysqld
    def test_stop(self):
        # start mysql server
        mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
        self.assertTrue(os.path.exists(mysqld.base_dir))
        self.assertTrue(mysqld.is_alive())

        # call stop()
        mysqld.stop()
        self.assertFalse(os.path.exists(mysqld.base_dir))
        self.assertFalse(mysqld.is_alive())

        # call stop() again
        mysqld.stop()
        self.assertFalse(os.path.exists(mysqld.base_dir))
        self.assertFalse(mysqld.is_alive())

        # delete mysqld object after stop()
        del mysqld
Example #7
0
 def test_stop_on_child_process(self):
     mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
     if os.fork() == 0:
         mysqld.stop()
         os.kill(mysqld.server_pid, 0)  # process is alive (calling stop() is ignored)
         os.kill(os.getpid(), signal.SIGTERM)  # exit tests FORCELY
     else:
         os.wait()
         sleep(1)
         self.assertTrue(mysqld.is_alive())  # process is alive (calling stop() in child is ignored)
Example #8
0
 def test_fork(self):
     mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
     if os.fork() == 0:
         del mysqld
         mysqld = None
         os.kill(os.getpid(), signal.SIGTERM)  # exit tests FORCELY
     else:
         os.wait()
         sleep(1)
         self.assertTrue(mysqld.is_alive())  # process is alive (delete mysqld obj in child does not effect)
 def test_fork(self):
     mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
     if os.fork() == 0:
         del mysqld
         mysqld = None
         os.kill(os.getpid(), signal.SIGTERM)  # exit tests FORCELY
     else:
         os.wait()
         sleep(1)
         self.assertTrue(mysqld.is_alive(
         ))  # process is alive (delete mysqld obj in child does not effect)
Example #10
0
 def test_stop_on_child_process(self):
     mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
     if os.fork() == 0:
         mysqld.stop()
         os.kill(mysqld.server_pid,
                 0)  # process is alive (calling stop() is ignored)
         os.kill(os.getpid(), signal.SIGTERM)  # exit tests FORCELY
     else:
         os.wait()
         sleep(1)
         self.assertTrue(mysqld.is_alive(
         ))  # process is alive (calling stop() in child is ignored)