Skip to content

Tar APIs pending feedback to address #68230

@carlossanlop

Description

@carlossanlop

Initial PR changes were introduced here: #67883

The following is pending feedback I need to address (not urgent, for 8.0, mostly just additional testing coverage):

Perf improvements:

Additional test coverage:

  • Make sure that when archiving an executable, then extracting it, the executable mode bit gets properly preserved.
  • Add test that reads an archive containing an unsupported entry type (no writing).
  • Add test that ensures a hidden file can be used to create an entry from file.
  • Verify these GNU fields are written in the data stream: AllGnuUnused = Offset + LongNames + Unused + Sparse + IsExtended + RealSize.
  • Add test that ensures that a GNU archive (generated with tar tool) containing unused GNU bytes (sparse, etc) get preserved when written to another GNU archive.
  • Add test to extract entries to disk one by one.
  • Add test with entries containing relative segments that would cause extraction to happen outside of destination directory.
  • Add test that opens one file concurrently, to prevent Allow sharing of input tar file for read #68361 from happening again.
  • Add test that verifies that adding a Windows path with '' separators changes them to '/'.
  • Consider enabling CA1305: Implement Tar APIs #67883 (comment)
  • Add to the runtime-assets script an unarchived test with both a longlink and a longpath.
  • Find out how (if possible) to add a file as a hardlink, because otherwise, it can only be created directly as an entry, not by reading it from the filesystem.
  • Share WrappedStream in Common as suggested by @danmoseley .

Done:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-System.Formats.Tarin-prThere is an active PR which will close this issue when it is merged

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions