RFR: 8334339: CreationTime.java fails on alinux3 [v2]

SendaoYan syan at openjdk.org
Sun Jun 16 15:01:29 UTC 2024


> Hi all,
>   The testcase `java/nio/file/attribute/BasicFileAttributeView/CreationTime.java` fails on alinux3(alibaba cloud linux version 3) after [JDK-8316304](https://bugs.openjdk.org/browse/JDK-8316304).
>   The testcase use /tmp directory to create the file and get the createtime of this file. But on alinux3(alibaba cloud linux version 3), the /tmp is mount as tmpfs, it's not a real physic disk paitition, it's mount from RAM, and the alinux3 doesn't support get the `birth time` on tmpfs.
>   On ubuntu 22, when I create a file on /dev/shm(it's also a tmpfs type partition), stat also doesn't support `birth time`.
>   According to the [Java API doc](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/file/attribute/BasicFileAttributes.html#creationTime()), If the file system implementation does not support a time stamp to indicate the time when the file was created, the creationTime() API return the epoch (1970-01-01T00:00:00Z).
> 
>   So in this PR, if the test directory(on linux the test directory is /tmp) doesn't support `birth time`, the test throw a jtreg.SkippedException, rather than report a failure.
>   And in this PR, I create a new test, change the test directory from /tmp to `pwd`, which the current work directory maybe at diffrent partition to /tmp, and the current work directory support `birth time` possibly.
> 
>  The change has been verified on below env:
> 
> - [x] alinux3 run test CreationTime.java
> - [x] windows run test CreationTime.java
> 
> [windows-CreationTime.java.log](https://github.com/user-attachments/files/15857148/windows-CreationTime.java.log)
> [alinux3-CreationTime.java.log](https://github.com/user-attachments/files/15857149/alinux3-CreationTime.java.log)

SendaoYan has updated the pull request incrementally with three additional commits since the last revision:

 - delete an extra whitespace for line77
 - delete an extra whitespace for line : @test id=cwd
 - add function comment for supportBirthTimeOnLinux

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/19737/files
  - new: https://git.openjdk.org/jdk/pull/19737/files/42fec73f..0305b512

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19737&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19737&range=00-01

  Stats: 5 lines in 1 file changed: 4 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19737.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19737/head:pull/19737

PR: https://git.openjdk.org/jdk/pull/19737


More information about the nio-dev mailing list