FreeEMS Issues - Loader
View Issue Details
0000729LoaderFile Loading/Savingpublic2012-10-08 16:462012-11-02 21:04
0000729: Insufficient Input Validation Done
Info: number of burns executed 7error converting ascii hiNibble: out of rangeerror converting ascii hiNibble: out of range


Line 3600 is blank!
Line 3601 is too short!
Line 3602 has odd length!
Line 3604 has invalid characters!
Line 3606 has bad checksum!
Line 3607 has count mismatch!
Line 3610 is invalid!

Total bad lines: 8
Total good lines: 3601
Total blank lines: 2

Trimmed for brevity (and to force you to develop your own tests!)

And even more concerning:

found 3606 loadable records in file
Formatting of console output is broken, see first line of desc.
No tags attached.

2012-10-08 17:19   
Can you attach the s19 you tried to load ? Event though my current code is not verbose about errors, I don’t not believe it will load a "bunk" s19 file.

"Trimmed for brevity (and to force you to develop your own tests!)" If you marked it as urgent you should have given me as much info as reasonably possible to reduce the time-to-resolution.

None the less thanks for bringing this to my attention :)
2012-10-08 17:28   
You're welcome. But you have to do your own leg-work.

If you add some verbosity to it, I can give you the output.
2012-10-08 18:06   
That's generous. Let me try to crank something out today !
2012-10-08 19:02   
I'm all heart! <3
2012-10-09 18:27   
Info: number of burns executed 7
TODO S1 records are not currently handled, skipping3601

3601 is line? change to:

Info: number of burns executed 7
TODO S1 records are not currently handled, skipping line 3601

Open file puts checksum error in the window, but not the console:

there are 1 records with bad checksums

load button says:

s19 records have not been loaded

despite open not saying it had failed. Better to pop up a window and ask to load good stuff or ditch all, so the user knows what happened.

Opening file puts this in the console, but not the window:

TODO S1 records are not currently handled, skipping3601

Connect prints this to console:

Error: there are 1 records with bad checksums

Pretty inconsistent.

Summary: you pick up S1 and bad checksum, not the other 6 or so critical issues.
2012-10-09 18:52   
The last line seems to not print until something happens in the GUI, it has been like this for some time. I'll see if I can get that fixed, as the connect button is not explicitly causing that line to print. This sheds some light onto why you said "the shady console data shakes confidence". I thought you were just speaking of the somewhat cryptic error messages, now I see! It looks as though its doing things without input.

The pop up window is a good idea. I would like to have critical errors print in red text to the info box. The pop up would definitely get their attention, I just personally don’t like pop ups for "simple" messages, but as always I'm open to suggestions.
2012-10-09 19:30   
not for a message, for a decision:

Two buttons:

Default (hit enter) = cancel
Optional, have to click = load anyway

Re flaky console shit, it should be the SAME between gui and console, and both should do the right things at the right time.
2012-10-09 20:51   
Why even attempt to work with a flaky file though ?

I can see that logic(pop up) right now, only because it wont currently load S1 records.
2012-10-09 21:39   
Sure, but if you reject it, it needs to be very obvious.
2012-11-02 20:49   
My S19 library is now 100% complete, with 82 unit tests, 1101 lines of source, 393 lines of code, 97% (383) of which are tested, 137 branches, 100% of which are tested. The 10 untested lines are convenience wrappers which are untestable, but do nothing, and can not fail.

How's your S19 code going? I believe that mine is 100% robust.
2012-11-02 20:52   
Right on, where is the download link ?

Its been a while since I have had time to work on it, slowly but surely.
2012-11-02 21:04