-
Notifications
You must be signed in to change notification settings - Fork 1.1k
libc-test: port windows to use ctest-next #4600
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
base: main
Are you sure you want to change the base?
Conversation
d4e8842
to
5771cf0
Compare
809ef9f
to
0306748
Compare
|
1692d40
to
9428748
Compare
ab9e478
to
3dbb7a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(updating the status)
89bbc29
to
3dcc655
Compare
3dcc655
to
8f770d3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't mean to delete all of the original ctest right now :), only that you can swap a target from ctest to ctest-next rather than running both for that specific target
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I should keep test_windows
but only run test_windows_next
?
// Windows uppercase structs don't have `struct` in fr.into()ont: | ||
t if ty.chars().next().unwrap().is_uppercase() => t.to_string().into(), | ||
"stat" => "struct __stat64".to_string().into(), | ||
"utimbuf" => "struct __utimbuf64".to_string().into(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the difference with original ctest here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ctest
uses a single method for renaming types, whereas we have multiple, so that gets split up.
_ => None, | ||
} | ||
}); | ||
cfg.rename_type(move |ty| { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In ctest we should rename this function rename_alias
or rename_type_alias
, I was thinking it handled all types for a bit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It handles all non struct and union types, we don't actually have a rename_alias
method (although we can add it), since ctest
doesn't use it. But rename_alias
would be a different method (rename_type
uses MapInput::Type
, rename_alias
would use MapInput::Alias
).
Description
This PR adds support for testing the windows platform using
ctest-next
as well as the originalctest
. A minor bug was also fixed along the way, where we have some public primitive types that aren't available in C (this can be fixed with skips instead as well).Sources
Checklist
libc-test/semver
have been updated*LAST
or*MAX
areincluded (see #3131)
cd libc-test && cargo test --target mytarget
);especially relevant for platforms that may not be checked in CI