Ejemplo n.º 1
0
    def test_start_cmd(self):
        # Fails on win - see https://bugs.webkit.org/show_bug.cgi?id=84726
        if sys.platform in ('cygwin', 'win32'):
            return

        host = MockHost()
        test_port = test.TestPort(host)
        host.filesystem.write_text_file(
            "/mock-checkout/Tools/Scripts/webkitpy/layout_tests/servers/lighttpd.conf",
            "Mock Config\n")
        host.filesystem.write_text_file("/usr/lib/lighttpd/liblightcomp.dylib",
                                        "Mock dylib")

        server = Lighttpd(test_port,
                          "/mock/output_dir",
                          additional_dirs={
                              "/mock/one-additional-dir":
                              "/mock-checkout/one-additional-dir",
                              "/mock/another-additional-dir":
                              "/mock-checkout/one-additional-dir"
                          })
        self.assertRaises(ServerError, server.start)

        config_file = host.filesystem.read_text_file(
            "/mock/output_dir/lighttpd.conf")
        self.assertEqual(re.findall(r"alias.url.+", config_file), [
            'alias.url = ( "/js-test-resources" => "/test.checkout/LayoutTests/resources" )',
            'alias.url += ( "/mock/one-additional-dir" => "/mock-checkout/one-additional-dir" )',
            'alias.url += ( "/mock/another-additional-dir" => "/mock-checkout/one-additional-dir" )',
            'alias.url += ( "/media-resources" => "/test.checkout/LayoutTests/media" )',
        ])
Ejemplo n.º 2
0
    def test_start_cmd(self):
        host = MockHost()
        test_port = test.TestPort(host)
        host.filesystem.write_text_file(
            "/mock-checkout/Tools/Scripts/webkitpy/layout_tests/servers/lighttpd.conf",
            "Mock Config\n")
        host.filesystem.write_text_file("/usr/lib/lighttpd/liblightcomp.dylib",
                                        "Mock dylib")

        server = Lighttpd(test_port,
                          "/mock/output_dir",
                          additional_dirs={
                              "/mock/one-additional-dir":
                              "/mock-checkout/one-additional-dir",
                              "/mock/another-additional-dir":
                              "/mock-checkout/one-additional-dir"
                          })
        self.assertRaises(ServerError, server.start)

        config_file = host.filesystem.read_text_file(
            "/mock/output_dir/lighttpd.conf")
        self.assertEquals(re.findall(r"alias.url.+", config_file), [
            'alias.url = ( "/js-test-resources" => "/test.checkout/LayoutTests/fast/js/resources" )',
            'alias.url += ( "/mock/one-additional-dir" => "/mock-checkout/one-additional-dir" )',
            'alias.url += ( "/mock/another-additional-dir" => "/mock-checkout/one-additional-dir" )',
            'alias.url += ( "/media-resources" => "/test.checkout/LayoutTests/media" )',
        ])
    def test_win32_start_and_stop(self):
        host = MockHost()
        test_port = test.TestPort(host)
        host.filesystem.write_text_file(
            "/mock-checkout/Tools/Scripts/webkitpy/layout_tests/servers/lighttpd.conf",
            "Mock Config\n")
        host.filesystem.write_text_file("/usr/lib/lighttpd/liblightcomp.dylib",
                                        "Mock dylib")
        host.filesystem.write_text_file(
            "/mock-checkout/Tools/Scripts/webkitpy/layout_tests/servers/aliases.json",
            '[["/js-test-resources", "resources"], ["/media-resources", "media"], ["/test/test.file", "resources/testfile"]]'
        )

        host.platform.is_win = lambda: True
        host.platform.is_cygwin = lambda: False

        server = Lighttpd(test_port,
                          "/mock/output_dir",
                          additional_dirs={
                              "/mock/one-additional-dir":
                              "/mock-checkout/one-additional-dir",
                              "/mock/another-additional-dir":
                              "/mock-checkout/one-additional-dir"
                          })
        server._check_that_all_ports_are_available = lambda: True
        server._is_server_running_on_all_ports = lambda: True

        server.start()
        self.assertNotEquals(host.executive.calls, [])

        def wait_for_action(action):
            if action():
                return True
            return action()

        def mock_returns(return_values):
            def return_value_thunk(*args, **kwargs):
                return return_values.pop(0)

            return return_value_thunk

        host.executive.check_running_pid = mock_returns([True, False])
        server._wait_for_action = wait_for_action

        server.stop()
        self.assertEqual(['taskkill.exe', '/f', '/t', '/pid', 42],
                         host.executive.calls[1])
    def test_win32_start_and_stop(self):
        host = MockHost()
        test_port = test.TestPort(host)
        host.filesystem.write_text_file(
            "/mock-checkout/Tools/Scripts/webkitpy/layout_tests/servers/lighttpd.conf", "Mock Config\n")
        host.filesystem.write_text_file(
            "/usr/lib/lighttpd/liblightcomp.dylib", "Mock dylib")

        host.platform.is_win = lambda: True
        host.platform.is_cygwin = lambda: False

        server = Lighttpd(test_port, "/mock/output_dir",
                          additional_dirs={
                              "/mock/one-additional-dir": "/mock-checkout/one-additional-dir",
                              "/mock/another-additional-dir": "/mock-checkout/one-additional-dir"})
        server._check_that_all_ports_are_available = lambda: True
        server._is_server_running_on_all_ports = lambda: True

        server.start()
        self.assertNotEquals(host.executive.calls, [])

        def wait_for_action(action):
            if action():
                return True
            return action()

        def mock_returns(return_values):
            def return_value_thunk(*args, **kwargs):
                return return_values.pop(0)
            return return_value_thunk

        host.executive.check_running_pid = mock_returns([True, False])
        server._wait_for_action = wait_for_action

        server.stop()
        self.assertEqual(['taskkill.exe', '/f', '/t', '/pid', 42], host.executive.calls[1])