Skip to content

Conversation

alimirjamali
Copy link
Contributor

Core and API part of adding free-form text to each qube for comments, notes, descriptions, remarks, reminders, etc.

fixes: QubesOS/qubes-issues#899

@alimirjamali alimirjamali marked this pull request as draft February 16, 2025 17:19
@alimirjamali alimirjamali force-pushed the issue-899 branch 4 times, most recently from 0940271 to 72c5176 Compare February 17, 2025 09:32
@marmarek
Copy link
Member

Black complains

Copy link

codecov bot commented Feb 20, 2025

Codecov Report

Attention: Patch coverage is 94.28571% with 2 lines in your changes missing coverage. Please review.

Project coverage is 70.45%. Comparing base (1473c37) to head (96cc2ac).
Report is 26 commits behind head on main.

Files with missing lines Patch % Lines
qubes/backup.py 66.66% 1 Missing ⚠️
qubes/vm/qubesvm.py 92.30% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #656      +/-   ##
==========================================
+ Coverage   70.25%   70.45%   +0.19%     
==========================================
  Files          59       61       +2     
  Lines       12747    12932     +185     
==========================================
+ Hits         8956     9111     +155     
- Misses       3791     3821      +30     
Flag Coverage Δ
unittests 70.45% <94.28%> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@alimirjamali
Copy link
Contributor Author

Black complains

Black complains are resolved. And the Codecov is advising on the required unittests. I guess I can proceed with the unittests? And I should assure that proper errors are raised if necessary.

@alimirjamali alimirjamali force-pushed the issue-899 branch 13 times, most recently from 2fdb146 to 884cd29 Compare February 26, 2025 00:27
@alimirjamali alimirjamali marked this pull request as ready for review February 26, 2025 00:53
@alimirjamali alimirjamali force-pushed the issue-899 branch 4 times, most recently from 08e8794 to ad6cace Compare April 13, 2025 19:00
@qubesos-bot
Copy link

qubesos-bot commented Apr 16, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025042723-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=2025031804-4.3&flavor=update

  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-qube-manager' m...

Failed tests

8 failures
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_qwt_win10_seamless@hw13

    • windows_clipboard_and_filecopy: unnamed test (unknown)
    • windows_clipboard_and_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'windows-Edge-address-...
  • system_tests_qwt_win11@hw13

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

    • windows_install: Failed (test died + timed out)
      # Test died: command 'script -e -c 'bash -x /usr/bin/qvm-create-win...

  • system_tests_guivm_vnc_gui_interactive

    • guivm_manager: unnamed test (unknown)
    • guivm_manager: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-qube-manager' m...

Fixed failures

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

14 fixed
  • system_tests_basic_vm_qrexec_gui

  • system_tests_kde_gui_interactive

    • clipboard_and_web: unnamed test (unknown)

    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'qubes-website' matche...

    • clipboard_and_web: wait_serial (wait serial expected)
      # wait_serial expected: "lspci; echo 2E8vz-\$?-"...

  • system_tests_audio

  • system_tests_whonix@hw7

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

    • whonixcheck: unnamed test (unknown)

  • system_tests_guivm_vnc_gui_interactive

    • gui_filecopy: unnamed test (unknown)
    • gui_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'files-work' matched...
  • system_tests_whonix

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

    • whonixcheck: unnamed test (unknown)

  • system_tests_suspend

    • suspend: unnamed test (unknown)
    • suspend: Failed (test died)
      # Test died: no candidate needle with tag(s) 'SUSPEND-FAILED' match...
  • system_tests_qrexec

Unstable tests

Performance Tests

Performance degradation:

