Skip to content

Commit b01b1f2

Browse files
author
d.kovalenko
committed
[FIX] Reader must be saving ColOffset instead ColNum in a model
ColNum == ColOffset + 1
1 parent 487f273 commit b01b1f2

File tree

5 files changed

+31
-25
lines changed

5 files changed

+31
-25
lines changed

src/core/read_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ def GetColNum(self) -> int:
5656
assert self.m_ColNum >= 0
5757
return self.m_ColNum
5858

59+
# --------------------------------------------------------------------
60+
def GetColOffset(self) -> int:
61+
assert type(self.m_ColNum) == int
62+
assert self.m_ColNum > 0
63+
return self.m_ColNum - 1
64+
5965
# --------------------------------------------------------------------
6066
def StepBack(self):
6167
assert type(self.m_Next) == int

src/implementation/v00/configuration_base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3335,7 +3335,7 @@ def Helper__ProcessLineData(
33353335

33363336
if len(fileLine) == 0 and ReadUtils.IsValidSeqCh1(ch):
33373337
# Read sequence
3338-
sequenceOffset = lineReader.GetColNum()
3338+
sequenceOffset = lineReader.GetColOffset()
33393339
sequence = ch
33403340

33413341
while ch := lineReader.ReadSymbol():
@@ -3377,9 +3377,9 @@ def Helper__ProcessLineData__Comment(
33773377
assert type(lineReader) == ReadUtils__LineReader
33783378

33793379
commentText = ""
3380-
commentOffset = lineReader.GetColNum()
3381-
ch: str
3380+
commentOffset = lineReader.GetColOffset()
33823381

3382+
ch: str
33833383
while ch := lineReader.ReadSymbol():
33843384
if ReadUtils.IsEOL(ch):
33853385
break
@@ -3396,7 +3396,7 @@ def Helper__ProcessLineData__Include(
33963396
assert type(fileLine) == PostgresConfigurationFileLine_Base
33973397
assert type(lineReader) == ReadUtils__LineReader
33983398
assert type(includeOffset) == int
3399-
assert includeOffset > 0
3399+
assert includeOffset >= 0
34003400

34013401
# find first quote
34023402
while True:

tests/implementation/v00/configuration_std/Objects/PostgresConfigurationReader_Base/LoadConfigurationFile/test_set001__common.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,27 +129,27 @@ def test_001__comment_and_options(self, request: pytest.FixtureRequest):
129129
fileDataLines[0].m_Items[0].m_Element.m_Text
130130
== "It is a test configuration file"
131131
)
132-
assert fileDataLines[0].m_Items[0].m_Element.m_Offset == 1
132+
assert fileDataLines[0].m_Items[0].m_Element.m_Offset == 0
133133

134134
# LINE 1
135135
assert type(fileDataLines[1].m_Items[0].m_Element) == PgCfgModel__OptionData
136136
assert fileDataLines[1].m_Items[0].m_Element.m_Name == "port"
137137
assert fileDataLines[1].m_Items[0].m_Element.m_Value == 123
138-
assert fileDataLines[1].m_Items[0].m_Element.m_Offset == 1
138+
assert fileDataLines[1].m_Items[0].m_Element.m_Offset == 0
139139

140140
assert type(fileDataLines[1].m_Items[1].m_Element) == PgCfgModel__CommentData
141141
assert fileDataLines[1].m_Items[1].m_Element.m_Text == "It is a port"
142-
assert fileDataLines[1].m_Items[1].m_Element.m_Offset == 10
142+
assert fileDataLines[1].m_Items[1].m_Element.m_Offset == 9
143143

144144
# LINE 3
145145
assert type(fileDataLines[3].m_Items[0].m_Element) == PgCfgModel__OptionData
146146
assert fileDataLines[3].m_Items[0].m_Element.m_Name == "listen_addresses"
147147
assert fileDataLines[3].m_Items[0].m_Element.m_Value == "*"
148-
assert fileDataLines[3].m_Items[0].m_Element.m_Offset == 1
148+
assert fileDataLines[3].m_Items[0].m_Element.m_Offset == 0
149149

150150
assert type(fileDataLines[3].m_Items[1].m_Element) == PgCfgModel__CommentData
151151
assert fileDataLines[3].m_Items[1].m_Element.m_Text == "addresses"
152-
assert fileDataLines[3].m_Items[1].m_Element.m_Offset == 22
152+
assert fileDataLines[3].m_Items[1].m_Element.m_Offset == 21
153153

154154
# --------------------------------------------------------------------
155155
def test_002__two_files(self, request: pytest.FixtureRequest):

tests/implementation/v00/configuration_std/Objects/PostgresConfigurationReader_Base/LoadFileDataContent/test_set001__common.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def test_101__comment(self, request: pytest.FixtureRequest):
9797
fileLineData0 = file1.m_FileData.m_Lines[0]
9898
assert len(fileLineData0.m_Items) == 1
9999
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__CommentData
100-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 2
100+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
101101
assert fileLineData0.m_Items[0].m_Element.m_Text == " comment "
102102

103103
# --------------------------------------------------------------------
@@ -121,13 +121,13 @@ def test_102__two_comments(self, request: pytest.FixtureRequest):
121121
fileLineData0 = file1.m_FileData.m_Lines[0]
122122
assert len(fileLineData0.m_Items) == 1
123123
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__CommentData
124-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
124+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
125125
assert fileLineData0.m_Items[0].m_Element.m_Text == "comment1"
126126

127127
fileLineData1 = file1.m_FileData.m_Lines[1]
128128
assert len(fileLineData1.m_Items) == 1
129129
assert type(fileLineData1.m_Items[0].m_Element) == PgCfgModel__CommentData
130-
assert fileLineData1.m_Items[0].m_Element.m_Offset == 5
130+
assert fileLineData1.m_Items[0].m_Element.m_Offset == 4
131131
assert fileLineData1.m_Items[0].m_Element.m_Text == "comment2"
132132

133133
# --------------------------------------------------------------------
@@ -174,7 +174,7 @@ def test_201__option(self, request: pytest.FixtureRequest, data201__assign: str)
174174
fileLineData0 = file1.m_FileData.m_Lines[0]
175175
assert len(fileLineData0.m_Items) == 1
176176
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
177-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
177+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
178178
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
179179
assert fileLineData0.m_Items[0].m_Element.m_Value == 123
180180

@@ -199,7 +199,7 @@ def test_202__option(self, request: pytest.FixtureRequest):
199199
fileLineData0 = file1.m_FileData.m_Lines[0]
200200
assert len(fileLineData0.m_Items) == 1
201201
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
202-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
202+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
203203
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
204204
assert fileLineData0.m_Items[0].m_Element.m_Value == 234
205205

@@ -224,7 +224,7 @@ def test_203__option__without_assign(self, request: pytest.FixtureRequest):
224224
fileLineData0 = file1.m_FileData.m_Lines[0]
225225
assert len(fileLineData0.m_Items) == 1
226226
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
227-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
227+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
228228
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
229229
assert fileLineData0.m_Items[0].m_Element.m_Value == 234
230230

@@ -297,12 +297,12 @@ def test_211__option_with_comment(self, request: pytest.FixtureRequest):
297297
fileLineData0 = file1.m_FileData.m_Lines[0]
298298
assert len(fileLineData0.m_Items) == 2
299299
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
300-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
300+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
301301
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
302302
assert fileLineData0.m_Items[0].m_Element.m_Value == 123
303303

304304
assert type(fileLineData0.m_Items[1].m_Element) == PgCfgModel__CommentData
305-
assert fileLineData0.m_Items[1].m_Element.m_Offset == 10
305+
assert fileLineData0.m_Items[1].m_Element.m_Offset == 9
306306
assert fileLineData0.m_Items[1].m_Element.m_Text == "comment"
307307

308308
# --------------------------------------------------------------------
@@ -326,12 +326,12 @@ def test_212__option_with_comment_immediate(self, request: pytest.FixtureRequest
326326
fileLineData0 = file1.m_FileData.m_Lines[0]
327327
assert len(fileLineData0.m_Items) == 2
328328
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
329-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
329+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
330330
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
331331
assert fileLineData0.m_Items[0].m_Element.m_Value == 123
332332

333333
assert type(fileLineData0.m_Items[1].m_Element) == PgCfgModel__CommentData
334-
assert fileLineData0.m_Items[1].m_Element.m_Offset == 9
334+
assert fileLineData0.m_Items[1].m_Element.m_Offset == 8
335335
assert fileLineData0.m_Items[1].m_Element.m_Text == "comment "
336336

337337
# --------------------------------------------------------------------
@@ -355,7 +355,7 @@ def test_301__optionQ(self, request: pytest.FixtureRequest):
355355
fileLineData0 = file1.m_FileData.m_Lines[0]
356356
assert len(fileLineData0.m_Items) == 1
357357
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
358-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
358+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
359359
assert fileLineData0.m_Items[0].m_Element.m_Name == "port"
360360
assert fileLineData0.m_Items[0].m_Element.m_Value == 123
361361

@@ -383,7 +383,7 @@ def test_302__optionQ__empty(
383383
fileLineData0 = file1.m_FileData.m_Lines[0]
384384
assert len(fileLineData0.m_Items) == 1
385385
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
386-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
386+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
387387
assert fileLineData0.m_Items[0].m_Element.m_Name == "listen_addresses"
388388
assert fileLineData0.m_Items[0].m_Element.m_Value == ""
389389

@@ -408,7 +408,7 @@ def test_303__optionQ__two_quote(self, request: pytest.FixtureRequest):
408408
fileLineData0 = file1.m_FileData.m_Lines[0]
409409
assert len(fileLineData0.m_Items) == 1
410410
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
411-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
411+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
412412
assert fileLineData0.m_Items[0].m_Element.m_Name == "listen_addresses"
413413
assert fileLineData0.m_Items[0].m_Element.m_Value == "'"
414414

@@ -459,7 +459,7 @@ def test_304__optionQ__escape(
459459
fileLineData0 = file1.m_FileData.m_Lines[0]
460460
assert len(fileLineData0.m_Items) == 1
461461
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__OptionData
462-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
462+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
463463
assert fileLineData0.m_Items[0].m_Element.m_Name == "listen_addresses"
464464
assert fileLineData0.m_Items[0].m_Element.m_Value == endData304[2]
465465

@@ -585,7 +585,7 @@ def test_401__include(self, request: pytest.FixtureRequest):
585585
fileLineData0 = file1.m_FileData.m_Lines[0]
586586
assert len(fileLineData0.m_Items) == 1
587587
assert type(fileLineData0.m_Items[0].m_Element) == PgCfgModel__IncludeData
588-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
588+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
589589
assert fileLineData0.m_Items[0].m_Element.m_Path == "a.conf"
590590

591591
file_A = cfg.get_AllFiles().GetFileByName("a.conf")

tests/implementation/v00/configuration_std/Options/STD/generic/bool_option/test_set001__common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ def test_101__parse_file_line(self, optionName: str):
379379
type(fileLineData0.m_Items[0].m_Element)
380380
== PgCfgModel__OptionData
381381
)
382-
assert fileLineData0.m_Items[0].m_Element.m_Offset == 1
382+
assert fileLineData0.m_Items[0].m_Element.m_Offset == 0
383383
assert fileLineData0.m_Items[0].m_Element.m_Name == optionName
384384
assert (
385385
fileLineData0.m_Items[0].m_Element.m_Value

0 commit comments

Comments
 (0)