2016-03-24 151 views
1

我有一個project,它使用travis-ci自動測試任何我推送給github的東西。在travis-ci上運行WebGL着色器

該項目的核心部分是通過webgl在GPU上進行計算。但是,當我在travis-ci上運行測試時,所有webgl位都會失敗。特別地,下面的函數將計算爲假:

function checkWebGL() { 
    if (WebGLRenderingContext === undefined) return false; 
    var canvas = document.createElement('canvas'); 
    var context = canvas.getContext('webgl') || 
       canvas.getContext('experimental-webgl'); 
    return context instanceof WebGLRenderingContext; 
} 

基本上該函數返回假手段webgl的支持不存在。如果沒有webgl支持,我無法運行許多項目的測試。這使得意外破壞構建變得容易。所以我在這裏問這個問題。

是否web-gl是Travis-ci的預期限制,還是僅僅是我的配置錯誤?

這裏的the project's .travis.yml file

sudo: false 
language: node_js 
node_js: 5.1 
install: npm install 
before_script: 
    - export DISPLAY=:99.0 
    - sh -e /etc/init.d/xvfb start 
script: npm run test-firefox 
addons: 
    firefox: "latest" 

(實際測試是with Karma我不會去的JavaScript是如何建立和自舉,因爲它是不相關的血淋淋的細節。)

+0

ISTR Travis支持OGL,但不確定WGL。 –

回答

1

gl部分應該使用headless-gl,它在所有不同的環境中工作得很好

+0

這看起來很有前途......但是當我運行'npm install gl'時,我得到一個錯誤,這個錯誤相當於「我不在windows上工作,除非你安裝了X/Y/Z」。從現在開始,我不會因爲那種'I-snuck-a-manual-dependency-into-your-automatic-dependency-manager'廢話而給我造成五年的負擔。 –