Commit graph

226 commits

Author SHA1 Message Date
Pierre Schweitzer d8753f3e88 [KMTESTS:KERNEL32]
Magic values--;

svn path=/trunk/; revision=75916
2017-09-21 08:52:27 +00:00
Thomas Faber fd6f688414 [KMTESTS:KERNEL32]
- Add additional file attribute tests. Based on a patch by Katayama Hirofumi MZ.
CORE-13495

svn path=/trunk/; revision=75861
2017-09-17 08:08:39 +00:00
Pierre Schweitzer 891930d175 [KMTESTS:CC]
[KMTESTS:MM]
Also test the paging IO flag of the MDL

svn path=/trunk/; revision=75845
2017-09-15 12:10:59 +00:00
Pierre Schweitzer 2cbaba6989 [KMTESTS:CC]
That wasn't meant to be committed

svn path=/trunk/; revision=75843
2017-09-15 11:24:38 +00:00
Pierre Schweitzer 9ac91a4ca5 [KMTESTS:CC]
Tests for paging IO MDL for read operations. Equivalent to r75833 (and r75840).
They fail in ROS.

svn path=/trunk/; revision=75842
2017-09-15 10:37:00 +00:00
Pierre Schweitzer 752fc9bb9c [KMTESTS:MM]
Revert r75840.
It's no use that way

svn path=/trunk/; revision=75841
2017-09-15 10:32:22 +00:00
Pierre Schweitzer 369ae3655b [KMTESTS:MM]
Tests for paging IO MDL for read operations. Equivalent to r75833.

svn path=/trunk/; revision=75840
2017-09-15 08:16:14 +00:00
Pierre Schweitzer 6876083dc6 [KMTESTS:MM]
Few tests for MmBuildMdlForNonPagedPool() I wrote earlier.
They all pass fine on ROS.

svn path=/trunk/; revision=75835
2017-09-13 16:38:32 +00:00
Pierre Schweitzer d7718b4d51 [KMTESTS:MM]
Add a test that shows that MDLs issued by Cc for paging IOs are not in the correct state (nor correctly allocated)

CORE-13769

svn path=/trunk/; revision=75833
2017-09-13 11:53:56 +00:00
Thomas Faber 1931f33c9b [KMTESTS:KERNEL32]
- Add a test for SetFileAttributes/GetFileAttributes
- Add KmtSendUlongToDriver helper and fix some doc comments
CORE-13495

svn path=/trunk/; revision=75236
2017-06-29 16:16:20 +00:00
Thomas Faber 24ac7c8bed [KMTESTS:KERNEL32]
- Rename FindFile_drv to kernel32_drv (and perform some other appropriate renames), since it can be used for multiple tests, not just FindFile
- Change license to LGPL (this is okay since nobody but me has touched these files)
CORE-13495

svn path=/trunk/; revision=75235
2017-06-29 15:30:23 +00:00
Thomas Faber 6bea3b076d [KMTESTS:MM]
- Test unaligned address and addresses close to MmHighestUserAddress in MmMapLockedPagesSpecifyCache test
CORE-13444

svn path=/trunk/; revision=75084
2017-06-18 08:00:29 +00:00
Thomas Faber 8c8f34f7fd [KMTESTS:MM]
- In the MmMapLockedPagesSpecifyCache test, try to allocate & free memory or unmap a section view in the mapped buffer space
CORE-13444

svn path=/trunk/; revision=75057
2017-06-16 11:06:33 +00:00
Thomas Faber 82284116fa [KMTESTS]
- Add test for hidparse's descriptor parsing
CORE-11538

svn path=/trunk/; revision=75017
2017-06-13 05:48:28 +00:00
Pierre Schweitzer 1ac1c1b261 [KMTESTS:MM]
When testing noncached mapping, use MmAllocateNonCachedMemory() as suggested by Thomas to avoid later potential failures

svn path=/trunk/; revision=74967
2017-06-08 20:16:34 +00:00
Pierre Schweitzer 453fae7f31 [KMTESTS:MM]
Make MmMapLockedPagesSpecifyCache a bit more robust. Based on Thomas' suggestions

svn path=/trunk/; revision=74955
2017-06-08 06:44:48 +00:00
Pierre Schweitzer 63eb4b623a [KMTESTS:MM]
Test various sizes with MmMapLockedPagesSpecifyCache() to show that behavior is strictly identical.
This was designed/tested under W2K3.

CORE-8204

svn path=/trunk/; revision=74759
2017-06-03 10:29:39 +00:00
Pierre Schweitzer 8679f001d9 [KMTESTS:MM]
Add tests for MmMapLockedPagesSpecifyCache() functions, and more specifically for usermode mapping.
This was designed/tested under W2K3.

CORE-8204

svn path=/trunk/; revision=74751
2017-06-02 19:19:32 +00:00
Thomas Faber 8550143bab [KMTESTS:RTL]
- Add a test for RtlWalkFrameChain and RtlCaptureStackBackTrace

