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

[SHELL32_APITEST] Stricter SHSimpleIDListFromPath tests #6894

Merged
merged 5 commits into from
May 30, 2024

Conversation

whindsaks
Copy link
Contributor

The first x number of bytes in PIDLs for drive letters, folders and files are set in stone and should match Windows.

This is a follow-up to PR #6892 and tests binary compatibility instead of checking that what we (incorrectly) generate smells correct when we ask our own functions to give us information about the PIDL.

The first x number of bytes in PIDLs for drive letters, folders and files are set in stone and should match Windows.
@whindsaks whindsaks requested a review from katahiromz May 15, 2024 16:16
@github-actions github-actions bot added the ROSTESTS Label for ROS testcases PRs. label May 15, 2024
return pidl && pidl->mkid.cb >= 3 ? (pidl->mkid.abID[0] & 0x7F) : 0;
}

struct FS95
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A doxygen comment block to document what this is about would be welcome.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GetPIDLType...returns the type of pidl. PIDLTYPE type; in pidl.h but several of the PT_ values there are incorrect and have horrible names.

}

#define TEST_CLSID(pidl, type, offset, clsid) \
do { \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could remove one indentation level in this definition (here the do { serves a similar functionality as the opening { of a function)

Copy link
Contributor Author

@whindsaks whindsaks May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would put the do on the same indent as the #define, that does not sound right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do as you wish (my suggestion would look like this: )

#define RescaleRect(pData, rect) \
do { \
(rect).left = RescaleCX((pData), (rect).left); \
(rect).right = RescaleCX((pData), (rect).right); \
(rect).top = RescaleCY((pData), (rect).top); \
(rect).bottom = RescaleCY((pData), (rect).bottom); \
} while (0)

@HBelusca HBelusca self-requested a review May 27, 2024 15:46
@JoachimHenze
Copy link
Contributor

Can we have a before and after picture of the suite running (fine)?

@whindsaks
Copy link
Contributor Author

Can we have a before and after picture of the suite running (fine)?

Running where? It passes everything on Windows, the control panel PIDL fails on ROS.

@whindsaks whindsaks merged commit c3ec1b9 into reactos:master May 30, 2024
34 checks passed
@whindsaks whindsaks deleted the ShIlTests branch May 30, 2024 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ROSTESTS Label for ROS testcases PRs.
Projects
None yet
4 participants