Skip to content

restore: add hyphen before number suffix for conflicting name#410

Merged
marmarek merged 1 commit intoQubesOS:mainfrom
rustybird:rename-conflicting-hyphen
Feb 7, 2026
Merged

restore: add hyphen before number suffix for conflicting name#410
marmarek merged 1 commit intoQubesOS:mainfrom
rustybird:rename-conflicting-hyphen

Conversation

@rustybird
Copy link
Contributor

See commit message

Rename e.g. debian-13 to debian-13-1 instead of debian-131
@codecov
Copy link

codecov bot commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 75.99%. Comparing base (a27a48d) to head (369fec4).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
qubesadmin/backup/restore.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #410   +/-   ##
=======================================
  Coverage   75.99%   75.99%           
=======================================
  Files          53       53           
  Lines        9264     9264           
=======================================
  Hits         7040     7040           
  Misses       2224     2224           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marmarek
Copy link
Member

marmarek commented Feb 3, 2026

I'm pretty sure backup tests in https://github.com/QubesOS/qubes-core-admin/tree/main/qubes/tests/integ will need adjustment too. I see it at least at https://github.com/QubesOS/qubes-core-admin/blob/main/qubes/tests/integ/backup.py#L641, but probably in few other tests too.

@qubesos-bot
Copy link

qubesos-bot commented Feb 3, 2026

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026020704-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026020304-devel&flavor=update

  • system_tests_network

  • system_tests_guivm_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/JrqaX-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form [email protected] --form upn...

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/lqE1a-\d+-/...

  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_20_NonAudio_whonix-gateway-18-pool: test_000_start_shutdown (error)
      subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_gui_tools

    • qubesmanager_manager: unnamed test (unknown)
    • qubesmanager_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qube-manager-dom0-log...

Failed tests

7 failures
  • system_tests_network

  • system_tests_guivm_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/JrqaX-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form [email protected] --form upn...

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/lqE1a-\d+-/...

  • system_tests_basic_vm_qrexec_gui_xfs

    • TC_20_NonAudio_whonix-gateway-18-pool: test_000_start_shutdown (error)
      subprocess.CalledProcessError: Command 'qubes.WaitForSession' retur...
  • system_tests_gui_tools

    • qubesmanager_manager: unnamed test (unknown)
    • qubesmanager_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qube-manager-dom0-log...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/166096#dependencies

31 fixed
  • system_tests_network

  • system_tests_pvgrub_salt_storage

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.grub failed (exit code 1), details reported...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_41_HVMGrub_fedora-42-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-42-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/m~uU4-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form [email protected] --form upn...

  • system_tests_network_ipv6

  • system_tests_network_updates

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_000_update_salt (failure)
      ?[0;31mDuration: 139139.863 ms?[0;0m... ?[0;31m Changes: ?[0;0m

  • system_tests_dispvm

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.dispvm failed (exit code 1), details report...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_DispVM_whonix-workstation-18: test_015_preload_race_more (error)
      raise TimeoutError from exc_val... TimeoutError

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)

    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'menu-qubes-tools' mat...

    • guivm_manager: wait_serial (wait serial expected)
      # wait_serial expected: qr/yp0HG-\d+-/...

  • system_tests_audio

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_AudioVM_PipeWire_whonix-workstation-18: test_260_audio_mic_enabled_switch_audiovm (failure)
      AssertionError: Failed to get mic attach/detach status!

  • system_tests_whonix

    • whonixcheck: fail (unknown)
      Whonixcheck for anon-whonix failed...

    • whonixcheck: wait_serial (wait serial expected)
      # wait_serial expected: qr/D8rIe-\d+-/...

    • whonixcheck: Failed (test died + timed out)
      # Test died: command 'qvm-run -ap whonix-gateway-18 'LC_ALL=C whon...

Unstable tests

Details

Performance Tests

Performance degradation:

No issues

Remaining performance tests:

No remaining performance tests

@rustybird
Copy link
Contributor Author

@marmarek

Thanks, looks like it's just that one integration test. I'll adjust it.

Come to think of it, how about starting the numerical suffix from 2 instead of 1? IMO that would make more sense. (Or something like vmname-restore-1 - but that seems maybe a little bit too long.)

@marmarek
Copy link
Member

marmarek commented Feb 4, 2026

Come to think of it, how about starting the numerical suffix from 2 instead of 1?

Usually file managers in similar situation (file name conflicts) start the number suffix at 1.

@rustybird
Copy link
Contributor Author

Nautilus adds (2), and Thunar adds (copy 1). Both look fine to me because "the 2nd foo" is the "the 1st copy of foo". OTOH Firefox and Chromium really do just add (1) without any copy marker string for automatic downloads. I guess it's not that weird.

@marmarek marmarek merged commit c55c099 into QubesOS:main Feb 7, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants