virtiofs: enable additional test cases and skip one racey test (#13933)
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com>
Ben Hillis committed
Dec 17, 2025 at 14:02 UTC
77a35b9a0c2d1b527be502c33288a85c0bc0c46d
3 files changed
+12
-12
packages.config
+1
-1
@@ -18,7 +18,7 @@
18
<package id="Microsoft.WSL.bsdtar" version="0.0.2-2" />
19
<package id="Microsoft.WSL.Dependencies.amd64fre" version="10.0.27820.1000-250318-1700.rs-base2-hyp" targetFramework="native" />
20
<package id="Microsoft.WSL.Dependencies.arm64fre" version="10.0.27820.1000-250318-1700.rs-base2-hyp" targetFramework="native" />
21
- <package id="Microsoft.WSL.DeviceHost" version="1.0.0-20251202.1" />
21
+ <package id="Microsoft.WSL.DeviceHost" version="1.1.8-0" />
22
<package id="Microsoft.WSL.Kernel" version="6.6.114.1-1" targetFramework="native" />
23
<package id="Microsoft.WSL.LinuxSdk" version="1.20.0" targetFramework="native" />
24
<package id="Microsoft.WSL.TestDistro" version="2.5.7-47" />
test/linux/unit_tests/drvfs.c
+7
@@ -1389,6 +1389,13 @@ Return Value:
1389
1390
int Result;
1391
1392
+ if (g_LxtFsInfo.FsType == LxtFsTypeVirtioFs)
1393
+ {
1394
+ LxtLogInfo("TODO: debug this test on virtiofs.");
1395
+ Result = 0;
1396
+ goto ErrorExit;
1397
+ }
1398
+
1399
LxtCheckErrno(LxtFsDeleteCurrentWorkingDirectoryCommon(DRVFS_PREFIX, FS_DELETE_DRVFS));
1400
1401
ErrorExit:
test/windows/DrvFsTests.cpp
+4
-11
@@ -167,17 +167,10 @@ public:
167
VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\ntlink7", L"ntlink2", true));
168
VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\ntlink8", L"foo\uf03abar", false));
169
170
- if (DrvFsMode.has_value() && DrvFsMode.value() == DrvFsMode::VirtioFs)
171
- {
172
- LogInfo("TODO: debug VerifyDrvFsLxSymlink variations on virtiofs");
173
- }
174
- else
175
- {
176
- VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink1"));
177
- VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink2"));
178
- }
170
+ VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink1"));
171
+ VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink2"));
172
180
- // Since target resolution is done on the Windows side in Plan 9, it is able to create an NT
173
+ // Since target resolution is done on the Windows side in Plan 9 and VirtioFs, it is able to create an NT
174
// link if the target path traverses an existing NT link (this is actually better than WSL 1).
175
if (LxsstuVmMode())
176
{
@@ -192,7 +185,7 @@ public:
185
VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink5"));
186
VERIFY_NO_THROW(VerifyDrvFsLxSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink6"));
187
195
- // Plan 9 doesn't know about the Linux mount point on "dir", so it creates an NT link in this case.
188
+ // Plan 9 and VirtioFs don't know about the Linux mount point on "dir", so it creates an NT link in this case.
189
if (LxsstuVmMode())
190
{
191
VERIFY_NO_THROW(VerifyDrvFsSymlink(LXSST_DRVFS_SYMLINK_TEST_DIR "\\lxlink7", L"dir\\..\\file.txt", false));