• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

open-quantum-safe / liboqs / 36497096175
80%

Build:
DEFAULT BRANCH: main
Ran 28 Sep 2026 11:22PM UTC
Jobs 3
Files 2453
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Sep 2026 11:16PM UTC coverage: 80.299% (-4.2%) from 84.469%
36497096175

push

github

web-flow
Do not mark the public API dllexport in Windows static builds (#2584)

* Avoid re-exporting symbols on Windows

On Windows, OQS_API expanded to __declspec(dllexport) unconditionally,
including when liboqs is built as a static library. On Windows, this
will lead to re-exporting the entire libOQS API when linking with the
static library.

Solved by only expanding OQS_API to __declspec(dllexport) when building
liboqs as a shared library for Windows.

Signed-off-by: Mattias Lindblad <matlin@gmail.com>
Assisted-by: claude:opus-5

* Add a test that static Windows builds do not re-export the API

The preceding fix has no automated coverage: nothing asserts that the
static library is free of /EXPORT: linker directives, so a later change
to the OQS_API definition, or to how BUILD_SHARED_LIBS reaches
oqsconfig.h, could silently restore the old behaviour.

Add the Windows counterpart of test_namespace, which checks the
equivalent property on platforms where symbol visibility is controlled
by __attribute__((visibility)). MSVC stores linker directives as plain
ASCII in the .drectve section, so the check needs no dumpbin on PATH.
The test also fails if oqs.lib cannot be found, so it cannot pass
silently if the build layout changes.

Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Match decorated and MinGW export directives in the static lib test

On 32-bit x86, MSVC writes the export directive with the decorated
name, /EXPORT:_OQS_..., so searching for /export:oqs_ never matches
and the test passes even when the static library re-exports the API.
That covers the Win32 toolchain jobs in windows.yml. MinGW writes
-export: instead of /EXPORT:, which the old check also missed.

Match [/-]export: followed by an optional underscore and oqs_,
ignoring case.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Mattias Lindblad <matlin@gmail.com>

---------

Signed-o... (continued)

176266 of 219511 relevant lines covered (80.3%)

3489801.02 hits per line

Coverage Regressions

Lines Coverage ∆ File
624
34.88
-63.09% src/sig/sig.c
55
64.81
-12.73% src/sig/ml_dsa/mldsa-native_ml-dsa-44_ref/mldsa/src/sign.c
55
64.9
-12.7% src/sig/ml_dsa/mldsa-native_ml-dsa-65_ref/mldsa/src/sign.c
54
64.98
-12.44% src/sig/ml_dsa/mldsa-native_ml-dsa-87_ref/mldsa/src/sign.c
18
63.1
-21.43% src/kem/ml_kem/mlkem-native_ml-kem-512_x86_64/mlkem/src/sampling.c
18
70.59
-26.47% src/kem/ml_kem/mlkem-native_ml-kem-768_x86_64/mlkem/src/sampling.c
5
77.22
-6.33% src/kem/ml_kem/mlkem-native_ml-kem-512_ref/mlkem/src/sampling.c
5
88.89
-7.94% src/kem/ml_kem/mlkem-native_ml-kem-768_ref/mlkem/src/sampling.c
4
96.23
-0.35% src/sig/falcon/pqclean_falcon-padded-1024_avx2/keygen.c
3
64.81
-0.69% src/sig/ml_dsa/mldsa-native_ml-dsa-44_x86_64/mldsa/src/sign.c
3
94.74
-5.26% src/sig/ml_dsa/mldsa-native_ml-dsa-65_ref/mldsa/src/packing.c
3
94.74
-5.26% src/sig/ml_dsa/mldsa-native_ml-dsa-65_x86_64/mldsa/src/packing.c
3
64.98
-0.69% src/sig/ml_dsa/mldsa-native_ml-dsa-87_x86_64/mldsa/src/sign.c
2
96.49
-3.51% src/sig/ml_dsa/mldsa-native_ml-dsa-44_ref/mldsa/src/packing.c
2
96.49
-3.51% src/sig/ml_dsa/mldsa-native_ml-dsa-44_x86_64/mldsa/src/packing.c
2
96.49
-3.51% src/sig/ml_dsa/mldsa-native_ml-dsa-87_x86_64/mldsa/src/packing.c
2
67.44
0.93% tests/test_sig.c
1
96.08
-1.96% src/kem/classic_mceliece/pqclean_mceliece348864_avx2/encrypt.c
1
96.08
-1.96% src/kem/classic_mceliece/pqclean_mceliece348864f_avx2/encrypt.c
1
98.36
0.0% src/kem/classic_mceliece/pqclean_mceliece460896_clean/encrypt.c
1
95.92
-2.04% src/kem/classic_mceliece/pqclean_mceliece460896f_avx2/encrypt.c
1
76.7
-0.49% src/sig/falcon/pqclean_falcon-padded-1024_avx2/vrfy.c
1
95.53
-0.09% src/sig/falcon/pqclean_falcon-padded-512_avx2/keygen.c
1
95.83
-4.17% src/sig/ml_dsa/mldsa-native_ml-dsa-44_ref/mldsa/src/rounding.h
1
95.83
-4.17% src/sig/ml_dsa/mldsa-native_ml-dsa-65_ref/mldsa/src/rounding.h
1
33.33
-4.17% src/sig/ml_dsa/mldsa-native_ml-dsa-65_x86_64/mldsa/src/rounding.h
1
65.36
-0.23% src/sig/ml_dsa/mldsa-native_ml-dsa-65_x86_64/mldsa/src/sign.c
1
96.49
-1.75% src/sig/ml_dsa/mldsa-native_ml-dsa-87_ref/mldsa/src/packing.c
1
95.83
-4.17% src/sig/ml_dsa/mldsa-native_ml-dsa-87_ref/mldsa/src/rounding.h
1
33.33
-4.17% src/sig/ml_dsa/mldsa-native_ml-dsa-87_x86_64/mldsa/src/rounding.h
1
96.3
-1.85% src/sig/uov/pqov_ov_Is_avx2/ov.c
1
95.16
-1.61% src/sig/uov/pqov_ov_Is_pkc_ref/ov.c
Jobs
ID Job ID Ran Files Coverage
1 x64-generic - 36497096175.1 28 Sep 2026 11:25PM UTC 1073
82.64
GitHub Action Run
2 arm64-distbuild - 36497096175.2 28 Sep 2026 11:24PM UTC 1495
57.73
GitHub Action Run
3 x64-distbuild - 36497096175.3 28 Sep 2026 11:22PM UTC 2028
54.0
GitHub Action Run
Source Files on build 36497096175
  • Tree
  • List 2453
  • Changed 634
  • Source Changed 0
  • Coverage Changed 634
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36497096175
  • e4027ac5 on github
  • Prev Build on main (#36284354031)
  • Next Build on main (#36590448682)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc