nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

Schema upgrade process improvements #7220

Open feerrenrut opened 7 years ago

feerrenrut commented 7 years ago

1. Upgrade step unit tests

As a developer writing config upgrade code, I want to be able to define the cases to be tested automatically. So that my development and testing experience is faster and less error prone. The initial work for the upgrade process was done in #6558

Some things to consider:

Proposal: Introduce a unit testing framework / helper that could allow a developer to specify a dictionary of the keys and values of interest to be upgraded, and the expected result. This would allow the developer to specify testing permutations easily. This test should also check that keys referenced do indeed exist in the schema.

2. A task / migration based upgrade process

As an NVDA maintainer about to incubate config upgrade code, I don't want to have to check if a particular schema version is already used and incubated (but not included in the candidate code). This is to make the code review, incubation, merge to master, and any backouts faster and less error prone.

Proposal:

Some questions:

feerrenrut commented 7 years ago

@jcsteh Any thing to add?

Adriani90 commented 5 years ago

@feerrenrut is this partly solved with the new automated testing framework?

feerrenrut commented 5 years ago

@Adriani90 No. Though, if there were dependencies on testing frameworks when this issue was created, they are definitely satisfied now. The problems described in this issue have not occurred yet (that I know of), and thus it might not be pragmatic to spend time on this.