Closed fukudayasuo closed 10 years ago
h5.coexist()の挙動を確認する以下の2つのテストが、時々失敗することがあります。
① 『sa-ios_1.9.0_dev.h5#coexist.バージョンが同じものを2重読み込みする。』 ② 『sa-ios_1.9.0_dev.h5#coexist.window.h5にhifiveと無関係なオブジェクトがすでに存在するときに、h5.jsを読み込む。 』
①では同じバージョンなのに違うバージョン合判定されて、coexistの戻り値がundefinedになっていない、 ②でも同じバージョンのものを読んでいるはずなのに少し古いバージョンになっています。
②で失敗するときは、以下のようなアサート文で失敗しています。
[FAIL]h5.coexist()の戻り値が元のh5と同じ。 Expected: "Nightly_2014-03-14_14-51-38-828"Result: "Nightly_2014-03-14_15-21-39-164"Diff: "Nightly_2014-03-14_14-51-38-828" "Nightly_2014-03-14_15-21-39-164"
①も②も、読みこむh5.jsが、想定したバージョンと違うためにテストが失敗しているようです。
いずれのテストも、h5.jsはh5.u.loadScript()で、force:true指定をし、キャッシュを使わないで読み込むように指定しています。
coexistのテストが失敗する原因は、CI環境の問題であって、ソースコード自体には問題ありませんでした。
テスト実行中にh5.jsがビルドされることがあり、タイミングによってはcoexistのテストで読み込むh5.jsがランナーが最初に読んだh5.jsとビルドバージョンが異なってしまうことが起きる、というのがテスト失敗の原因でした。
h5.coexist()の挙動を確認する以下の2つのテストが、時々失敗することがあります。
① 『sa-ios_1.9.0_dev.h5#coexist.バージョンが同じものを2重読み込みする。』 ② 『sa-ios_1.9.0_dev.h5#coexist.window.h5にhifiveと無関係なオブジェクトがすでに存在するときに、h5.jsを読み込む。 』
①では同じバージョンなのに違うバージョン合判定されて、coexistの戻り値がundefinedになっていない、 ②でも同じバージョンのものを読んでいるはずなのに少し古いバージョンになっています。
②で失敗するときは、以下のようなアサート文で失敗しています。
①も②も、読みこむh5.jsが、想定したバージョンと違うためにテストが失敗しているようです。
いずれのテストも、h5.jsはh5.u.loadScript()で、force:true指定をし、キャッシュを使わないで読み込むように指定しています。