Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 1.03 KB

Project-Structure.md

File metadata and controls

22 lines (16 loc) · 1.03 KB

Project Structure

Entrypoints

src/lib.rs contains the 2 main entrypoints of the code:

  1. run_scheduler()
    1. this is the main entry point for calling the scheduling algorithm as a Rust program
  2. schedule()
    1. this is the entry point for the exposed WASM module. should do the same as run-scheduler, without the logging.

Tests

Functions, and implementations are tested with standard unit tests.

The folder root/tests/jsons contains expected in- and corresponding outputs for end-to-end test scenarios. The code to run them is auto-generated at compile time.

We can also run the tests in a javascript environment as WASM=module using Deno as javascript runtime. The entrypoint for these tests is tests/deno_tests.ts, and it can be run by executing ./scripts/deno_tests.sh. This is meant as an integration test to see everything runs fine in a javascript context.

The tests are divided into 2 testsets: stable and experimental. Stable tests always run. The other testset can be run by providing the right feature flag (see Cargo.toml)