Skip to content

Commit 4daba1b

Browse files
committed
BUG: Revert declare-then-init where it changes copy/move semantics
Fix three cases where merging declaration and assignment changed the operation being tested: - itkImageRegionConstIteratorWithOnlyIndexTest.cxx: index captured before GoToBegin() read past-the-end position instead of begin - itkRangeGTestUtilities.h: copy/move-assign tests now exercise constructors instead of assignment operators - itkImageIteratorTest.cxx: assignment operator test invoked copy constructor instead Found by Greptile code review (1 P1, 2 P2).
1 parent 0456324 commit 4daba1b

3 files changed

Lines changed: 7 additions & 4 deletions

File tree

Modules/Core/Common/test/itkImageIteratorTest.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ itkImageIteratorTest(int, char *[])
9797
const VectorImageIterator itr3(itr1);
9898

9999
// Exercise assignment operator
100-
const VectorImageIterator itr4 = itr1;
100+
VectorImageIterator itr4;
101+
itr4 = itr1;
101102

102103
// Exercise operator!=
103104
if (itr4 != itr1)

Modules/Core/Common/test/itkImageRegionConstIteratorWithOnlyIndexTest.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ class itkImageRegionConstIteratorWithOnlyIndexTestIteratorTester
122122
}
123123

124124
// Test iterating fwd by line
125-
IndexType index = it.GetIndex();
126125
it.GoToBegin();
126+
IndexType index = it.GetIndex();
127127
for (unsigned int i = 0; i < region.GetSize()[0]; ++i)
128128
{
129129
++it;

Modules/Core/Common/test/itkRangeGTestUtilities.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ class RangeGTestUtilities
8282
static void
8383
ExpectCopyAssignedRangeHasSameIteratorsAsOriginal(const TRange & originalRange)
8484
{
85-
TRange copyAssignedRange = originalRange;
85+
TRange copyAssignedRange;
86+
copyAssignedRange = originalRange;
8687

8788
ExpectRangesHaveEqualBeginAndEnd(copyAssignedRange, originalRange);
8889
}
@@ -105,7 +106,8 @@ class RangeGTestUtilities
105106
{
106107
const TRange originalRangeBeforeMove = originalRange;
107108

108-
TRange moveAssignedRange = std::move(originalRange);
109+
TRange moveAssignedRange;
110+
moveAssignedRange = std::move(originalRange);
109111

110112
ExpectRangesHaveEqualBeginAndEnd(moveAssignedRange, originalRangeBeforeMove);
111113
}

0 commit comments

Comments
 (0)