Skip to content

Conversation

@ermshiperete
Copy link
Contributor

@ermshiperete ermshiperete commented Dec 12, 2025

This change groups similar tests together. Also update build.sh to compile .js files.

Renamed test files, sorted by new name
Old name                                    → New name
------------------------------------------------------------------------------------
k_000___null_keyboard.kmn                   → k_0000___null_keyboard.kmn
k_003___nul.kmn                             → k_0001___nul.kmn
k_005___nul_with_initial_context.kmn        → k_0002___nul_with_initial_context.kmn
k_018___nul_testing.kmn                     → k_0003___nul_testing.kmn
k_017___space_mnemonic_kbd.kmn              → k_0004___space_mnemonic_kbd.kmn
k_029___beep.kmn                            → k_0005___beep.kmn

k_001___basic_input_unicodei.kmn            → k_0100___basic_input_unicodei.kmn
k_002___basic_input_unicode.kmn             → k_0101___basic_input_unicode.kmn
k_004___basic_input__shift_2_.kmn           → k_0102___basic_input__shift_2_.kmn
k_006___vkey_input__shift_ctrl_.kmn         → k_0103___vkey_input__shift_ctrl_.kmn
k_007___vkey_input__ctrl_alt_.kmn           → k_0104___vkey_input__ctrl_alt_.kmn
k_008___vkey_input__ctrl_alt_2_.kmn         → k_0105___vkey_input__ctrl_alt_2_.kmn
k_028___smp.kmn                             → k_0106___smp.kmn
k_038___punctkeys.kmn                       → k_0107___punctkeys.kmn

k_012___ralt.kmn                            → k_0200___ralt.kmn
k_015___ralt_2.kmn                          → k_0201___ralt_2.kmn
k_016___alt.kmn                             → k_0202___alt.kmn
k_039___generic_ctrlalt.kmn                 → k_0203___generic_ctrlalt.kmn

k_013___deadkeys.kmn                        → k_0300___deadkeys.kmn
k_019___multiple_deadkeys.kmn               → k_0301___multiple_deadkeys.kmn
k_020___deadkeys_and_backspace.kmn          → k_0302___deadkeys_and_backspace.kmn

k_014___groups_and_virtual_keys.kmn         → k_0400___groups_and_virtual_keys.kmn
k_030___multiple_groups.kmn                 → k_0401___multiple_groups.kmn
k_043___output_and_keystroke.kmn            → k_0402___output_and_keystroke.kmn

k_021___options.kmn                         → k_0500___options.kmn
k_022___options_with_preset.kmn             → k_0501___options_with_preset.kmn
k_023___options_with_save.kmn               → k_0502___options_with_save.kmn
k_024___options_with_save_and_preset.kmn    → k_0503___options_with_save_and_preset.kmn
k_025___options_with_reset.kmn              → k_0504___options_with_reset.kmn
k_034___options_double_set_reset.kmn        → k_0505___options_double_set_reset.kmn
k_035___options_double_set_staged.kmn       → k_0506___options_double_set_staged.kmn
k_036___options___double_reset_staged.kmn   → k_0507___options___double_reset_staged.kmn
k_037___options___double_reset.kmn          → k_0508___options___double_reset.kmn

k_026___system_stores.kmn                   → k_0600___system_stores.kmn
k_027___system_stores_2.kmn                 → k_0601___system_stores_2.kmn

k_031___caps_lock.kmn                       → k_0700___caps_lock.kmn
k_032___caps_control.kmn                    → k_0701___caps_control.kmn
k_033___caps_always_off.kmn                 → k_0702___caps_always_off.kmn
k_047___caps_always_off_initially_on.kmn    → k_0703___caps_always_off_initially_on.kmn

