Skip to content

Port tests to Windows#34859

Merged
jan--f merged 4 commits intoceph:masterfrom
petrutlucian94:windows.12
Jan 12, 2021
Merged

Port tests to Windows#34859
jan--f merged 4 commits intoceph:masterfrom
petrutlucian94:windows.12

Conversation

@petrutlucian94
Copy link
Contributor

@petrutlucian94 petrutlucian94 commented Apr 30, 2020

Port tests to Windows

This PR ports some of the Ceph tests to Windows, providing significant test coverage for the client libraries.

Here are some test_results.zip.

For more details about the build process and current status, please check the
README.windows.rst file.

Other Windows related PRs:

Part 1: #31981
Part 2: #32704
Part 3: #32705
Part 4: #32707
Part 5: #32780
Part 6: #32779
Part 7: #32778
Part 8: #32777

ceph/fmt#2
ceph/rocksdb#42
#32027 librados: avoid symbol versioning on Windows
#32776 Update Windows build scripts
#34858 Add Windows CephFS support
#33750 Add Windows RBD support

@dillaman
Copy link

@petrutlucian94 I'll start reviewing this one while we wait for the other parts to merge. What's the first unique commit for this PR?

@petrutlucian94
Copy link
Contributor Author

@petrutlucian94 I'll start reviewing this one while we wait for the other parts to merge. What's the first unique commit for this PR?

That would be 842fc6b win32: avoid broken mingw rng

Here's a git log, showing the PR structure: http://paste.openstack.org/raw/792975/

Thanks a lot for reviewing those patches. I'll take another look at the chain and try to avoid unnecessary changes, should be easier now after getting to know the code base better.

@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 10 times, most recently from 7652884 to 564d0ae Compare May 6, 2020 16:26
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 2 times, most recently from ebe1a9e to d01616e Compare May 27, 2020 10:26
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 2 times, most recently from 8e8d942 to e1dd05a Compare June 4, 2020 12:26
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 2 times, most recently from 2d8ca1a to 3c29a6d Compare September 7, 2020 10:43
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 2 times, most recently from 90c70fd to 1c108f0 Compare September 15, 2020 09:57
@ceph-jenkins
Copy link
Collaborator

Can one of the admins verify this patch?

@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 3 times, most recently from 46067f9 to 86f8706 Compare September 25, 2020 08:13
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 3 times, most recently from 4fcc634 to 395804f Compare October 12, 2020 10:15
@petrutlucian94 petrutlucian94 force-pushed the windows.12 branch 3 times, most recently from a85fbb5 to bb53642 Compare October 16, 2020 13:34
@petrutlucian94 petrutlucian94 requested a review from a team as a code owner October 16, 2020 13:34
@sebastian-philipp
Copy link
Contributor

This PR now includes submodule changes. See the "Unmodified Submodules" check

@petrutlucian94
Copy link
Contributor Author

This PR now includes submodule changes. See the "Unmodified Submodules" check

My bad, I must've used "git commit -a" by mistake. Thanks for letting me know!

@petrutlucian94
Copy link
Contributor Author

jenkins test make check

Copy link

@dillaman dillaman left a comment

Choose a reason for hiding this comment

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

lgtm

@jan--f
Copy link
Contributor

jan--f commented Dec 3, 2020

For test results please see #32776 (comment)

We're porting to Windows some of the Ceph tests, mostly related to rados
and rbd.

Overall, this is about using compat.h functions and types as well as avoiding
unsupported functionality.

The systest framework will have to be limitted to threads instead of separate
processes until we cover the process spawning and communication.

Signed-off-by: Lucian Petrut <[email protected]>
We're porting to Windows some of the unit tests, mostly related to
rados and rbd.

This change filters out the tests that aren't supported on Windows.
At the same time, we're defining some missing dependencies since
unlike ELFs SOs, all DLL symbols have to be resolved at compile time.

Signed-off-by: Lucian Petrut <[email protected]>
The windows pthread library doesn't support named semaphores, for
which reason we're updating some tests to use unnamed semaphores.

Signed-off-by: Lucian Petrut <[email protected]>
Some timer tests don't actually initialize the timer, for which
reason the callbacks will never be executed, leading to an infinite
loop.

This change initializes the timer, stopping it after the tests
finish.

Signed-off-by: Lucian Petrut <[email protected]>
@jan--f
Copy link
Contributor

jan--f commented Jan 7, 2021

Latest test results are here

@neha-ojha @dillaman If you could spare some time for these, we'd be much obliged.

@neha-ojha
Copy link
Member

Latest test results are here

@neha-ojha @dillaman If you could spare some time for these, we'd be much obliged.

@jan--f none of the failures look related

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build/ops cephfs Ceph File System common core rbd tests win32 Specifix changes for the windows platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants