Tests: close the .hkl before removing it; floor the GPU model-scale B tolerance
The SHELX .hkl test removed its file while its own ifstream still held it open, which Windows refuses. The GPU-vs-gemmi model-scale check held b_star to 1e-4 of its largest element alone, which on an F4132 case fitted at B 0.6 A^2 failed on a 1e-4 A^2 difference; it now also allows 0.001 A^2 of B. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5K8jvPPbmCrbqnWkddTuB
This commit is contained in:
@@ -200,10 +200,13 @@ TEST_CASE("SHELX .hkl of unmerged fulls: fixed 3I4,2F8.2, scaled to fit, 0 0 0 t
|
||||
const auto path = (std::filesystem::temp_directory_path() / "jfjoch_scaled_fulls_test.hkl").string();
|
||||
WriteShelxHklReflections(fulls, path, 2);
|
||||
|
||||
std::ifstream in(path);
|
||||
std::vector<std::string> lines;
|
||||
for (std::string line; std::getline(in, line);)
|
||||
lines.push_back(line);
|
||||
{
|
||||
// Closed before the remove: Windows refuses to delete a file that is still open.
|
||||
std::ifstream in(path);
|
||||
for (std::string line; std::getline(in, line);)
|
||||
lines.push_back(line);
|
||||
}
|
||||
std::filesystem::remove(path);
|
||||
|
||||
REQUIRE(lines.size() == 4);
|
||||
|
||||
Reference in New Issue
Block a user