* * * * *
I can't believe I didn't think of that—clarification
Over on MeLinkedInstaMyFaceInGramSpaceBookWe, my friend Brian commented
“Cool! (Whatever it was exactly you did!!!)” about my work issue [1].
Rereading that post, I think I can clarify a bit what I did. But first, a
disclaimer: I'm not revealing any personal information here as all the data
for the regression test is randomly generated. Names, numbers, it's all
generated data.
So I ran the test and the output from that is a file that looks like (feature
names changed to protect me):
-----[ data ]-----
ERR CNAM feature8 failed: wanted "VINCENZA GALJOUR" got ""
testcase =
{
id = "3.0037",
orig =
{
number = "2012013877",
person =
{
business = "-",
first = "VINCENZA",
name = "VINCENZA GALJOUR",
last = "GALJOUR",
},
feature9 = false,
cnam = true,
extcnam = false,
feature4 = true,
feature10 = false,
feature7 = false,
feature8 = true,
},
term =
{
feature10 = true,
feature1 = false,
feature2 = false,
feature3 = false,
feature4 = true,
feature5 = false,
feature6 = false,
number = "6012013877",
feature7 = false,
feature8 = false,
},
}
ERR CNAM feature8 failed: wanted "TERINA SCHUPP" got ""
testcase =
{
id = "3.0039",
orig =
{
number = "2012013879",
person =
{
business = "-",
first = "TERINA",
name = "TERINA SCHUPP",
last = "SCHUPP",
},
feature9 = false,
cnam = true,
extcnam = false,
feature4 = true,
feature10 = false,
feature7 = false,
feature8 = true,
},
term =
{
feature10 = true,
feature1 = false,
feature2 = false,
feature3 = false,
feature4 = true,
feature5 = false,
feature6 = false,
number = "6012013879",
feature7 = false,
feature8 = false,
},
}
-----[ END OF LINE ]-----
Since the regression test is written in Lua [2], I found it easy to just dump
the structure holding the test data to the file, given I already have have a
function to do so [3]. I also print out what failed just before the data for
that particular test case. The code that prints the structure outputs valid
Lua code. All I changed was adding an array declaration around the output,
turned the error message into a comment, and changed testcase to a valid
array index:
-----[ Lua ]-----
testcase = {
-- ERR CNAM feature8 failed: wanted "VINCENZA GALJOUR" got ""
[1] =
{
id = "3.0037",
orig =
{
number = "2012013877",
person =
{
business = "-",
first = "VINCENZA",
name = "VINCENZA GALJOUR",
last = "GALJOUR",
},
feature9 = false,
cnam = true,
extcnam = false,
feature4 = true,
feature10 = false,
feature7 = false,
feature8 = true,
},
term =
{
feature10 = true,
feature1 = false,
feature2 = false,
feature3 = false,
feature4 = true,
feature5 = false,
feature6 = false,
number = "6012013877",
feature7 = false,
feature8 = false,
},
}
-- ERR CNAM feature8 failed: wanted "TERINA SCHUPP" got ""
[2] =
{
id = "3.0039",
orig =
{
number = "2012013879",
person =
{
business = "-",
first = "TERINA",
name = "TERINA SCHUPP",
last = "SCHUPP",
},
feature9 = false,
cnam = true,
extcnam = false,
feature4 = true,
feature10 = false,
feature7 = false,
feature8 = true,
},
term =
{
feature10 = true,
feature1 = false,
feature2 = false,
feature3 = false,
feature4 = true,
feature5 = false,
feature6 = false,
number = "6012013879",
feature7 = false,
feature8 = false,
},
}
}
-----[ END OF LINE ]-----
That way, I can verify my hypothesis with some simple Lua code:
-----[ Lua ]-----
dofile "errorlog.txt"
for _,result in ipairs(testcase) do
if not (result.feature10 and (result.feature8 or result.feature4)) then
print("hypothesis failed")
end
end
-----[ END OF LINE ]-----
[1]
gopher://gopher.conman.org/0Phlog:2020/07/29.1
[2]
https://www.lua.org/
[3]
https://github.com/spc476/lua-conmanorg/blob/0993e149dfd42934b6dad2784abe7e3eb12b2219/lua/table.lua#L132
Email author at
[email protected]