svn path=/trunk/; revision=74489
2017-05-06 15:29:56 +00:00
Thomas Faber b89db46b1f [KMTESTS:MM]
Add some more tests for physical memory sections:
- Show that any alignment for SectionOffset/ViewSize is allowed. It will get automatically fixed up to page alignment
- Show that kernel mode can map views beyond the highest physical page, but user mode cannot
CORE-13113

svn path=/trunk/; revision=74446
2017-05-02 09:02:10 +00:00
Thomas Faber 6e74416198 [KMTESTS:MM]
- Show that NtMapViewOfSection validates section and process handles before checking base address alignment
CORE-13113

svn path=/trunk/; revision=74390
2017-04-23 08:10:46 +00:00
Thomas Faber a8b7dd40e2 [KMTESTS:MM]
- Enable MEM_RESERVED test in SimpleErrorChecks() since it no longer asserts. Patch by Serge Gautherie.
ROSTESTS-109 #resolve

svn path=/trunk/; revision=74386
2017-04-21 08:08:57 +00:00
Thomas Faber 424bbf064b [KMTESTS:OB]
- After ObCreateObject+ObInsertObject a handle close is enough to destroy the object, so do not dereference it in addition. Fixes use after free.
CORE-11474

svn path=/trunk/; revision=74375
2017-04-19 12:21:57 +00:00
Thomas Faber eff26a3a92 [KMTESTS:NPFS]
- Remove tests that cause pool buffer overflows. NtQueryVolumeInformationFile does not validate buffer length for kernel mode callers, so passing an invalid length is not a good test.
CORE-11474

svn path=/trunk/; revision=74374
2017-04-19 11:46:34 +00:00
Thomas Faber 97a27e2c87 [KMTESTS:MM]
- Add some missing newlines and skip()s

svn path=/trunk/; revision=74361
2017-04-17 20:37:26 +00:00
Thomas Faber 425f097968 [KMTESTS:IO]
- Avoid a crash in IoFilesystem on Windows when using a free kernel with ntfs. Querying FileAllInformation with any size below sizeof(FILE_ALL_INFORMATION) is considered illegal, so only do it on checked builds (which have a size check).

svn path=/trunk/; revision=73921
2017-02-26 11:31:51 +00:00
Thomas Faber e4b71d31f9 [KMTESTS:MM]
- Add some stricter checks and improved error handling in NtCreateSection_user

svn path=/trunk/; revision=73827
2017-02-18 14:22:44 +00:00
Mark Jansen 4e9706e794 [NTOSKRNL] Fix some possible overruns in FsRtlIsNameInExpressionPrivate + add a test from Thomas. CORE-12121
svn path=/trunk/; revision=73765
2017-02-09 00:12:36 +00:00
Colin Finck d5122b7e7b [KMTESTS]
Temporarily disable kmtests for "rostests_install" (and subsequently the WHS-Testbot) as long as kmtest:ExPools crashes the machine and I have to reboot it manually.

svn path=/trunk/; revision=73535
2017-01-13 11:20:52 +00:00
Colin Finck da200b3a2c [ROSTESTS]
- Add a function "add_rostests_file" that calls both add_cd_file() and install() accordingly for regression tests.
  Use this function everywhere in rostests where add_cd_file() was used previously. This puts tests always in the right place on CD and also generates proper installation rules for them.
- Add a custom target "rostests_install" that performs an "install" on all rostests components.

This finally gives us a convenient and reliable way to copy all regression tests and their dependencies into a single directory (specified by the ROSTESTS_INSTALL environment variable).
Will be used on the WHS-Testbot to let it finally run each and every test.

CORE-12401
ONLINE-441

svn path=/trunk/; revision=73533
2017-01-13 09:24:15 +00:00
Thomas Faber 762bec692a [KMTESTS]
- Add a missing newline

svn path=/trunk/; revision=73445
2016-12-10 11:59:41 +00:00
Pierre Schweitzer 444775e662 [KMTESTS:MM]
Test FCB header fields: FileSize, ValidDataLength

CORE-11819
CORE-12475

svn path=/trunk/; revision=73395
2016-11-27 13:39:01 +00:00
Pierre Schweitzer a3dbf1b448 [KMTESTS:MM]
Playing with EOF shouldn't make you forget EOL!
Addendum to r73392

svn path=/trunk/; revision=73393
2016-11-27 10:56:40 +00:00
Pierre Schweitzer 695beeee78 [KMTESTS:MM]
Check the first byte is really null, in spite of the hack writing.

CORE-11819
CORE-12475

svn path=/trunk/; revision=73392
2016-11-27 10:49:33 +00:00
Pierre Schweitzer 9951d766cc [KMTESTS:MM]
This tests doesn't fail anylonger on ReactOS (not sure which rev fixed it)

ROSTESTS-108

svn path=/trunk/; revision=73328
2016-11-20 20:58:22 +00:00
Pierre Schweitzer 49691778cd [KMTESTS:MM]
Thanks to r73325, these tests don't deadlock anymore on ReactOS. Enable them again (aka, revert r73227).

