dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 17 forks source link

DOSLFN not working with FDPP #221

Closed andrewbird closed 1 year ago

andrewbird commented 1 year ago

I expanded an existing test to load doslfn first, then use djgpp's _get_volume_info() function to return the volume info for a FAT volume. With FreeDOS 1.3 it works as expected, but with FDPP I'm still getting the ERRNO 27 returned. Here's the test

FreeDOS 1.3
$ test/test_dos.py FRDOS130TestCase.test_lfn_volume_info_fat16
Test FR-DOS-1.30 LFN volume info on FAT16                                        ... ok (  1.13s)

----------------------------------------------------------------------
Ran 1 test in 1.140s

OK
FDPP
$ test/test_dos.py PPDOSGITTestCase.test_lfn_volume_info_fat16
Test PP-DOS-GIT  LFN volume info on FAT16                                        ... FAIL

======================================================================
FAIL: Test PP-DOS-GIT  LFN volume info on FAT16                                       
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/clients/common/dosemu2.git/test/test_dos.py", line 3992, in test_lfn_volume_info_fat16
    lfn_voln_info(self, "FAT16")
  File "/clients/common/dosemu2.git/test/func_lfn_voln_info.py", line 73, in lfn_voln_info
    self.assertIn("FSTYPE(FAT)", results)
AssertionError: 'FSTYPE(FAT)' not found in 'testit.bat\r\r\n\r\r\nC:\\>c:\\doslfn -f-\r\r\nDOSLFN 0.41f (haftmann#software & jmh 4/2022): loaded consuming 11824 bytes.\r\n\r\r\nC:\\>d:\r\r\nD:\\>c:\\lfnvinfo D:\\\r\r\nERRNO(27)\r\r\n\r\r\nD:\\>'
Further info in file '/clients/common/dosemu2.git/test_dos.PPDOSGITTestCase.test_lfn_volume_info_fat16.log'
Further info in file '/clients/common/dosemu2.git/test_dos.PPDOSGITTestCase.test_lfn_volume_info_fat16.xpt'

----------------------------------------------------------------------
Ran 1 test in 1.484s

FAILED (failures=1)
stsp commented 1 year ago

Can you reproduce that by hands, w/o any tests? I think your tests do tricks with default fdppconf.sys/fdppauto.bat plus you set $_force_fs_redirect=(off) which may affect doslfn too.

andrewbird commented 1 year ago

Actually I can't remember why that force_fs_redirect is non-default, perhaps I'll try removing it.

andrewbird commented 1 year ago

So I removed the $_force_fs_redirect=(off) from the default config, but it made no difference. No changes are made to fdppconf.sys and fdppauto.bat for tests on FDPP. I've zipped up the test t1.zip, and you can run it by hand by doing:

bin/dosemu -n -f test-imagedir/dosemu.conf -o test.log --Fimagedir `pwd`/test-imagedir

Once in the dos environment, run the batchfile testit

stsp commented 1 year ago

Should now be fixed.

andrewbird commented 1 year ago

Cool, that fixed it for me, thanks!