17 performance degradations
  • whonix-gateway-17_exec: 8.14 :small_red_triangle_up: ( previous job: 6.82, degradation: 119.34%)
  • whonix-gateway-17_socket-root: 8.81 :small_red_triangle_up: ( previous job: 7.65, degradation: 115.11%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 203535.00 :small_red_triangle_up: ( previous job: 446963.00, degradation: 45.54%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 186051.00 :small_red_triangle_up: ( previous job: 294295.00, degradation: 63.22%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 50470.00 :small_red_triangle_up: ( previous job: 95454.00, degradation: 52.87%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 21904.00 :small_red_triangle_up: ( previous job: 79803.00, degradation: 27.45%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 5522.00 :small_red_triangle_up: ( previous job: 6149.00, degradation: 89.80%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 2034.00 :small_red_triangle_up: ( previous job: 4826.00, degradation: 42.15%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 3259.00 :small_red_triangle_up: ( previous job: 4903.00, degradation: 66.47%)
  • fedora-41-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 275216.00 :small_red_triangle_up: ( previous job: 318716.00, degradation: 86.35%)
  • fedora-41-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2369.00 :small_red_triangle_up: ( previous job: 3599.00, degradation: 65.82%)
  • fedora-41-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 7532.00 :small_red_triangle_up: ( previous job: 8485.00, degradation: 88.77%)
  • fedora-41-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 52078.00 :small_red_triangle_up: ( previous job: 61534.00, degradation: 84.63%)
  • fedora-41-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 1002.00 :small_red_triangle_up: ( previous job: 2215.00, degradation: 45.24%)
  • fedora-41-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 105015.00 :small_red_triangle_up: ( previous job: 179949.00, degradation: 58.36%)
  • fedora-41-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 15085.00 :small_red_triangle_up: ( previous job: 17567.00, degradation: 85.87%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 69001.00 :small_red_triangle_up: ( previous job: 79021.00, degradation: 87.32%)

Remaining performance tests:

55 tests
  • debian-12-xfce_exec: 7.12 :small_red_triangle_up: ( previous job: 7.12, degradation: 100.02%)
  • debian-12-xfce_exec-root: 28.76 :small_red_triangle_up: ( previous job: 28.65, degradation: 100.37%)
  • debian-12-xfce_socket: 8.95 :small_red_triangle_up: ( previous job: 8.60, degradation: 104.03%)
  • debian-12-xfce_socket-root: 8.29 🟢 ( previous job: 8.52, improvement: 97.25%)
  • debian-12-xfce_exec-data-simplex: 68.15 🟢 ( previous job: 71.62, improvement: 95.16%)
  • debian-12-xfce_exec-data-duplex: 69.68 🟢 ( previous job: 70.34, improvement: 99.06%)
  • debian-12-xfce_exec-data-duplex-root: 74.95 🟢 ( previous job: 82.72, improvement: 90.61%)
  • debian-12-xfce_socket-data-duplex: 167.51 :small_red_triangle_up: ( previous job: 156.96, degradation: 106.72%)
  • fedora-41-xfce_exec: 8.92 🟢 ( previous job: 9.27, improvement: 96.23%)
  • fedora-41-xfce_exec-root: 62.28 :small_red_triangle_up: ( previous job: 61.51, degradation: 101.26%)
  • fedora-41-xfce_socket: 7.91 🟢 ( previous job: 8.63, improvement: 91.70%)
  • fedora-41-xfce_socket-root: 8.63 🟢 ( previous job: 8.71, improvement: 99.16%)
  • fedora-41-xfce_exec-data-simplex: 74.04 🟢 ( previous job: 75.53, improvement: 98.02%)
  • fedora-41-xfce_exec-data-duplex: 64.32 🟢 ( previous job: 71.56, improvement: 89.88%)
  • fedora-41-xfce_exec-data-duplex-root: 107.58 🟢 ( previous job: 109.13, improvement: 98.58%)
  • fedora-41-xfce_socket-data-duplex: 140.61 🟢 ( previous job: 150.61, improvement: 93.36%)
  • whonix-gateway-17_exec-root: 39.45 🟢 ( previous job: 40.43, improvement: 97.56%)
  • whonix-gateway-17_socket: 6.96 🟢 ( previous job: 7.24, improvement: 96.25%)
  • whonix-gateway-17_exec-data-simplex: 78.60 :small_red_triangle_up: ( previous job: 78.32, degradation: 100.36%)
  • whonix-gateway-17_exec-data-duplex: 64.73 🟢 ( previous job: 76.65, improvement: 84.44%)
  • whonix-gateway-17_exec-data-duplex-root: 92.47 :small_red_triangle_up: ( previous job: 88.52, degradation: 104.46%)
  • whonix-gateway-17_socket-data-duplex: 167.95 🟢 ( previous job: 171.76, improvement: 97.78%)
  • whonix-workstation-17_exec: 8.08 :small_red_triangle_up: ( previous job: 7.67, degradation: 105.33%)
  • whonix-workstation-17_exec-root: 53.54 🟢 ( previous job: 58.26, improvement: 91.90%)
  • whonix-workstation-17_socket: 8.15 🟢 ( previous job: 8.19, improvement: 99.40%)
  • whonix-workstation-17_socket-root: 7.78 🟢 ( previous job: 8.13, improvement: 95.66%)
  • whonix-workstation-17_exec-data-simplex: 70.09 🟢 ( previous job: 74.99, improvement: 93.45%)
  • whonix-workstation-17_exec-data-duplex: 76.01 :small_red_triangle_up: ( previous job: 72.71, degradation: 104.54%)
  • whonix-workstation-17_exec-data-duplex-root: 98.99 🟢 ( previous job: 99.82, improvement: 99.17%)
  • whonix-workstation-17_socket-data-duplex: 151.81 🟢 ( previous job: 169.50, improvement: 89.56%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 236378.00 :green_circle: ( previous job: 129298.00, improvement: 182.82%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 11964.00 :green_circle: ( previous job: 10795.00, improvement: 110.83%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 393757.00 :green_circle: ( previous job: 382273.00, improvement: 103.00%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 320763.00 :green_circle: ( previous job: 250795.00, improvement: 127.90%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 436906.00 :small_red_triangle_up: ( previous job: 437636.00, degradation: 99.83%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 172233.00 :small_red_triangle_up: ( previous job: 184752.00, degradation: 93.22%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 106175.00 :green_circle: ( previous job: 62195.00, improvement: 170.71%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 7386.00 :green_circle: ( previous job: 6479.00, improvement: 114.00%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7704.00 :green_circle: ( previous job: 7669.00, improvement: 100.46%)
  • fedora-41-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 377185.00 :green_circle: ( previous job: 368309.00, improvement: 102.41%)
  • fedora-41-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 162140.00 :green_circle: ( previous job: 162081.00, improvement: 100.04%)
  • fedora-41-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 96619.00 :green_circle: ( previous job: 87940.00, improvement: 109.87%)
  • fedora-41-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 84529.00 :green_circle: ( previous job: 82694.00, improvement: 102.22%)
  • fedora-41-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1691.00 :green_circle: ( previous job: 542.00, improvement: 311.99%)
  • fedora-41-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 344359.00 :small_red_triangle_up: ( previous job: 373957.00, degradation: 92.09%)
  • fedora-41-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 191848.00 :green_circle: ( previous job: 170062.00, improvement: 112.81%)
  • fedora-41-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 322242.00 :small_red_triangle_up: ( previous job: 334687.00, degradation: 96.28%)
  • fedora-41-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 94503.00 :green_circle: ( previous job: 80283.00, improvement: 117.71%)
  • fedora-41-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 8764.00 :green_circle: ( previous job: 7540.00, improvement: 116.23%)
  • fedora-41-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 1200.00 :green_circle: ( previous job: 1130.00, improvement: 106.19%)
  • fedora-41-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 345380.00 :small_red_triangle_up: ( previous job: 369868.00, degradation: 93.38%)
  • fedora-41-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 321846.00 :small_red_triangle_up: ( previous job: 324737.00, degradation: 99.11%)
  • fedora-41-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 6121.00 :green_circle: ( previous job: 5672.00, improvement: 107.92%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7611.00 :small_red_triangle_up: ( previous job: 7867.00, degradation: 96.75%)
  • fedora-41-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1951.00 :small_red_triangle_up: ( previous job: 1953.00, degradation: 99.90%)

Copy link
Member

@marmarek marmarek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something went wrong, multi-line notes don't work - looks like newline char is replaced with _. When you fix it, a test for this case would be useful too.

@alimirjamali
Copy link
Contributor Author

Something went wrong, multi-line notes don't work - looks like newline char is replaced with _. When you fix it, a test for this case would be useful too.

It appears that qubes_pure_string_safe_for_display counts space as a safe character for display but does not count \n\t as safe characters.

Core and API part of adding free-form text to each qube for comments,
notes, descriptions, remarks, reminders, etc.

fixes: QubesOS/qubes-issues#899
@marmarek marmarek merged commit 4b4a7fd into QubesOS:main Apr 28, 2025
4 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.

Allow users to add free-form text to qubes (for descriptions, notes, comments, remarks, reminders, etc.)
3 participants