Repository navigation
Reject projective points in SP math only FP_ECC wc_ecc_mulmod_ex() #3767
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: White-box Smoke | |
| # The tests/unit-mcdc/*_whitebox.c translation units each #include one library | |
| # source and exercise its file-static functions directly - code the public API | |
| # cannot reach. They are not part of tests/unit.test, so nothing else in CI | |
| # builds or runs them: a change to a library source can break one and every | |
| # other job still passes. | |
| # | |
| # This builds --enable-all once and runs the subset that works against that | |
| # configuration (see tests/unit-mcdc/run-whitebox-smoke.sh). It is a smoke | |
| # gate, not a coverage measurement - no instrumentation, no llvm tooling, and | |
| # the cost does not depend on which files the pull request touches. | |
| # | |
| # Scope note: the TUs that need a narrower configuration are reported as skips | |
| # rather than run here, so a green result means "nothing that worked before is | |
| # broken", not "every white-box passed". | |
| on: | |
| push: | |
| branches: [ master, main ] | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| branches: [ master, main ] | |
| concurrency: | |
| group: whitebox-smoke-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| whitebox-smoke: | |
| name: White-box smoke | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| # check-api-guards.py diffs against the base branch, so it | |
| # needs history, but not the contents of every past file. | |
| fetch-depth: 0 | |
| filter: blob:none | |
| - name: Install build dependencies | |
| uses: ./.github/actions/install-apt-deps | |
| with: | |
| packages: autoconf automake libtool | |
| ghcr-debs-tag: ubuntu-24.04-minimal | |
| - name: Configure and build | |
| # --enable-static is required: each white-box relinks against | |
| # libwolfssl.a with the object it replaces removed. | |
| run: | | |
| ./autogen.sh | |
| ./configure --enable-all --enable-static --disable-shared \ | |
| CPPFLAGS=-DWOLFSSL_TEST_STATIC_BUILD | |
| make -j"$(nproc)" | |
| - name: Check API availability guards | |
| # tests/api is one binary built in every CI configuration, so a test | |
| # that calls an API the build did not compile is a link error that | |
| # takes the whole binary down -- and it is invisible to anything that | |
| # only reads headers, because plenty of API is declared unconditionally | |
| # and implemented under a narrower condition. This checks the call | |
| # sites this branch changed against the conditions the implementations | |
| # actually carry. It costs a second and needs no build, so it runs | |
| # before the smoke build rather than after it. | |
| run: python3 tests/api/check-api-guards.py origin/${{ github.base_ref || 'master' }} | |
| - name: Run white-box smoke | |
| # smoke-expected.txt is generated with gcc; six TUs build under clang | |
| # and not gcc, so the compiler has to match or the run reports false | |
| # regressions. | |
| env: | |
| CC: gcc | |
| run: ./tests/unit-mcdc/run-whitebox-smoke.sh . |