KhronosGroup / KhronosGroup/SYCL-CTS

`sycl::buffer::set_final_data` is tested with `std::shared_ptr` which is not required by the spec

Open
#877 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.