Open solvingj opened 2 months ago
After discussion with @sparshev:
New questions for @sparshev :
Ok i've re-implemented using embedded structs and go build pragmas, and some shared functions. Theres a bunch of error handling and return-value cleanup that still needs to happen, but submitting this now to make sure it matches @sparshev goal structurally.
Yep, structurally looks very nice)
This was mostly an exercise to familiarize myself with the codebase and test suite.
Stopping for discussion with @sparshev because it seemed likely to me the intention was to have the single existing Native driver service all platforms with conditionals around platform-specific behavior, and not using any abstractions like polymorphism. Need to ask and confirm, and if/so, would like specific guidance on how to handle the awkward implications in the native drivers Config.go, Driver.go, without the code becoming very bloated and hard to reason about.
This work also raised questions about how we might implement the configuration of the native driver to perform a limited subset of the current behavior, like "don't create new user', or alternative behaviors like "git clean workspace" and then "reboot after use". The goal here would be to implement native driver which just adds precise new features to our existing bare metal without changing anything fundamental like creating new users/etc.
Related Issue
https://github.com/adobe/aquarium-fish/issues/78
Motivation and Context
Add windows support for the Native Driver
How Has This Been Tested?
Testing incomplete, thus far, only exploratory work
Screenshots (if appropriate):
Here's output of new
fish_native_windows_test.go
unit test on windows:Types of changes
Checklist: