Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix USVFS tests. #63

Merged
merged 1 commit into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,83 @@ jobs:
"-property:GTEST_LIBDIR=..\googletest\build_${{ matrix.arch }}\lib\${{ matrix.config }}" `
"-property:RunCodeAnalysis=false" `
.\vsbuild\usvfs.sln

- if: matrix.tests == 'Test' && matrix.config == 'Debug'
uses: actions/upload-artifact@master
with:
name: usvfs-libs_${{ matrix.arch }}
path: ./lib
- if: matrix.tests == 'Test' && matrix.config == 'Debug'
uses: actions/upload-artifact@master
with:
name: usvfs-bins_${{ matrix.arch }}
path: ./bin
- if: matrix.tests == 'Test' && matrix.config == 'Debug'
uses: actions/upload-artifact@master
with:
name: usvfs-tests_${{ matrix.arch }}
path: ./test/bin

# merge x86 / x64 artifacts
merge-artifacts:
runs-on: ubuntu-latest
name: Merge Artifacts for Tests
needs: build
steps:
- name: Merge USVFS libs
uses: actions/upload-artifact/merge@v4
with:
name: usvfs-libs
pattern: usvfs-libs_*
- name: Merge USVFS bins
uses: actions/upload-artifact/merge@v4
with:
name: usvfs-bins
pattern: usvfs-bins_*
- name: Merge USVFS tests
uses: actions/upload-artifact/merge@v4
with:
name: usvfs-tests
pattern: usvfs-tests_*

test:
name: Test USVFS
needs: merge-artifacts
runs-on: windows-2022
strategy:
matrix:
arch: [x86, x64]
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@master
with:
name: usvfs-libs
path: ./lib
- uses: actions/download-artifact@master
with:
name: usvfs-bins
path: ./bin
- uses: actions/download-artifact@master
with:
name: usvfs-tests
path: ./test/bin
- run: ./test/bin/shared_test_${{ matrix.arch }}.exe
if: always()
- run: ./test/bin/testinject_bin_${{ matrix.arch }}.exe
if: always()
- run: ./test/bin/thooklib_test_${{ matrix.arch }}.exe
if: always()
- run: ./test/bin/tinjectlib_test_${{ matrix.arch }}.exe
if: always()
- run: ./test/bin/tvfs_test_${{ matrix.arch }}.exe
if: always()
- run: ./test/bin/usvfs_test_runner_${{ matrix.arch }}.exe
if: always()
- uses: actions/upload-artifact@master
if: always()
with:
name: tests-outputs_${{ matrix.arch }}
path: ./test/temp
if-no-files-found: ignore
retention-days: 7
overwrite: true
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/vsbuild/Release
/vsbuild/ReleaseTest
/vsbuild/Debug
/vsbuild/DebugTest

# test "side effects"
/test/temp
Expand Down
65 changes: 0 additions & 65 deletions appveyor.yml

This file was deleted.

26 changes: 24 additions & 2 deletions src/shared/ntdll_declarations.h
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,30 @@ typedef struct _FILE_BASIC_INFORMATION {
ULONG FileAttributes;
} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;

#define FILE_DIRECTORY_FILE 0x00000001
#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
#define FILE_DIRECTORY_FILE 0x00000001
#define FILE_WRITE_THROUGH 0x00000002
#define FILE_SEQUENTIAL_ONLY 0x00000004
#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
#define FILE_NON_DIRECTORY_FILE 0x00000040
#define FILE_CREATE_TREE_CONNECTION 0x00000080
#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
#define FILE_NO_EA_KNOWLEDGE 0x00000200
#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
#define FILE_RANDOM_ACCESS 0x00000800
#define FILE_DELETE_ON_CLOSE 0x00001000
#define FILE_OPEN_BY_FILE_ID 0x00002000
#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
#define FILE_NO_COMPRESSION 0x00008000
#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000
#define FILE_DISALLOW_EXCLUSIVE 0x00020000
#define FILE_SESSION_AWARE 0x00040000
#define FILE_RESERVE_OPFILTER 0x00100000
#define FILE_OPEN_REPARSE_POINT 0x00200000
#define FILE_OPEN_NO_RECALL 0x00400000
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
#define FILE_CONTAINS_EXTENDED_CREATE_INFORMATION 0x10000000

typedef NTSTATUS(WINAPI *NtQueryDirectoryFile_type)(
HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
newfile1.txt nonrecursive overwrite subfolder
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rfolder\rcopyme4.txt original contents
Loading
Loading