Skip to content

Test failures: Panasonic Lumix DMC TZ61 #12

Description

@juleskers

As promised in #6, I've finally made some time, and dug out my old-ish handheld camera, Panasonic Lumix DMC TZ61.

It's discontinued (sold 2014-2016), but I found an old spec-sheet in a review
(Just for reference and a picture, so we all understand what I'm talking about).

This device offers "pictbridge (PTP)", but, from the looks of it, in read-only mode.
In fact, it seems to actively filter the contents of the SD-card: files and folders that I manually create on the SD-card (taking the card out of the camera, inserting it directly into my PC) are invisible via the PTP-view.
Even copying a camera-made photo 'up' into the root folder doesn't show it, so it seems photos need to be named exactly /DCIM/1nn_PANA/nnnmmmm.jpg. The same file also doesn't show if I put it in the "MISC" folder.

I tested commit 73fd145 "Docs: Correct 0.18.0/0.19.0 changelog,"
(main at time of writing)

I first tried to 'just' run the tests: cargo test --test integration -- --ignored --nocapture --test-threads=1

  • device connection -> ✔️ works
  • All the tests that attempt writing -> 💣 panic;
  • the rename-test -> 🦺 detects Device doesn't support rename, skipping
  • test_list_root_folder -> ✔️ works (sees only the two explicitly firmware-whitelisted folders offered by the camera)
    • manually adding a "TEST" folder to the root doesn't show up, neither in the test-listing, nor in the 'normal' gphoto2 mountpoint created by my linux distro.
  • test_cancel_download_then_reuse_session -> Since the camera shows nothing at the root, it can't find a file to download.
    However, it also cannot find one recursively, despite hundreds of photos being in the exposed folders, many of which in the 4-9MB range.
     Searching for file (100KB-10MB) to cancel...
       [00:00:00.267] No file in common folders, trying recursive listing...
    
  • I consider it 'working as intended' that the tests panic if I forget to unmount the camera from my linux (device already claimed by the OS -> not available for mtp-rs to claim it)

I'm attaching the full log, with backtrace and custom test folder:
RUST_BACKTRACE=1 MTP_TEST_FOLDER=MISC cargo test --test integration -- --ignored --nocapture --test-threads=1 2>&1 | tee Panasonic_Lumix_DMC_TZ61.txt ->
Panasonic_Lumix_DMC_TZ61.txt


In summary, the basic reading works, though I'm wondering why the recursive-search cannot find any good files, even though they are present..
Writing is not supported by the device, but it seems that however-this-is-communicated (if at all) isn't picked up by mtp-rs, so leads to panics.

I hope the backtraces will help you identify areas for improvement, and I'll happily retest version you care to show (just understand that it might be days/weeks/months before I can make time again)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions