The Importance of an Error Message

 I decided to start off 2024 with some conversion testing while no one else was "in the office".  I work remotely but with most everyone relaxing on January 1st, I knew I would have the conversion server to myself.

I decided to work on a time-consuming (but not difficult) testing task.  I have 16 pre-defined load scenarios.  Most generate one or more errors.  A few are actually meant to be successful data loads.

First up, an empty file (no headers, no data).  Expected an error but I didn't think it was supposed to be this one:  System Error - Unable to open FILEOUT file

 Maybe I remembered the error message incorrectly so I tried sample 2 - a file with just the headers and no data to load.  :(  Same error.

Well, time to go digging and figure out what it going on.  FILEOUT is used by the loads and the reports.  All of the application reports have been tested so FILEOUT exists.  Maybe it's a permissions issue?

Off to the world of unix to check and compare permissions.  Looks good.

Let's try loading it piece by piece and see what happens.  Took more than an hour and I was able to recreate all the pieces to load the file from my laptop to the web server and then pass it on to the data server.  So I foolishly decided to try using the application web page to try loading...  Same error but the file I left in FILEOUT (which should have been overwritten) is now gone.  Recreate the load and try processing test with Postman.  Same mysteriously disappearing file item. Say what?  

Do the manual load again and this time, follow the process all the way through; i.e. run the load processor on the data server in a terminal session.

Except there isn't a wrapper test program to call the load subroutine.  So pause to whip up a quick wrapper test program.  And run it.  My loaded data item in FILEOUT disappears but it sent a bug email with the same infuriating error.  Open the actual load source and look for where that error is generated.  ARGH!  

Do you see it?

Same error text for 2 different error conditions.  And all this time checking permissions on FILEOUT; I missed that this is a multipart file and the DATALOAD  portion where backup copies are stored was missing.  On the other hand, I did get a refresher course in unix commands.

A quick fix of the error message. Creation of the DATALOAD part.  Test the first file again!  SUCCESS!  The expected error message: Upload processing failed with the following errors (then details of the header or data that was missing/incorrect).  HOORAY.

Cranked through all 16 scenarios with nary a problem.   


One more testing story complete.  Only 18 more to start and finish.  And 5 from the Report testing phase that need a few last scenario tests run.

The pressure is on to finish up by mid-January.  We might finally get the application converted from Intersystems Caché to Intersystems IRIS before the Spring season.

Comments

Popular posts from this blog

Day 4 of 2024

The rabbit hole of my birthday