Hallo, On Sat, Jun 8, 2019 at 12:27 PM Tom Ehlert <[email protected]> wrote: > > >> Of course, you could just always rather test the "big dogs" of the DOS > >> world: Turbo C, Lotus 1-2-3, Doom, QBASIC, etc .... I don't know of a > >> good list of tools off-hand, but obviously things like DJGPP or > >> OpenWatcom or FASM (or maybe small *nix utils like sed) might make for > >> good tests. > of course obviously not.
Even if the compilers themselves aren't good tests, you can make better tests with them. As long as the compiler runs successfully, then you can go from there. It's not as trivial as it seems. (Ironically, most compilers aren't very portable. Strange, I know.) > Turbo C *compiler*, OpenWatcom, FASM, sed all just call mostly > trivial file I/O routines (open, read sequential, write sequential, close), > which even the > most trivial implementation should support. no interesting functions > are used (or needed) by a compiler. fseek() is more crucial than you think. Maybe not for sed (which also doesn't support directories, but neither does ISO C sans POSIX), but for other utils there's still other features (temp files, dynamic memory management, file attributes, date/time) which can be problematic. Although I haven't looked, I wouldn't be surprised if a HLL linker needed such "extensions". Actually, different sed implementations may or may not use malloc() at all. So that's one glaring difference (among a billion others). So you always have to test all available implementations instead of assuming "yup, standard! that means it automatically works!" like a doofus. Yes, sed is simpler than AWK (which is simpler than Perl, etc. etc.), but it's still complicated enough to trip someone up. (Even Csed, my favorite, has bugs ... beyond the default file buffering quirk. You just have to test your scripts on all available implementations thoroughly before assuming anything. I prefer code that tries to avoid being locked to specific vendors or versions, even if it's more effort on my end.) > FreeCOM itself is a *much* better test as you can exercise a good part > of DOS functions with it. Perhaps something like XCOPY or DELTREE might be another good test. FreeCOM doesn't really do that. Though a DEBUG (.BAT) script is probably the simplest way to test a single API function. Oh, FD Touch had some fallback code for older DOS v2. Funny! (And I think shareware A86 claimed to not require beyond v2 either.) _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
