2016-03-24 33 views
1

私はにtravis-ciを使ってgithubにプッシュするものを自動テストします。travis-ciでWebGLシェーダを実行する

プロジェクトの中核部分は、webglを使用してGPUで計算しています。しかし、travis-ciでテストを実行すると、すべてのwebglビットが失敗します。具体的には、次の関数がfalseと評価されます:

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サポートがなければ、私はプロジェクトのテストの多くを実行することができません。これにより、誤ってビルドを破ることが容易になります。だから私はここでそれについて尋ねています。

no-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をやっている私はそれが関連していないですので、ジャバスクリプトを構築し、ブートストラップされる方法の血みどろの詳細には触れません。)。

+0

ISTR TravisはOGLをサポートしていますが、WGLについてはわかりません。 –

答えて

1

gl部分はheadless-glを使用して、すべての異なる環境でうまく動作しているはずです

+0

これは有望そうですが、 'npm install gl'を実行すると、X/Y/Zがインストールされていない限り、「私はウィンドウ上で動作しません」というエラーが表示されます。私は、このような「私のsnuck-a-manual-dependency-you-aut-dependency manager」ナンセンスで5年後から私に負担をかけません。 –

関連する問題