8000 Split the long tests of forms and macros into smaller ones by dominion525 · Pull Request #127 · dominion525/jetdb · GitHub
[go: up one dir, main page]

Skip to content

Split the long tests of forms and macros into smaller ones - #127

Merged
dominion525 merged 4 commits into
mainfrom
test/split-long-tests-2
Oct 24, 2026
Merged

dominion525 merged 4 commits into
mainfrom
test/split-long-tests-2

Conversation

@dominion525
Copy link
Copy Markdown
Owner

Summary

  • Eight tests of form.rs, macro_def.rs, macro_text.rs and macro_action.rs, and a closure in one of them, were above the complexity thresholds of scripts/quality-check.sh (CC ≥ 10, cognitive ≥ 10 or SLOC ≥ 50). Each is now split by what it checks, or has its helpers and expected values moved out of it, and none of them is above the thresholds.
  • What the tests check is unchanged. In macro_action.rs, two arms of a match that did the same are one, and in macro_def.rs, the three generated databases are named in one constant, MACRO_GENERATED_FILES, which read_embedded_macros_generated_files uses too.
  • Functions above the thresholds: 144 → 135. Tests: 1085 → 1094.
Test Before (CC / Cog / SLOC) After, the largest function Tests
form form_and_report_of_the_same_name 6 / 0 / 68 1 / 0 / 23 3
form form_and_report_match_saveastext_of_access 19 / 26 / 101 5 / 7 / 30 2
form, a closure of the test above 6 / 13 / 24 (in a function) –
macro_def read_embedded_macros_real_files 4 / 1 / 60 2 / 1 / 35 2
macro_def read_data_macros_generated_files 5 / 4 / 53 5 / 4 / 23 2
macro_def read_macro_grid_real_files 2 / 1 / 84 2 / 1 / 33 2
macro_def access_97_macros 3 / 0 / 110 2 / 0 / 39 4
macro_text embedded_macros_match_access_output_in_generated_test_data 12 / 9 / 73 7 / 4 / 43 1
macro_action argument_counts_match_the_generated_log 11 / 6 / 39 5 / 1 / 16 1

🤖 Generated with Claude Code

dominion525 and others added 4 commits October 25, 2026 01:17
…them easier to read

- Split the test of a form and a report of the same name into three, of the properties, of the streams and of a type the name does not have, with the caption and the controls read by functions
- Split the comparison with SaveAsText into three functions, of the main keys, of the named properties and of the controls, called by two tests, of the form and of the report

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…make them easier to read

- Split the test of embedded macros into two, of the statements and of the grids
- Split the test of generated data macros into two, of the table events and of the named data macro
- Split the test of macro grids into two, of mcrSimple and of the conditions, with a function for a row of an action alone
- Split the test of the macros of Access 97 into four, of the names, the statements, the grid and the autokeys, with the expected statements in a function
- Name the three generated databases in one constant

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…to read

- Make the reading of the SaveAsText output of forms and reports in tblGenExport, and the cutting of its EmMacro blocks, functions

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Make the check of a row of the log a function, with the two rejected arms, which do the same, in one

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Coverage

For 351f97e.

