TEST: Read H5OINA out-of-core batch-tail fixture is not a valid raster grid

オープン 初心者向け
#1,912 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
84/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cpp
領域
testing

調査の方向性

ReadH5OinaDataTest.cpp、特に1308–1354行と同ファイル内の他の.OocStoreContractケースを読み、それらのフィクスチャのX/Y位置を各ヘッダーのラスター寸法およびステップと比較してください。バッチ末尾のフィクスチャを、最後のタプルの特殊値を保持したまま、完全な65537 × 1グリッドを表すように更新してください。out-of-coreビルドでOrientationAnalysisOocStoreContractsを実行し、テストが成功することを確認してください。

索引モデルが issue の本文から書いたものです。

説明

Summary

An out-of-core test fixture for Read Oxford Instruments Data (.h5oina) does not describe a valid raster grid, so the test fails with EbsdLib 3.1.3. This test is not in #1908 because the filter has a V&V report.

Location

ReadH5OinaDataTest.cpp#L1308-L1354, test case "genuine HDF5 batch-tail and slab oracle" (tag [.OocStoreContract]).

Problem

The fixture describes a 65537 x 1 grid, but it writes the same X value (0.5) and Y value (0.25) for every point except the last one:

    scan.x.assign(k_ScanTuples, scanIdx == 0 ? 0.5F : 1.5F);
    scan.y.assign(k_ScanTuples, scanIdx == 0 ? 0.25F : 1.25F);

EbsdLib 3.1.3 now builds the scan order from the X/Y positions (BuildScanGridOrderFromPositions, used since #1812). It checks that the positions cover the grid in the header. So execute fails:

ReadH5OinaDataTest.cpp:1354: FAILED: simplnxCheckedResult.valid() ... '-8970 : Attempting to read scan '1' from file '.../read_h5oina_vv_ooc_batch_tail.h5oina' produced an error from the 'H5OINAReader' class.
  Error Code: -101105
  Message: H5OINAReader Error: The 'X'/'Y' datasets of scan '1' do not describe a complete 65537 x 1 raster grid: the X/Y positions span 1 x 1 cells (X 0.5 to 0.75 step 1, Y 0.25 to 0.5 step 1) but the header describes a 65537 x 1 grid.'

Reproduced on macOS with the DREAM3D-NX preset NX-OOC-Qt69-Vtk96-Rel, test OrientationAnalysisOocStoreContracts, run serially.

Why CI does not see it

The test case is hidden and runs only in the out-of-core contracts target. PR #1905 registers that target again in DREAM3D-NX out-of-core builds. After #1905 merges, this test will fail there.

Suggested fix

Write real raster positions in the fixture: x[i] = x0 + i * xStep and y[i] = y0 for a 65537 x 1 grid, with the header step equal to xStep. Keep the special values of the last tuple for the batch-tail check, but not a special position. Check that the other .OocStoreContract cases in this file also use real raster positions. Run OrientationAnalysisOocStoreContracts in an out-of-core build.

Found during review of branch topic/correct_feature_am_updates.

主要言語
C++
スター
18
フォーク
15
平均マージ
3日 35分
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

BlueQuartzSoftware/simplnx のほかの issue

BlueQuartzSoftware/simplnx の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。