コード例 #1
0
    def test_server_invalid_option(self):
        """An invalid/unknown option fails."""

        print(FCN_FMT % function_name())

        argv = str_to_argv('%s --Xlog=log.log --log_append=False --port=5555' %
                           LOG_SERVER_NAME)
        with self.assertRaises(SystemExit) as err:
            log_server.process_cmd_line(argv[1:])
        self.assertEqual(err.exception.code, 1)
コード例 #2
0
    def test_server_invalid_port(self):
        """Pass various values of invalid ports"""

        print(FCN_FMT % function_name())

        # Non-numeric port number
        argv = str_to_argv('%s --port=%s' % (LOG_SERVER_NAME, 'abc'))
        with self.assertRaises(SystemExit) as err:
            log_server.process_cmd_line(argv)
        self.assertEqual(err.exception.code, 1)
コード例 #3
0
    def test_server_log_append(self):
        """Test both spellings of log-append as an option"""

        print(FCN_FMT % function_name())

        argv = str_to_argv('%s --log-append=true')
        params = log_server.process_cmd_line(argv)
        self.assertEqual(True, params['log_append'])

        argv = str_to_argv('%s --log_append=true')
        params = log_server.process_cmd_line(argv)
        self.assertEqual(True, params['log_append'])
コード例 #4
0
    def test_server_open_log_file(self):
        """Test opening the log file.
        First, use the cmd line to create valid params.
        Second, call the open log function.
        Pass both invalid and valid moves and log names.
        """
        print(FCN_FMT % function_name())

        # Cannot write to root directory, /
        argv = str_to_argv('%s --log=/' % LOG_SERVER_NAME)
        with self.assertRaises(SystemExit) as err:
            params = log_server.process_cmd_line(argv)
            log_server.open_log_file_for_writing(params)
        self.assertEqual(err.exception.code, 1)

        # Cannot write to file as permission denied
        argv = str_to_argv('%s --log=/var/log/messages' % LOG_SERVER_NAME)
        with self.assertRaises(SystemExit) as err:
            params = log_server.process_cmd_line(argv)
            log_server.open_log_file_for_writing(params)
        self.assertEqual(err.exception.code, 1)

        # Can write to file in /tmp
        filename = '/tmp/ABCDEF'
        argv = str_to_argv('%s --log=%s --log-append=true' %
                           (LOG_SERVER_NAME, filename))
        params = log_server.process_cmd_line(argv)
        log_file_handle = log_server.open_log_file_for_writing(params)
        self.assertEqual(log_file_handle.name, filename)
        self.assertEqual(params['log_append'], True)

        # Can write to file in /tmp and insist on append mode.
        filename = '/tmp/ABCDEF'
        argv = str_to_argv('%s --log=%s --log_append=false' %
                           (LOG_SERVER_NAME, filename))
        params = log_server.process_cmd_line(argv)
        log_file_handle = log_server.open_log_file_for_writing(params)
        self.assertEqual(log_file_handle.name, filename)
        self.assertEqual(params['log_append'], False)

        # Can write to file in /tmp and insist on append mode.
        # Any non 'true' string results in false append.
        filename = '/tmp/ABCDEF'
        argv = str_to_argv('%s --log=%s --log_append=FooBar' %
                           (LOG_SERVER_NAME, filename))
        params = log_server.process_cmd_line(argv)
        log_file_handle = log_server.open_log_file_for_writing(params)
        self.assertEqual(log_file_handle.name, filename)
        self.assertEqual(params['log_append'], False)
コード例 #5
0
 def test_server_all_params_changed(self):
     """Test that all changed params get picked up"""
     print(FCN_FMT % function_name())
     filename = '/tmp/ABCDEF'
     argv = str_to_argv('%s --log=%s --log_append=blah --port=12345' %
                        (LOG_SERVER_NAME, filename))
     params = log_server.process_cmd_line(argv)
     log_file_handle = log_server.open_log_file_for_writing(params)
     self.assertEqual(log_file_handle.name, filename)
     self.assertEqual(params['log_append'], False)
     self.assertEqual(params['port'], 12345)