Filename                       Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jetdb-cli/src/export.rs            108                11    89.81%           5                 0   100.00%          66                 6    90.91%           0                 0         -
jetdb-cli/src/form.rs              254                24    90.55%          19                 5    73.68%         152                 9    94.08%           0                 0         -
jetdb-cli/src/macro_cmd.rs         151                11    92.72%          11                 2    81.82%          81                 5    93.83%           0                 0         -
jetdb-cli/src/main.rs              864                38    95.60%          70                 2    97.14%         549                25    95.45%           0                 0         -
jetdb-cli/src/prop.rs              308                15    95.13%          33                 2    93.94%         186                10    94.62%           0                 0         -
jetdb-cli/src/query.rs              80                 4    95.00%           5                 0   100.00%          51                 1    98.04%           0                 0         -
jetdb-cli/src/vba.rs                74                 4    94.59%           5                 0   100.00%          47                 1    97.87%           0                 0         -
jetdb-wasm/src/lib.rs             3841                95    97.53%         246                 4    98.37%        2009                22    98.90%           0                 0         -
jetdb/src/catalog.rs               531                14    97.36%          41                 0   100.00%         304                 7    97.70%           0                 0         -
jetdb/src/complex.rs               917                32    96.51%          73                 0   100.00%         607                15    97.53%           0                 0         -
jetdb/src/crypto.rs               2284               210    90.81%         105                21    80.00%        1301               169    87.01%           0                 0         -
jetdb/src/csv.rs                   810                23    97.16%          65                 0   100.00%         453                 6    98.68%           0                 0         -
jetdb/src/data.rs                 4523               176    96.11%         246                 2    99.19%        2509               109    95.66%           0                 0         -
jetdb/src/ddl/access.rs             70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/mod.rs              2777                 8    99.71%         199                 2    98.99%        1510                 6    99.60%           0                 0         -
jetdb/src/ddl/mysql.rs              70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/postgres.rs           71                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/sqlite.rs             69                 0   100.00%           7                 0   100.00%          48                 0   100.00%           0                 0         -
jetdb/src/encoding.rs              284                 0   100.00%          30                 0   100.00%         153                 0   100.00%           0                 0         -
jetdb/src/file.rs                 1947                67    96.56%         107                 0   100.00%        1021                26    97.45%           0                 0         -
jetdb/src/form.rs                 3273               150    95.42%         233                10    95.71%        1773                69    96.11%           0                 0         -
jetdb/src/form2000.rs              762                21    97.24%          56                 1    98.21%         402                 4    99.00%           0                 0         -
jetdb/src/format.rs                620                 2    99.68%          41                 0   100.00%         408                 2    99.51%           0                 0         -
jetdb/src/lib.rs                     3                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
jetdb/src/macro_action.rs          299                19    93.65%          27                 3    88.89%         165                24    85.45%           0                 0         -
jetdb/src/macro_def.rs            2350                98    95.83%         179                 9    94.97%        1522                46    96.98%           0                 0         -
jetdb/src/macro_text.rs            783                24    96.93%          49                 2    95.92%         437                20    95.42%           0                 0         -
jetdb/src/map.rs                   416                13    96.88%          27                 0   100.00%         221                 5    97.74%           0                 0         -
jetdb/src/money.rs                 286                 0   100.00%          26                 0   100.00%         189                 0   100.00%           0                 0         -
jetdb/src/prop.rs                 1413                55    96.11%          88                 8    90.91%         746                63    91.55%           0                 0         -
jetdb/src/query.rs                2705                78    97.12%         184                 0   100.00%        1682                38    97.74%           0                 0         -
jetdb/src/relationship.rs          302                27    91.06%          12                 0   100.00%         187                17    90.91%           0                 0         -
jetdb/src/save_as_text.rs          574                27    95.30%          52                 3    94.23%         341                27    92.08%           0                 0         -
jetdb/src/storage.rs               571                46    91.94%          23                 1    95.65%         318                24    92.45%           0                 0         -
jetdb/src/table.rs                1594                65    95.92%          94                 2    97.87%         948                21    97.78%           0                 0         -
jetdb/src/timestamp.rs             413                 0   100.00%          43                 0   100.00%         232                 0   100.00%           0                 0         -
jetdb/src/vba.rs                   634                65    89.75%          54                16    70.37%         361                60    83.38%           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                            37031              1422    96.16%        2477                95    96.16%       21120               837    96.04%           0                 0         -

@dominion525
dominion525 merged commit 05550aa into main Oct 24, 2026
11 checks passed
@dominion525
dominion525 deleted the test/split-long-tests-2 branch October 24, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0