feat(storage): add a test app for std::filesystem features
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
| Supported Targets | ESP32 | ESP32-C3 |
|
||||
| ----------------- | ----- | -------- |
|
||||
|
||||
This is a test app which verifies that std::filesystem features work in ESP-IDF. The tests are written using [Catch2](https://github.com/catchorg/Catch2) managed [component](https://components.espressif.com/components/espressif/catch2/).
|
||||
|
||||
To run the tests:
|
||||
|
||||
```shell
|
||||
idf.py flash monitor
|
||||
```
|
||||
|
||||
Or, in QEMU:
|
||||
|
||||
```shell
|
||||
idf.py qemu monitor
|
||||
```
|
||||
|
||||
Or, using pytest:
|
||||
|
||||
```shell
|
||||
idf.py build
|
||||
pytest --embedded-services idf,qemu --target esp32 --ignore managed_components
|
||||
```
|
||||
|
||||
## Feature Support
|
||||
|
||||
Please update `_cplusplus_filesystem` section in cplusplus.rst when modifying this table.
|
||||
|
||||
| Feature | Supported | Tested | Comment |
|
||||
|------------------------------|-----------|--------|---------------------------------------------------------------------------------------------------------------|
|
||||
| absolute | y | y | |
|
||||
| canonical | y | y | |
|
||||
| weakly_canonical | y | y | |
|
||||
| relative | y | y | |
|
||||
| proximate | y | y | |
|
||||
| copy | y | y | this function has complex behavior, not sure about test coverage |
|
||||
| copy_file | y | y | |
|
||||
| copy_symlink | n | n | symlinks are not supported |
|
||||
| create_directory | y | y | |
|
||||
| create_directories | y | y | |
|
||||
| create_hard_link | n | n | hard links are not supported |
|
||||
| create_symlink | n | n | symlinks are not supported |
|
||||
| create_directory_symlink | n | n | symlinks are not supported |
|
||||
| current_path | partial | y | setting path is not supported in IDF |
|
||||
| exists | y | y | |
|
||||
| equivalent | y | y | |
|
||||
| file_size | y | y | |
|
||||
| hard_link_count | n | n | hard links are not supported |
|
||||
| last_write_time | y | y | |
|
||||
| permissions | partial | y | setting permissions is not supported |
|
||||
| read_symlink | n | n | symlinks are not supported |
|
||||
| remove | y | y | |
|
||||
| remove_all | y | y | |
|
||||
| rename | y | y | |
|
||||
| resize_file | n | y | doesn't work, toolchain has to be built with _GLIBCXX_HAVE_TRUNCATE |
|
||||
| space | n | y | doesn't work, toolchain has to be built with _GLIBCXX_HAVE_SYS_STATVFS_H and statvfs function must be defined |
|
||||
| status | y | y | |
|
||||
| symlink_status | n | n | symlinks are not supported |
|
||||
| temp_directory_path | y | y | works if /tmp directory has been mounted |
|
||||
| directory_iterator | y | y | |
|
||||
| recursive_directory_iterator | y | y | |
|
||||
| is_block_file | y | y | |
|
||||
| is_character_file | y | y | |
|
||||
| is_directory | y | y | |
|
||||
| is_empty | y | y | |
|
||||
| is_fifo | y | y | |
|
||||
| is_other | n | n | |
|
||||
| is_regular_file | y | y | |
|
||||
| is_socket | y | y | |
|
||||
| is_symlink | y | y | |
|
||||
Reference in New Issue
Block a user