This fixes a regression in db59e55fe7a0b67d3af868990468e7b8056afe42: prior to that commit `mpremote` supported trailing slashes on the destination of a normal (non-recursive) copy. Add back support for that, with the semantics that a trailing slash requires the destination to be an existing directory. Also add a test for this. Signed-off-by: Damien George <damien@micropython.org>
194 lines
3.2 KiB
Plaintext
194 lines
3.2 KiB
Plaintext
-----
|
|
ls :
|
|
-----
|
|
touch :a.py
|
|
touch :b.py
|
|
ls :
|
|
0 a.py
|
|
0 b.py
|
|
sha256sum :a.py
|
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
|
|
-----
|
|
cp ${TMP}/a.py :
|
|
cp ${TMP}/a.py :b.py
|
|
cp ${TMP}/a.py :c.py
|
|
cp :a.py :d.py
|
|
ls :
|
|
30 a.py
|
|
30 b.py
|
|
30 c.py
|
|
30 d.py
|
|
Hello
|
|
World
|
|
Hello
|
|
World
|
|
Hello
|
|
World
|
|
sha256sum :a.py
|
|
50f0a701dd6cd6125387b96515300c9d5294c006518f8e62fa9eea3b66587f21
|
|
50f0a701dd6cd6125387b96515300c9d5294c006518f8e62fa9eea3b66587f21 -
|
|
-----
|
|
mkdir :aaa
|
|
mkdir :bbb
|
|
cp ${TMP}/a.py :aaa
|
|
cp ${TMP}/a.py :bbb/b.py
|
|
print("Hello")
|
|
print("World")
|
|
print("Hello")
|
|
print("World")
|
|
-----
|
|
cp ${TMP}/a.py :aaa
|
|
print("Hello")
|
|
print("World")
|
|
-----
|
|
cp ${TMP}/a.py :aaa/
|
|
Up to date: aaa/a.py
|
|
cp ${TMP}/a.py :aaa/a.py/
|
|
mpremote: cp: destination is not a directory
|
|
expect error
|
|
-----
|
|
rm :b.py
|
|
rm :c.py
|
|
ls :
|
|
30 a.py
|
|
30 d.py
|
|
0 aaa/
|
|
0 bbb/
|
|
rm :aaa/a.py
|
|
rm :bbb/b.py
|
|
rmdir :aaa
|
|
rmdir :bbb
|
|
ls :
|
|
30 a.py
|
|
30 d.py
|
|
-----
|
|
edit :d.py
|
|
sha256sum :d.py
|
|
612c7ddb88390ac86b4174b26a6e5b52fc2f2838b234efd8f6f7c41631a49d04
|
|
Goodbye
|
|
World
|
|
-----
|
|
cp ${TMP}/package :
|
|
ls :
|
|
0 package/
|
|
ls :package
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :package/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
x
|
|
y
|
|
-----
|
|
cp ${TMP}/package :package2
|
|
ls :
|
|
0 package2/
|
|
ls :package2
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :package2/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
x
|
|
y
|
|
-----
|
|
mkdir :test
|
|
cp ${TMP}/package :test
|
|
ls :test
|
|
0 package/
|
|
ls :test/package
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :test/package/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
-----
|
|
cp ${TMP}/package :test/package2
|
|
ls :test
|
|
0 package/
|
|
0 package2/
|
|
ls :test/package2
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :test/package2/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
-----
|
|
cp :test/package ${TMP}/copy
|
|
${TMP}/copy:
|
|
package
|
|
|
|
${TMP}/copy/package:
|
|
__init__.py
|
|
subpackage
|
|
x.py
|
|
|
|
${TMP}/copy/package/subpackage:
|
|
__init__.py
|
|
y.py
|
|
-----
|
|
cp :test/package ${TMP}/copy/package2
|
|
${TMP}/copy:
|
|
package
|
|
package2
|
|
|
|
${TMP}/copy/package2:
|
|
__init__.py
|
|
subpackage
|
|
x.py
|
|
|
|
${TMP}/copy/package2/subpackage:
|
|
__init__.py
|
|
y.py
|
|
-----
|
|
cp ${TMP}/package :
|
|
cp :package :package3
|
|
ls :
|
|
0 package/
|
|
0 package3/
|
|
ls :package3
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :package3/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
-----
|
|
cp ${TMP}/package :
|
|
mkdir :package4
|
|
cp :package :package4
|
|
ls :
|
|
0 package/
|
|
0 package4/
|
|
ls :package4
|
|
0 package/
|
|
ls :package4/package
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :package4/package/subpackage
|
|
17 __init__.py
|
|
22 y.py
|
|
-----
|
|
cp ${TMP}/package :
|
|
Up to date: ./package/__init__.py
|
|
Up to date: ./package/subpackage/__init__.py
|
|
Up to date: ./package/x.py
|
|
ls :
|
|
0 package/
|
|
0 package4/
|
|
ls :package
|
|
0 subpackage/
|
|
43 __init__.py
|
|
22 x.py
|
|
ls :package/subpackage
|
|
17 __init__.py
|
|
23 y.py
|
|
x
|
|
y2
|