-
Notifications
You must be signed in to change notification settings - Fork 900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve i18n newlines test output #23218
base: master
Are you sure you want to change the base?
Improve i18n newlines test output #23218
Conversation
Followup to: ManageIQ#23213 We found the overall number of newlines test failures between English strings and their translations was printed to the screen but not failing the tests. This was ignored. It was decided in the above PR that this test was valid and should fail the tests on failure. I also changed the output to be a bit more readable. Before: ``` Randomized with seed 49148 The following translation entries do not honor overall number of newlines: >> File: /Users/joerafaniello/Code/manageiq/locale/es/manageiq.po ---------- »VMs must be scanned from an EVM server whose host is attached to the same storage as the VM unless overridden via SmartProxy affinity. Please verify that: 1) Direct LUNs are attached to ManageIQ appliance 2) Management Relationship is set for the ManageIQ appliance« »Se deben analizar las MV desde un servidor EVM cuyo host esté conectado al mismo almacenamiento que la MV, a menos que se anule mediante afinidad con SmartProxy. Compruebe que: 1) Los LUN directos estén conectados a un dispositivo ManageIQ 2) La relación de gestión esté configurada para el dispositivo ManageIQ« ---------- >> File: /Users/joerafaniello/Code/manageiq/locale/it/manageiq.po ---------- »VMs must be scanned from an EVM server whose host is attached to the same storage as the VM unless overridden via SmartProxy affinity. Please verify that: 1) Direct LUNs are attached to ManageIQ appliance 2) Management Relationship is set for the ManageIQ appliance« »Le VM devono essere scansate da un server EVM il cui host è collegato alla stessa memoria della VM a meno che non sovrascrivi tramite affinità SmartProxy. Si prega di verificare che: 1) I LUN diretti siano collegati al dispositivo ManageIQ 2) La Relazione di gestione sia impostata per il dispositivo ManageIQ« ---------- 2) 为 ManageIQ 设备设置了管理关系« ---------- ... >> File: /Users/joerafaniello/Code/manageiq/locale/zh_TW/manageiq.po ---------- »Provision failed for the following reasons: %{errors}« »供應失敗,原因如下:%{errors}« ---------- »VMs must be scanned from an EVM server whose host is attached to the same storage as the VM unless overridden via SmartProxy affinity. Please verify that: 1) Direct LUNs are attached to ManageIQ appliance 2) Management Relationship is set for the ManageIQ appliance« »除非透過 SmartProxy 親緣性置換,否則必須從其主機連接至與 VM 相同的儲存體的 EVM 伺服器中掃描 VM。 請驗證: 1) 直接 LUN 已連接至 ManageIQ 應用裝置 2) 已為 ManageIQ 應用裝置設定管理關係« ---------- . Finished in 2.9 seconds (files took 2.97 seconds to load) 1 example, 0 failures ``` After: ``` 1) newlines translations honor newlines Failure/Error: expect(err).to be_empty, "Rule: #{rule} was violated in:\n #{err_msg}" Rule: equal number of overall newlines was violated in: File: /Users/joerafaniello/Code/manageiq/locale/es/manageiq.po English: "»VMs must be scanned from an EVM server whose host is attached to the same\n storage as the VM unless overridden via SmartProxy affinity.\n Please verify that:\n 1) Direct LUNs are attached to ManageIQ appliance\n 2) Management Relationship is set for the ManageIQ appliance«" Translation: "»Se deben analizar las MV desde un servidor EVM cuyo host esté conectado al mismo almacenamiento que la MV, a menos que se anule mediante afinidad con SmartProxy.\n Compruebe que:\n 1) Los LUN directos estén conectados a un dispositivo ManageIQ\n 2) La relación de gestión esté configurada para el dispositivo ManageIQ«" File: /Users/joerafaniello/Code/manageiq/locale/it/manageiq.po English: "»VMs must be scanned from an EVM server whose host is attached to the same\n storage as the VM unless overridden via SmartProxy affinity.\n Please verify that:\n 1) Direct LUNs are attached to ManageIQ appliance\n 2) Management Relationship is set for the ManageIQ appliance«" Translation: "»Le VM devono essere scansate da un server EVM il cui host è collegato alla stessa memoria della VM a meno che non sovrascrivi tramite affinità SmartProxy.\n Si prega di verificare che: 1) I LUN diretti siano collegati al dispositivo ManageIQ 2) La Relazione di gestione sia impostata per il dispositivo ManageIQ«" File: /Users/joerafaniello/Code/manageiq/locale/pt_BR/manageiq.po English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\n example: http://my_file_server.org:3333/xccdf_files/\n Expecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»Permite definir um prefixo de caminho de URL para o arquivo XCCDF em vez de acessar o local padrão.\n Por exemplo: http://my_file_server.org: 3333/xccdf_files/ Esperando encontrar o arquivo com.redhat.rhsa-RHEL7.ds.xml.bz2 lá.«" English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\nexample: http://my_file_server.org:3333/xccdf_files/\nExpecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»Permite definir um prefixo de caminho de URL para o arquivo XCCDF em vez de acessar o local padrão.\nPor exemplo: http://my_file_server.org: 3333/xccdf_files/ Esperando encontrar o arquivo com.redhat.rhsa-RHEL7.ds.xml.bz2 lá.«" English: "»Provision failed for the following reasons:\n%{errors}«" Translation: "»A provisão falhou pelos seguintes motivos: %{errors}«" English: "»VMs must be scanned from an EVM server whose host is attached to the same\n storage as the VM unless overridden via SmartProxy affinity.\n Please verify that:\n 1) Direct LUNs are attached to ManageIQ appliance\n 2) Management Relationship is set for the ManageIQ appliance«" Translation: "»As VMs devem ser escaneadas a partir de um servidor EVM cujo host esteja conectado ao mesmo armazenamento que a VM, a menos que seja substituído por meio da afinidade do SmartProxy.\n Verifique se: 1) LUNs diretas estão conectadas ao dispositivo ManageIQ\n2) O relacionamento de gerenciamento está configurado para o dispositivo ManageIQ«" File: /Users/joerafaniello/Code/manageiq/locale/zh_CN/manageiq.po English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\n example: http://my_file_server.org:3333/xccdf_files/\n Expecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»允许为 XCCDF 文件定义 URL 路径前缀,而不是访问缺省位置。示例:http://my_file_server.org:3333/xccdf_files/\n 应该可在那里找到 com.redhat.rhsa-RHEL7.ds.xml.bz2 文件。«" English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\nexample: http://my_file_server.org:3333/xccdf_files/\nExpecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»允许为 XCCDF 文件定义 URL 路径前缀,而不是访问缺省位置。示例:http://my_file_server.org:3333/xccdf_files/\n 应该可在那里找到 com.redhat.rhsa-RHEL7.ds.xml.bz2 文件。«" English: "»Provision failed for the following reasons:\n%{errors}«" Translation: "»由于以下原因,供应失败:%{errors}«" English: "»VMs must be scanned from an EVM server whose host is attached to the same\n storage as the VM unless overridden via SmartProxy affinity.\n Please verify that:\n 1) Direct LUNs are attached to ManageIQ appliance\n 2) Management Relationship is set for the ManageIQ appliance«" Translation: "»虚拟机必须从 EVM 服务器扫描,它的主机附加到和虚拟机相同的存储器上,除非通过 SmartProxy 关联覆盖。\n 请验证:\n 1) 直接 LUN 附加到 ManageIQ 设备\n 2) 为 ManageIQ 设备设置了管理关系«" File: /Users/joerafaniello/Code/manageiq/locale/zh_TW/manageiq.po English: "»Datastore import was successful.\nNamespaces updated/added: %{namespace_stats}\nClasses updated/added: %{class_stats}\nInstances updated/added: %{instance_stats}\nMethods updated/added: %{method_stats}«" Translation: "»成功匯入資料儲存庫。已更新/已新增名稱空間:%{namespace_stats}\n已更新/已新增類別:%{class_stats}\n已更新/已新增實例:%{instance_stats}\n已更新/已新增方法:%{method_stats}«" English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\n example: http://my_file_server.org:3333/xccdf_files/\n Expecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»啟用為 XCCDF 檔案定義 URL 路徑字首而非存取預設位置的功能。例如:http://my_file_server.org:3333/xccdf_files/,期望在這裡能夠找到 com.redhat.rhsa-RHEL7.ds.xml.bz2 檔。«" English: "»Enables defining a URL path prefix for XCCDF file instead of accessing the default location.\nexample: http://my_file_server.org:3333/xccdf_files/\nExpecting to find com.redhat.rhsa-RHEL7.ds.xml.bz2 file there.«" Translation: "»啟用為 XCCDF 檔案定義 URL 路徑字首而非存取預設位置的功能。例如:http://my_file_server.org:3333/xccdf_files/,期望在這裡能夠找到 com.redhat.rhsa-RHEL7.ds.xml.bz2 檔。«" English: "»Provision failed for the following reasons:\n%{errors}«" Translation: "»供應失敗,原因如下:%{errors}«" English: "»VMs must be scanned from an EVM server whose host is attached to the same\n storage as the VM unless overridden via SmartProxy affinity.\n Please verify that:\n 1) Direct LUNs are attached to ManageIQ appliance\n 2) Management Relationship is set for the ManageIQ appliance«" Translation: "»除非透過 SmartProxy 親緣性置換,否則必須從其主機連接至與 VM 相同的儲存體的 EVM 伺服器中掃描 VM。\n 請驗證: 1) 直接 LUN 已連接至 ManageIQ 應用裝置 2) 已為 ManageIQ 應用裝置設定管理關係«" Shared Example Group: :newlines called from ./spec/i18n/newlines_spec.rb:2 # ./spec/shared/i18n/newlines.rb:51:in `block (3 levels) in <main>' # ./spec/shared/i18n/newlines.rb:40:in `each' # ./spec/shared/i18n/newlines.rb:40:in `block (2 levels) in <main>' # /Users/joerafaniello/.gem/ruby/3.1.5/gems/webmock-3.24.0/lib/webmock/rspec.rb:39:in `block (2 levels) in <main>' Finished in 3.01 seconds (files took 2.75 seconds to load) 1 example, 1 failure ```
@Fryguy FYI, the test still fails after I run
from #23215... at least now, I can see the |
Checked commit jrafanie@4b0f2d4 with ruby 3.1.5, rubocop 1.56.3, haml-lint 0.51.0, and yamllint |
I don't follow - I removed the newline on purpose in https://github.com/ManageIQ/manageiq/pull/23215/files#diff-0b1a6bddeecb64b558cf43f0da0280d86b91d58f9b0dd89e0e3cf52b136d80b4R1512 |
Honestly it's harder to read for me :) |
I think maybe remove the surrounding Another options might be to just now show the string at all, and then put something like found 5 |
If this continues to fail, you probably just need to delete the CI cache - the cache is likely pointing to an older version of the other repos...this is not uncommon for cross-repo concerns like this. |
I killed the cached, so I'm rekicking this. |
I think the reason this is failing is because the .pot/.po files needs to be rebuilt as part of this PR (or separately on master and merged). The test is just looking at the existing .po files, which of course haven't been updated yet. |
Followup to: #23213
We found the overall number of newlines test failures between English strings and their translations was printed to the screen but not failing the tests.
This was ignored. It was decided in the above PR that this test was valid and should fail the tests on failure.
I also changed the output to be a bit more readable.
Before:
After: