Skip to content

Commit

Permalink
Fix part of #5343: Update the test exemption check script & its exemp…
Browse files Browse the repository at this point in the history
…tion format (#5426)

<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
<!--
- Explain what your PR does. If this PR fixes an existing bug, please
include
- "Fixes #bugnum:" in the explanation so that GitHub can auto-close the
issue
  - when this PR is merged.
  -->

Fixes part of #5343

**Project**
[PR 1.2 of Project 4.1]
This PR is based on develop as it had no other dependency with other
PRs.

### Changes Implemented
This PR implements updates to enhance the handling of file exemptions
and code coverage settings:

1. Updates `script_exemptions.proto` to support two possible states:
   - Exemption from requiring a test file (current behavior).
- Override of the minimum code coverage to meet a specific percentage
(including 0%).

2. Aligns `test_file_exemptions.textproto` with the new proto format.

3. Modifies `TestFileCheck.kt` to integrate the updated proto format.

## Project Context
In Project 4.1, we are introducing code coverage capabilities where
certain files may require exemptions from the default minimum code
coverage percentage. These exemptions can now be managed in
`test_file_exemptions.textproto` by setting the
`override_min_coverage_percentage`.

## Implementation Details
Initially, I explored using the `TodoOpenCheck` regeneration structure
to implement these changes. However, due to significant differences in
regeneration requirements (creating a new proto format to regenerate the
exemptions list), conflicts arose with
`generate_test_file_assets_list_from_text_protos`.

Given that the regeneration process is solely aimed at rebuilding the
textproto file and no longer serves any other purpose in this project, I
opted to manually compile a list of exempted files and used it to
generate the new proto format. I then transferred this newly generated
format to the textproto file. The regeneration implementation can be
found in my [local test_exemption
branch](Rd4dev@189a1da#diff-fd100a053f2b965df76d989b0d97b5400c051c7fff9507afc0d891cfaf36e238R925)

Post-generation, the regeneration functionality was removed, as it no
longer aligns with the project's needs. Further validation and
adjustments, if necessary, will be discussed with Ben and implemented.


## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
<!-- Delete these section if this PR does not include UI-related
changes. -->
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- Add a video showing the full UX flow with a screen reader enabled (see
[accessibility
guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide))
- For PRs introducing new UI elements or color changes, both light and
dark mode screenshots must be included
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing

---------

Co-authored-by: Ben Henning <[email protected]>
  • Loading branch information
Rd4dev and BenHenning authored Jun 24, 2024
1 parent dcde7b3 commit 92a561f
Show file tree
Hide file tree
Showing 4 changed files with 3,726 additions and 949 deletions.
Loading

0 comments on commit 92a561f

Please sign in to comment.