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

source-academy / py-slang / 29805324553
86%

Build:
DEFAULT BRANCH: main
Ran 21 Jul 2026 06:08AM UTC
Jobs 1
Files 114
Run time 1min
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

21 Jul 2026 05:53AM UTC coverage: 86.068% (-0.6%) from 86.648%
29805324553

push

github

web-flow
WASM engine: conductor module loading (from X import y) (#283)

* WIP: wasm runtime HOSTREF tag + dispatch (to be amended)

* WASM engine: conductor module loading (from X import y)

Completes the module-import pathway started in aa00a6a (HOSTREF runtime
tag + dispatch):

- moduleInterop.ts (new): conversion layer between the WASM engine's
  tagged (i32, i64) runtime values and the conductor module protocol's
  TypedValues — the WASM analogue of pvml/modules.ts. Async IDataHandler
  traversal happens up front (prepareModuleBindings, at import-load
  time); materialisation into wasm values happens synchronously via the
  instance's own make* exports when the compiled FromImport executes,
  respecting the shadow-stack GC discipline.
- builderGenerator.ts: modules.get / modules.call host imports
  (declared unconditionally, like every other host import); FromImport
  compiles to one modules.get + SET_LEX_ADDR store per bound name;
  FromImport names participate in scope scanning; dataEnd exposed so
  the host can read string arguments.
- hostImports.ts: log_hostref console import for print()ing imported
  module values.
- index.ts: wire the modules import namespace into compileToWasmAndRun.
  modules.call is async on the JS side, so it is wrapped in JSPI
  Suspending (and main entered through `promising`) when both module
  bindings and JSPI are present; without JSPI, imported module values
  still work but calling a module function raises a clear error.
  Without bindings, loud stubs preserve the uniform import shape.
- compiler.ts/types.ts: thread CompileOptions.moduleBindings and the
  dataEnd boundary through compilation.

Evaluator-side loading (PyWasmEvaluator collecting a chunk's imports
into PreparedModuleBindings before compilation) is the remaining piece.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FbExZBaxgeUL4oi1t7PG93

* Finish PyWasmEvaluator module-loading integration; fix Gemini... (continued)

4279 of 5352 branches covered (79.95%)

Branch coverage included in aggregate %.

106 of 183 new or added lines in 8 files covered. (57.92%)

9281 of 10403 relevant lines covered (89.21%)

178866.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
68
33.33
src/engines/wasm/moduleInterop.ts
3
76.47
src/conductor/PyWasmEvaluator.ts
2
83.8
-1.81% src/engines/wasm/hostImports.ts
2
88.89
-1.5% src/engines/wasm/index.ts
1
85.71
-1.63% src/engines/pvml/modules.ts
1
90.05
-0.0% src/engines/wasm/builderGenerator.ts
Jobs
ID Job ID Ran Files Coverage
1 29805324553.1 21 Jul 2026 06:08AM UTC 114
86.07
GitHub Action Run
Source Files on build 29805324553
  • Tree
  • List 114
  • Changed 10
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29805324553
  • ee024cd1 on github
  • Prev Build on main (#29748626284)
  • Next Build on main (#29808264994)
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