RexOps / RexOps/Rex

Support basic file system commands on Windows

Open
#1,438 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Perl
Stars
737
Forks
214
PR merge metrics
No merged PRs in 30d

Description

User story

As maintainer,
I would like to enable basic file management commands run on Windows,
so I can write better tests, and support more use cases both in Rex core and in external modules.

Describe the solution you'd like

Currently Rex::Interface::Fs::Base doesn't support running commands on Windows. In order to implement that it should be allowed to use slightly different commands depending on the local operating system, and perhaps the implementation should be moved to Rex::Interface::Fs::Local and/or other submodules as well.

One particular example is cp, but let's review if there are any other commands which could be implemented for local Windows runs as well.

Describe alternatives you've considered

I was thinking about making modules per-OS as well, instead of the currently per-connection-method approach, but that would be an unnecessarily big work for now. It might worth reconsidering this idea at a later point.

Additional context

See ferki/Rex-Hook-File-Impostor#1 for examples about Windows test failures when cp is attempted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading Rex::Interface::Fs::Base and Rex::Interface::Fs::Local to understand how local file-system commands are selected and executed. Review ferki/Rex-Hook-File-Impostor#1 for the Windows cp failures. Done means basic local file-management commands, including cp, work on Windows without breaking other connection methods, with tests covering the supported commands.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
devops, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.