labgrid
labgrid copied to clipboard
Add copy-files client command
Description
Adds a copy-files client command to copy files onto mass storage. In our workflow, we often need to update individual boot files (i.e. BOOT.BIN and image.ub on Xilinx SoC devices), but not the whole partition or device image. The user interface tries to reproduce the semantics of the UNIX cp command as much as possible.
As of now, we can only copy individual files, but not recursively on directories; in the future we might want to extend the ManagedFile class to support this use case as well.
Tested with an USB-SD-Mux on Ubuntu 18.04 LTS with pmount installed.
Checklist
- [x] Documentation for the feature
- [ ] Tests for the feature
- [x] The arguments and description in doc/configuration.rst have been updated
- [x] CHANGES.rst has been updated
- [x] PR has been tested
- [x] Man pages have been regenerated
Codecov Report
Merging #548 (49017b6) into master (41b297f) will increase coverage by
1.5%. The diff coverage is25.0%.
:exclamation: Current head 49017b6 differs from pull request most recent head 9d18be3. Consider uploading reports for the commit 9d18be3 to get more accurate results
@@ Coverage Diff @@
## master #548 +/- ##
========================================
+ Coverage 56.8% 58.4% +1.5%
========================================
Files 144 133 -11
Lines 10669 9554 -1115
========================================
- Hits 6064 5580 -484
+ Misses 4605 3974 -631
| Impacted Files | Coverage Δ | |
|---|---|---|
| labgrid/remote/client.py | 46.8% <24.2%> (+2.1%) |
:arrow_up: |
| labgrid/driver/usbstoragedriver.py | 36.8% <25.4%> (-4.1%) |
:arrow_down: |
| labgrid/util/helper.py | 62.6% <0.0%> (-13.2%) |
:arrow_down: |
| labgrid/driver/openocddriver.py | 35.8% <0.0%> (-4.8%) |
:arrow_down: |
| labgrid/driver/sshdriver.py | 54.5% <0.0%> (-3.8%) |
:arrow_down: |
| labgrid/resource/common.py | 85.5% <0.0%> (-2.9%) |
:arrow_down: |
| labgrid/driver/power/digipower.py | 20.0% <0.0%> (-2.3%) |
:arrow_down: |
| labgrid/driver/ubootdriver.py | 59.7% <0.0%> (-1.3%) |
:arrow_down: |
| labgrid/util/agentwrapper.py | 96.5% <0.0%> (-1.2%) |
:arrow_down: |
| ... and 42 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update 41b297f...9d18be3. Read the comment docs.
All comments should have been addressed now; please rereview.
I actually used YAPF to reformat the code at some point, but now I realized that the line length limit is not set in setup.cfg (defaults to PEP8 then). Is the YAPF configuration abandoned?
I actually used YAPF to reformat the code at some point, but now I realized that the line length limit is not set in
setup.cfg(defaults to PEP8 then). Is the YAPF configuration abandoned?
Looks like it. I think the .pylintrc is more relevant.
Thanks, fixup looks good to me. Should I squash now or are you doing that?
I squashed the fixup. I tested this and stumbled upon more bugs. I pushed the fixes as fixups. Please have a look one more time.
LGTM, please squash.
Squashed commits, rebased on current master.
@sephalon Please have another look.
LGTM, please merge.
This needs a rebase for CHANGES.rst.
Done, rebased.
Rebased once again.
The only thing I don't like about this PR is the reliance on pmount instead of a standard DBUS interface like udisks2. There is also #820 now, so you may be able to collaborate on this.
Do you want us to continue on this PR or do you prefer the #820 and we shall not spend any time in this PR as it will not be accepted anyways? Any opinions here? If it makes sense to continue we are happy to do so!
Closing this, I will open a new issue with the relevant information.