DPCTLSyclInterface should avoid functions that print to std::cout#542
Merged
oleksandr-pavlyk merged 2 commits intomasterfrom Oct 6, 2021
Merged
DPCTLSyclInterface should avoid functions that print to std::cout#542oleksandr-pavlyk merged 2 commits intomasterfrom
oleksandr-pavlyk merged 2 commits intomasterfrom
Conversation
3500184 to
49f2378
Compare
Contributor
Author
|
I just pushed a change to use function added in #620 . Once that is merged, this becomes ready for review. |
63c2f7b to
8fc1535
Compare
Collaborator
diptorupd
reviewed
Oct 6, 2021
dpctl.SyclDevice.print_device_info gets CString from DPCTL-CAPI and prints it using Python's stream.
e91235d to
f4f3b51
Compare
Contributor
Author
|
OS sycl bundle from 2021-10-06 does not contain |
f4f3b51 to
b6e7e23
Compare
diptorupd
approved these changes
Oct 6, 2021
Contributor
diptorupd
left a comment
There was a problem hiding this comment.
Unless you want to wait for TeamCity to finish, feel free to merge.
Contributor
Author
|
I ended up removing use of |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The stream
std::coutthat the library writes to in a function likeDPCTLDeviceMgr_PrintDeviceInfois not the same as Python'ssys.stdout.It makes it difficult to verify that printed output is what should be
expected.
Used
OutputGrabberclass to try to capturestd::coutoutputs ofDPCTLSyclInterface.The class is implemented in new
test/_redirector.pyfile.The changes in this commit allow the test to pass, while ensuring
that the captured output is non-empty, but pytest must be envoked with
--capture=nooption.It works as follows:
It is all good, but
In[3]for needed forOut[7]to be non-empty.This is because
libDPCTLSyclInterfacedoes not initializestd::cout, and In[5] writes into a differentstd::coutthat output grabber captured.