From that I wondered about GitHub, which of course included version control and but one of the disadvantages of BASIC having line numbers is that if you make a change that requires the program to be renumbered then large sections will appear to change as far as line-oriented version tracking is concerned when what has actually happened is lines have been inserted or deleted earlier in the program.
So then I started thinking that maybe I should try to work without the line numbers and check-in a file that starts with "AUTO" to get BASIC to assign the line numbers. The snag with that is that I have some test cases where the correct behaviour is to raise an error so I have some ON ERROR constructs to trap and silence the expected error and, at the same time, report the failure to cause an error trap as this is a test fail. Here's an example:
Code: Select all
200REM Now test if the filing system will let us open the file for 210REM reading while it is already open for writing. 220ON ERROR GOTO 270 230G%=OPENINF$ 240PRINT "fail: allowed file open for read while already open for write" 250R$="Failed" 260CLOSE#G% 270ON ERROR OFF 280CLOSE#F%
And, if anyone realises they know of an existing filing system test suite or thinks what I have done so far may be useful then do let me know.