【Issue#1166 動作確認】
□ テスト内容
1. /dev/fb0をprivateマップした後にforkを行い、複製が行われていること
を確認する。
CT1166T01 /dev/fb0 をオープンできる
CT1166T02 /dev/fb0 を mmap を使って仮想空間にマップできる
CT1166T03 マップした領域に書き込みできる
CT1166T04 マップした領域に書き込んだデータを読み込むことができる
CT1166T05 fork できる (指摘では、fork が失敗しなければならない)
CT1166T06 子プロセス側で親プロセスがマップした領域に書き込みできる
CT1166T07 子プロセス側で親プロセスがマップした領域に書き込んだデータを読める
CT1166T08 CT1166T06 の子プロセスの書き込みが親プロセスのマップ領域に影響
しない (親プロセスでは CT1166T03 のデータが参照されることを確認)
2. LTP を用いて既存処理に影響しないことを確認
ユーザメモリ領域複製処理を変更したため、fork のテストを選定した。
C1166T09 fork01 が PASS すること
C1166T10 fork02 が PASS すること
C1166T11 fork03 が PASS すること
C1166T12 fork04 が PASS すること
C1166T13 fork07 が PASS すること
C1166T14 fork08 が PASS すること
C1166T15 fork09 が PASS すること
C1166T16 fork10 が PASS すること
C1166T17 fork11 が PASS すること
□ 実行手順
$ make test
□ 実行結果
CT1166.txt 参照。
全ての項目が OK となっていることを確認。
□ 注意
1. テストを実行するユーザは /dev/fb0 に書き込み可能であること。
即ち、video グループに属すか、特権ユーザである必要がある。
2. wallabyのビデオデバイス(MATROX G200系)など、幾つかのデバイスは mmap に対応
していないため、CT1166T02 で NG になる。これは Linux も同様である。
このため、Linux で OK となる環境で実行すること。
例えば VMWare 環境では実行可能である。