ROSTESTS-248

svn path=/trunk/; revision=73326
2016-11-20 18:42:15 +00:00
Thomas Faber a9805facab [KMTESTS:MM]
- Skip NtCreateSection tests since they hang on testbot.
ROSTESTS-248

svn path=/trunk/; revision=73227
2016-11-13 16:42:16 +00:00
Thomas Faber ce14a59aa5 [KMTESTS:RTL]
- Silence a GCC5+ warning
CORE-11794

svn path=/trunk/; revision=73224
2016-11-13 12:19:05 +00:00
Pierre Schweitzer 2fdacdbbd6 [KMTESTS:MM]
Bugfix for IRP_MJ_SET_INFORMATION/FileEndOfFileInformation: really set the information. The test still works fine in Windows and still fails hard in ReactOS.

svn path=/trunk/; revision=73200
2016-11-11 10:44:51 +00:00
Pierre Schweitzer 6db40277dc [KMTESTS:MM]
Add tests for the NtCreateSection functions which mimic some of the behavior that can be exposed by FSDs (late init, too small files, and so on).
It was designed in W2K3.

svn path=/trunk/; revision=73198
2016-11-10 21:02:48 +00:00
Thomas Faber 42ce59cdd2 [KMTESTS]
- Complete IRPs with STATUS_INVALID_DEVICE_REQUEST by default.
CORE-12295 #resolve

svn path=/trunk/; revision=73153
2016-11-06 15:26:39 +00:00
Thomas Faber 52adca06a9 [KMTESTS:RTL]
- Add a test checking stack frame correctness in a nested __finally handler
CORE-12283

svn path=/trunk/; revision=73148
2016-11-06 09:31:09 +00:00
Hermès Bélusca-Maïto 15d77be6fd [NTOS]
- accesschk.c: Remove redundant SepAccessCheck/SepAccessCheckEx pair of private functions; instead just rename SepAccessCheckEx into SepAccessCheck and use it directly in the code. NOTE: SepAccessCheck is *incomplete* (in particular it doesn't retrieve the information needed to initialize the 'Privileges' parameter).
- sid.c: Comments formatting fix.
- token.c:
  * Finish to implement SeQueryInformationToken . This function is really the same as NtQueryInformationToken but without all the stuff needed for user-mode buffer access protection.
  * Some code simplifications in NtQueryInformationToken.
  I need this to fix a "FIXME: Use SeQueryInformationToken" in some code I'm also fixing (& commit later).

[NDK]: Fix parameter types and add annotations to RtlCopySidAndAttributesArray.

[KMTESTS:NTOS_SE]
- Reenable the 'SeQueryInfoToken' test.
- Show that SeQueryInformationToken doesn't support 4 token information classes, which are supported only by NtQueryInformationToken.
- Fix calling of SeAccessCheck. In particular the 'Privileges' parameter is not allocated by the caller, but instead is allocated by SeAccessCheck *and* returned to the caller (who then must free the buffer using SeFreePrivileges). This fixes the encountered BSODs that leaded to disabling preventively the test in r59178.
- Minor code cleaning.

svn path=/trunk/; revision=73122
2016-11-04 17:52:32 +00:00
Thomas Faber ba1509ef9e [KMTESTS:IO]
- Add a test case for trying to open a file "inside" a file to IoFilesystem
ROSTESTS-135

svn path=/trunk/; revision=73058
2016-10-29 11:20:58 +00:00
Thomas Faber 14a0d23f4c [KMTESTS:OB]
- Add a test for the NT directory structure's ACLs
CORE-9184

svn path=/trunk/; revision=72976
2016-10-17 09:28:15 +00:00
Thomas Faber 6031bd0162 [KMTESTS:IO]
- Add a test for the maximum data length for MDLs
CORE-12132

svn path=/trunk/; revision=72964
2016-10-13 12:28:01 +00:00
Dmitry Chapyshev abdc65593f [KMTEST]
- Add null-pointer test for RtlIsValidOemCharacter

svn path=/trunk/; revision=72581
2016-09-04 23:15:08 +00:00
Dmitry Chapyshev 1a8c432587 [KMTEST]
- Implement tests for RtlIsValidOemCharacter function

svn path=/trunk/; revision=72579
2016-09-04 22:15:53 +00:00
Pierre Schweitzer 72eefb7a68 [KMTESTS:FSRTL]
Add a stress test for tunnel cache implementation, where we have fun adding duplicated entries.
It doesn't seem to go well.
These tests are also known as "Learn your English ordinals", or as "Learn how to count in English". My pleasure.

CORE-11819

svn path=/trunk/; revision=72192
2016-08-10 20:50:36 +00:00
Pierre Schweitzer f27ecf0960 [KMTESTS:CC]
New test case which is matching the MS FastFAT CcCopyRead (minus the offset) and shows clearly the issue in our Cc.
It also shows that my hack is utterly broken :-).

CORE-11003
CORE-11819

svn path=/trunk/; revision=72182
2016-08-10 07:39:20 +00:00