common:
  filter: not (CONFIG_NATIVE_BUILD and CONFIG_EXTERNAL_LIBC)
  arch_exclude:
    - nios2
  tags:
    - posix
    - filesystem
    - fatfs
  min_ram: 128
  modules:
    - fatfs
tests:
  portability.posix.fs:
    extra_configs:
      - CONFIG_NEWLIB_LIBC=n
    integration_platforms:
      - qemu_x86
  portability.posix.fs.newlib:
    filter: TOOLCHAIN_HAS_NEWLIB == 1
    extra_configs:
      - CONFIG_NEWLIB_LIBC=y
    integration_platforms:
      - qemu_x86
  portability.posix.fs.tls:
    filter: CONFIG_ARCH_HAS_THREAD_LOCAL_STORAGE and CONFIG_TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
    extra_configs:
      - CONFIG_NEWLIB_LIBC=n
      - CONFIG_THREAD_LOCAL_STORAGE=y
    integration_platforms:
      - qemu_x86
  portability.posix.fs.tls.newlib:
    filter: TOOLCHAIN_HAS_NEWLIB == 1 and CONFIG_ARCH_HAS_THREAD_LOCAL_STORAGE and
      CONFIG_TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
    extra_configs:
      - CONFIG_NEWLIB_LIBC=y
      - CONFIG_THREAD_LOCAL_STORAGE=y
    integration_platforms:
      - qemu_x86
  portability.posix.fs.picolibc:
    tags: picolibc
    filter: CONFIG_PICOLIBC_SUPPORTED
    extra_configs:
      - CONFIG_PICOLIBC=y
    integration_platforms:
      - qemu_x86
  portability.posix.fs.tls.picolibc:
    tags: picolibc
    filter: CONFIG_PICOLIBC_SUPPORTED
    extra_configs:
      - CONFIG_PICOLIBC=y
    integration_platforms:
      - qemu_x86