k_040___long_context.kmn                    → k_0800___long_context.kmn
k_041___long_context_and_deadkeys.kmn       → k_0801___long_context_and_deadkeys.kmn
k_042___long_context_and_split_deadkeys.kmn → k_0802___long_context_and_split_deadkeys.kmn
k_044___if_and_context.kmn                  → k_0803___if_and_context.kmn
k_045___deadkey_and_context.kmn             → k_0804___deadkey_and_context.kmn
k_046___deadkey_and_contextex.kmn           → k_0805___deadkey_and_contextex.kmn
k_048___modifier_keys_keep_context.kmn      → k_0806___modifier_keys_keep_context.kmn
k_049___enter_invalidates_context.kmn       → k_0807___enter_invalidates_context.kmn
k_050___nul_and_context.kmn                 → k_0808___nul_and_context.kmn
k_051___if_and_context.kmn                  → k_0809___if_and_context.kmn
k_052___nul_and_index.kmn                   → k_0810___nul_and_index.kmn
k_053___if_and_index.kmn                    → k_0811___if_and_index.kmn
k_054___nul_and_contextex.kmn               → k_0812___nul_and_contextex.kmn
k_055___deadkey_cancelled_by_arrow.kmn      → k_0813___deadkey_cancelled_by_arrow.kmn
Renamed test files, sorted by old name
Old name                                    → New name
------------------------------------------------------------------------------------
k_000___null_keyboard.kmn                   → k_0000___null_keyboard.kmn
k_001___basic_input_unicodei.kmn            → k_0100___basic_input_unicodei.kmn
k_002___basic_input_unicode.kmn             → k_0101___basic_input_unicode.kmn
k_003___nul.kmn                             → k_0001___nul.kmn
k_004___basic_input__shift_2_.kmn           → k_0102___basic_input__shift_2_.kmn
k_005___nul_with_initial_context.kmn        → k_0002___nul_with_initial_context.kmn
k_006___vkey_input__shift_ctrl_.kmn         → k_0103___vkey_input__shift_ctrl_.kmn
k_007___vkey_input__ctrl_alt_.kmn           → k_0104___vkey_input__ctrl_alt_.kmn
k_008___vkey_input__ctrl_alt_2_.kmn         → k_0105___vkey_input__ctrl_alt_2_.kmn
k_012___ralt.kmn                            → k_0200___ralt.kmn
k_013___deadkeys.kmn                        → k_0300___deadkeys.kmn
k_014___groups_and_virtual_keys.kmn         → k_0400___groups_and_virtual_keys.kmn
k_015___ralt_2.kmn                          → k_0201___ralt_2.kmn
k_016___alt.kmn                             → k_0202___alt.kmn
k_017___space_mnemonic_kbd.kmn              → k_0004___space_mnemonic_kbd.kmn
k_018___nul_testing.kmn                     → k_0003___nul_testing.kmn
k_019___multiple_deadkeys.kmn               → k_0301___multiple_deadkeys.kmn
k_020___deadkeys_and_backspace.kmn          → k_0302___deadkeys_and_backspace.kmn
k_021___options.kmn                         → k_0500___options.kmn
k_022___options_with_preset.kmn             → k_0501___options_with_preset.kmn
k_023___options_with_save.kmn               → k_0502___options_with_save.kmn
k_024___options_with_save_and_preset.kmn    → k_0503___options_with_save_and_preset.kmn
k_025___options_with_reset.kmn              → k_0504___options_with_reset.kmn
k_026___system_stores.kmn                   → k_0600___system_stores.kmn
k_027___system_stores_2.kmn                 → k_0601___system_stores_2.kmn
k_028___smp.kmn                             → k_0106___smp.kmn
k_029___beep.kmn                            → k_0005___beep.kmn
k_030___multiple_groups.kmn                 → k_0401___multiple_groups.kmn
k_031___caps_lock.kmn                       → k_0700___caps_lock.kmn
k_032___caps_control.kmn                    → k_0701___caps_control.kmn
k_033___caps_always_off.kmn                 → k_0702___caps_always_off.kmn
k_034___options_double_set_reset.kmn        → k_0505___options_double_set_reset.kmn
k_035___options_double_set_staged.kmn       → k_0506___options_double_set_staged.kmn
k_036___options___double_reset_staged.kmn   → k_0507___options___double_reset_staged.kmn
k_037___options___double_reset.kmn          → k_0508___options___double_reset.kmn
k_038___punctkeys.kmn                       → k_0107___punctkeys.kmn
k_039___generic_ctrlalt.kmn                 → k_0203___generic_ctrlalt.kmn
k_040___long_context.kmn                    → k_0800___long_context.kmn
k_041___long_context_and_deadkeys.kmn       → k_0801___long_context_and_deadkeys.kmn
k_042___long_context_and_split_deadkeys.kmn → k_0802___long_context_and_split_deadkeys.kmn
k_043___output_and_keystroke.kmn            → k_0402___output_and_keystroke.kmn
k_044___if_and_context.kmn                  → k_0803___if_and_context.kmn
k_045___deadkey_and_context.kmn             → k_0804___deadkey_and_context.kmn
k_046___deadkey_and_contextex.kmn           → k_0805___deadkey_and_contextex.kmn
k_047___caps_always_off_initially_on.kmn    → k_0703___caps_always_off_initially_on.kmn
k_048___modifier_keys_keep_context.kmn      → k_0806___modifier_keys_keep_context.kmn
k_049___enter_invalidates_context.kmn       → k_0807___enter_invalidates_context.kmn
k_050___nul_and_context.kmn                 → k_0808___nul_and_context.kmn
k_051___if_and_context.kmn                  → k_0809___if_and_context.kmn
k_052___nul_and_index.kmn                   → k_0810___nul_and_index.kmn
k_053___if_and_index.kmn                    → k_0811___if_and_index.kmn
k_054___nul_and_contextex.kmn               → k_0812___nul_and_contextex.kmn
k_055___deadkey_cancelled_by_arrow.kmn      → k_0813___deadkey_cancelled_by_arrow.kmn

