Skip to content

Post-merge follow-up: EEGLAB test-port stack (#329-#372)Β #394

Description

@arnodelorme

πŸ€– Filed by an agent at @adelorme's request, at merge time for the EEGLAB test-port stack (#329–#372).

Umbrella issue recording what was and was not examined before the stack was merged, and tracking the follow-up work.

What was merged

43 linear PRs (#329–#370, #372; #371 closed as an abandoned sibling), 57 commits, 387 files, +37,673 / βˆ’866, merged with zero divergence from develop @ 1f4c74f0.

Surface Files Lines
New modules 141 +14,911
Modified modules 114 +4,843 / βˆ’625
New/changed tests 99 +16,519
Docs 29 +1,017 / βˆ’99
docs/source/changelog.rst 1 +203

Modified source by subsystem: studyfunc 16 files (+2,358/βˆ’214), popfunc 35 (+1,298/βˆ’253), adminfunc 3 (+368/βˆ’19), sigprocfunc 15 (+214/βˆ’33), resources 27 (+183/βˆ’48), top-level __init__.py (+140), guifunc 6 (+105/βˆ’34), statistics 4 (+69/βˆ’11), miscfunc 3 (+58/βˆ’6), plugins/firfilt 1 (+44/βˆ’4), timefreqfunc 2 (+3/βˆ’3), plugins/clean_rawdata 1 (+3).

What was verified before merging

What was NOT reviewed

Stated plainly so future debugging starts from an accurate picture. No line-by-line review of the source was performed before merging, and the parity harness cannot reach the following, which together account for the large majority of the changed files:

Subsystem Changed files Why not covered
studyfunc (STUDY, LIMO, clustering, measure plots) 30 No STUDY stage in the pipeline
Binary readers/writers (CNT, BrainVision, ERPSS, EGI RAW/MAT, GDF, BDF, neurodat) 22 Harness loads BIDS/.set only
miscfunc 53 Not in the pipeline
guifunc 10 Not in the pipeline
statistics 5 Not in the pipeline

Also outside harness reach: apply_eegfilt_legacy / _legacy_firls (reached only from pop_eegfilt and sigprocfunc/eegfilt; clean_artifacts uses its own filtering) and _cluster_kmeans / kmeans_st.

Additional context: of the 99 new/changed test files, 0 reference matlab, octave, eeglabcompat, or pytest.mark.parity β€” they are Python self-consistency tests. PRs #329–#331 ran 5 CI checks rather than 9, so the bottom of the stack never ran the test suite on its own.

Follow-up

#391 carries the highest residual risk: new code, outside the harness path, tested only against fixtures generated by the same commits that read them.

Note on PR titles

26 of the 42 content PRs add more source lines than test lines under "Port … tests" titles β€” #347 adds 1,404 source lines across 35 files under "Port current EEGLAB numerical utility tests". Titles that name the dominant content would let reviewers allocate attention correctly at triage time. Several PRs did this well (#363 "Implement CORRMAP component matching", #364 "Add standalone FieldTrip-style statistics", #369 "Implement standalone LIMO workflows").

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

epicMulti-phase implementation epic

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions