[all-commits] [llvm/llvm-project] bce3b5: [libc++][Android] Mark tests XFAIL/UNSUPPORTED (#6...

Ryan Prichard via All-commits all-commits at lists.llvm.org
Thu Oct 19 17:27:15 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bce3b505931cee9dc79d1c56c021983b4a8fb819
      https://github.com/llvm/llvm-project/commit/bce3b505931cee9dc79d1c56c021983b4a8fb819
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2023-10-19 (Thu, 19 Oct 2023)

  Changed paths:
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_posix.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/iostream.format/ext.manip/get_money.pass.cpp
    M libcxx/test/std/input.output/iostream.format/ext.manip/put_money.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp
    M libcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin-imbue.sh.cpp
    M libcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin.sh.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_1.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_many.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    M libcxx/test/std/re/re.traits/translate_nocase.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/utils/libcxx/test/features.py
    M libcxxabi/test/test_demangle.pass.cpp

  Log Message:
  -----------
  [libc++][Android] Mark tests XFAIL/UNSUPPORTED (#69271)

Mark tests as necessary to accommodate Android L (5.0 / API 21) and up.

Add three Android lit features:
 - android
 - android-device-api=(21,22,23,...)
 - LIBCXX-ANDROID-FIXME (for failures that need follow-up work)

Enable an AIX workaround in filesystem_test_helper.h for the broken
chmod on older Android devices.

Mark failing test with XFAIL or UNSUPPORTED:
 - Mark modules tests as UNSUPPORTED, matching other configurations.
 - Mark a gdb test as UNSUPPORTED.
 - XFAIL tests for old devices that lack an API (fmemopen).
- XFAIL various FS tests (because SELinux blocks FIFO and hard linking,
because fchmodat is broken on old devices).
- XFAIL various locale tests (because Bionic has limited locale
support). (Also XFAIL an re.traits test.)
- XFAIL some print.fun tests because the error exception has no system
error string.
- Mark std::{cin,wcin} tests UNSUPPORTED because they hang with
adb_run.py on old devices.
 - Mark a few tests UNSUPPORTED because they allocate too much memory.
 - notify_one.pass.cpp is flaky on Android.
- XFAIL libc++abi demangler test because of Android's special long
double on x86[-64].

N.B. The `__ANDROID_API__` macro specifies a minimum required API level
at build-time, whereas the android-device-api lit feature is the
detected API level of the device at run-time. The android-device-api
value will be >= `__ANDROID_API__`.

This commit was split out from https://reviews.llvm.org/D139147.

Fixes: https://github.com/llvm/llvm-project/issues/69270




More information about the All-commits mailing list