Follow-up-of: #15341
Test-bot: skip

@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Dec 12, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Android
    • Keyman for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KeyboardHarness apk - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample1 apk - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample2 apk - build : all tests passed (no artifacts on BuildLevel "build")
  • Developer
    • Keyman Developer - build : all tests passed (no artifacts on BuildLevel "build")
    • Compiler Regression Tests - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman Developer (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • iOS
    • Keyman for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Keyboards
    • Test Keyboards - build : all tests passed (no artifacts on BuildLevel "build")
  • macOS
    • Keyman for macOS - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for macOS (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")
  • Windows
    • Keyman for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Windows (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (32 bit) - build : all tests passed (no artifacts on BuildLevel "build")
    • Text Editor (64 bit) - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot bot changed the title test(common): better group baseline tests test(common): better group baseline tests 🎼 Dec 12, 2025
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S18 milestone Dec 12, 2025
'k_052___nul_and_index.kmn', // js only
'k_055___deadkey_cancelled_by_arrow.kmn',
'k_0000___null_keyboard.kmn',
// 'k_0103___vkey_input__shift_ctrl_.kmn',
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Looks like I accidentally added the commented tests to the list in #15341- they are working fine for .js keyboards.

Copy link
Member

Choose a reason for hiding this comment

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

I am slightly confused - if they are working fine, why are they commented here and not removed?

@ermshiperete ermshiperete force-pushed the test/common/baseline branch 2 times, most recently from eba453f to 0c72475 Compare December 12, 2025 18:22
@ermshiperete ermshiperete changed the title test(common): better group baseline tests 🎼 test(common): better group baseline tests 🧪 🎼 Dec 15, 2025
This change groups similar tests together. Also update `build.sh` to
compile .js files.

Follow-up-of: #15341
Test-bot: skip
@ermshiperete ermshiperete marked this pull request as ready for review December 15, 2025 17:48
Copy link
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

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

LGTM, it's a little bit like busy-work but probably a good refactor.

'k_0810___nul_and_index',
'k_0811___if_and_index',
'k_0812___nul_and_contextex',
# Skipped: 'k_0813___deadkey_cancelled_by_arrow',
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# Skipped: 'k_0813___deadkey_cancelled_by_arrow',
# TODO-web-core: Skipped: 'k_0813___deadkey_cancelled_by_arrow',

'k_052___nul_and_index.kmn', // js only
'k_055___deadkey_cancelled_by_arrow.kmn',
'k_0000___null_keyboard.kmn',
// 'k_0103___vkey_input__shift_ctrl_.kmn',
Copy link
Member

Choose a reason for hiding this comment

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

I am slightly confused - if they are working fine, why are they commented here and not removed?

Copy link
Member

Choose a reason for hiding this comment

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

Can you add an index of what the various groups of tests are intended to be? Your grouping strategy is not entirely clear to me

@keyman-server keyman-server modified the milestones: A19S18, A19S19 Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

4 participants