2013-04-04 6 views
0

xvfb 서버가 필요한 병렬 빌드 실행에 문제가 있습니다. 이전에 headless 루비 보석을 사용했지만 capybara-webkit과 xvfb 서버가 모두 필요한 특정 테스트 스위트가 병렬로 실행될 때 산발적 인 오류가 발생했습니다.연속 통합 - xvfb가 필요한 병렬 테스트 제품군 실행

내 생각 엔 둘 다 같은 DISPLAY를 사용하려고했기 때문에 다른 DISPLAY 값을 설정하고 병렬로 실행하려고 시도했지만 여전히 오류가있었습니다.

내가 다음 headless 보석을 제거하고 내 테스트 스위트를 실행 시도 : DISPLAY=localhost:$display_num.0 xvfb-run bundle exec rake$display_num 두 개의 테스트 스위트 사이의 차이가 미리 설정 한 bash는 변수입니다.

그런 다음 병렬로 실행했을 때 xvfb-run: error: Xvfb failed to start 오류가 표시됩니다.

해독에 대한 도움이 필요하십니까?

답변

0

Here is the gist하지만 궁극적으로 프로세스 당 하나의 headless을 시작해야합니다.

# Unnecessary on mac 
if (!OS.mac? && !$headless_started) 

    require 'headless' 
    # allow display autopick (by default) 
    # allow each headless to destroy_at_exit (by default) 
    # allow each process to have their own headless by setting reuse: false 
    headless_server = Headless.new(:reuse => false) 
    headless_server.start 

    $headless_started = true 
    puts "Process[#{Process.pid}] started headless server display: #{headless_server.display}" 
end 
:

효과적으로 요지에서 참조 features/support/javascript.rb 파일, 관련 섹션 존재로 이루어집니다