# File test/test_multi_process.rb, line 441
    def setup
      #@log_io = File.open('test_multi_process_server.log', 'a')
      #@log_io.sync = true
      #@log_io.puts '<start>'
      @server_open_call = 0
      @server_close_call = 0
      @document_open_call = 0
      @document_close_call = 0
      @server = Rucy::Server.new
      @server.open_hook{ |s|
        @server_open_call += 1
        s.port = SERVER_PORT
        s.mount(Rucy::PageDocument.new("<html>Hello world.</html>\n"), '/')
        s.mount(self, '/test_document_open_close')
        s.messenger_factory = Rucy::MultiProcessMessenger
        s.timeout = 0.01       # <- short timeout for test
        #logger = Rucy::Logger.new(@log_io)
        #logger.log_debug = true
        #s.add_logger(logger)
      }
      @server.close_hook{ |s|
        @server_close_call += 1
      }
      @svr_pid = fork{
        trap(:USR1) { @server.close }
        begin
          @server.accept
          assert_equal(1, @server_open_call)
          assert_equal(1, @server_close_call)
          assert_equal(1, @document_open_call)
          assert_equal(1, @document_close_call)
        rescue
          STDERR.puts "server error: #{$!}"
          for frame in $!.backtrace
            puts "server error: #{frame}"
          end
        end
        exit!
      }
      sleep(0.1)
    end