KhronosGroup / KhronosGroup/SYCL-CTS
`sycl::buffer::set_final_data` is tested with `std::shared_ptr` which is not required by the spec
- Dominant language
- C++
- Stars
- 75
- Forks
- 96
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 4
Description
In the spec, the templated type `Destination` of the parameter `finalData` that is passed to `sycl::buffer::set_final_data` is described as:
> Destination can be either an output iterator or a std::weak_ptr.
In the buffer tests (specifically in [this file](https://github.com/KhronosGroup/SYCL-CTS/blob/SYCL-2020/tests/buffer/buffer_storage_common.h), lines 66 and 69), `set_final_data` is also tested with `Destination == std::weak_ptr` and `Destination == std::shared_ptr`, and I don't think that these types are required as per the spec.
So I think either the spec has to be extended or these test cases should be removed from the CTS (and a test case for `Destination == std::weak_ptr` should be added).
Contributor guide
Research direction
Read the SYCL specification's description of buffer::set_final_data and inspect tests/buffer/buffer_storage_common.h around lines 66 and 69. Compare the tested std::weak_ptr and std::shared_ptr cases with the required Destination forms, including the missing std::weak_ptr case. Done means the CTS tests match the agreed specification, either through a specification update or focused test changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100