apache / apache/opendal

servcices/vercel_artifacts: Tracking issues of not passed test cases

Open
#2,198 11 comments 0 reactions 0 assignees View on GitHub
good first issue help wanted services/vercel_artifacts
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

There are following tests still failed:

```shell
failures:
services_vercelartifacts::write_test_create_dir
services_vercelartifacts::write_test_create_dir_existing
services_vercelartifacts::write_test_delete
services_vercelartifacts::write_test_delete_empty_dir
services_vercelartifacts::write_test_delete_not_existing
services_vercelartifacts::write_test_delete_stream
services_vercelartifacts::write_test_delete_with_special_chars
services_vercelartifacts::write_test_fuzz_offset_reader
services_vercelartifacts::write_test_fuzz_part_reader
services_vercelartifacts::write_test_fuzz_range_reader
services_vercelartifacts::write_test_read_full
services_vercelartifacts::write_test_read_large_range
services_vercelartifacts::write_test_read_range
services_vercelartifacts::write_test_read_with_dir_path
services_vercelartifacts::write_test_read_with_special_chars
services_vercelartifacts::write_test_reader_from
services_vercelartifacts::write_test_reader_range
services_vercelartifacts::write_test_stat
services_vercelartifacts::write_test_stat_dir
services_vercelartifacts::write_test_stat_not_cleaned_path
services_vercelartifacts::write_test_stat_not_exist
services_vercelartifacts::write_test_stat_root
services_vercelartifacts::write_test_stat_with_special_chars
services_vercelartifacts::write_test_write
services_vercelartifacts::write_test_write_with_special_chars
```

To address them, we should:

- Implement `stat`/`delete`/`create_dir`
- [x] Implement `stat` support for vercel artifacts #2649
- [ ] Implement `delete` support for vercel artifacts
- [ ] Implement `create_dir` support for vercel artifacts
- Some cases seems related to vercel's range support, we need more research:

```rust
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Next
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Read(39693)
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Next
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Next
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Seek(End(-641647))
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Seek(Start(1002031))
[2023-05-02T17:42:43Z DEBUG behavior::utils] 299f30d9-f809-4a37-8f92-42e2193d09e7 perform fuzz action: Next
[2023-05-02T17:42:43Z DEBUG rustls::conn] Sending warning alert CloseNotify
thread 'services_vercelartifacts::write_test_fuzz_offset_reader' panicked at 'assertion failed: `(left == right)`
left: `"2010485b33902bd343ad7402b91a8c74ce384df587a71682745f4239e0398893"`,
right: `"0b1819ed21e022a6657c5dc7edea166b50d0d13f31291c62dde9def6c4a1a6f1"`: check next failed: output bs is different with expected bs, actions: [Read(377685), Next, Seek(End(-3143164)), Next, Seek(End(-2273789)), Next, Read(39693), Next, Next, Seek(End(-641647)), Seek(Start(1002031)), Next]', core/tests/behavior/utils.rs:267:13
[2023-05-02T17:42:43Z DEBUG opendal::services] service=vercel_artifacts operation=read path=299f30d9-f809-4a37-8f92-42e2193d09e7 read=55148 -> data read finished
[2023-05-02T17:42:43Z DEBUG rustls::conn] Sending warning alert CloseNotify
test services_vercelartifacts::write_test_fuzz_offset_reader ... FAILED
```

Contributor guide

Open the contributing guide

Research direction

Start with the services_vercelartifacts tests listed in the issue and the vercel artifacts service implementation, focusing first on the remaining delete and create_dir cases. Review core/tests/behavior/utils.rs around the fuzz-reader failure to investigate range and seek behavior. Done means the listed tests pass, including special-character, directory, delete, read-range, and fuzz-reader cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.