rustyphoenixclockmockbackend 1.7.0

This is the Rust version of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/PhoenixClock project. This project aims to ease the use of clock in complex environments, especially distributed environments where latencies measurement has to be precise and reproductible when running unit tests. **PhoenixClock** provide **PGenericClock**, a template classe which takes two arguments : - The main clock backend (could be **clock**, **PClockNs** for nanoseconds, etc) - A mock of a clock, **PClockMock**, which can play, register and replay a sequence of clock calls These clocks are activated with a mode `PClockMode::PClockMode` which can be : - `PClockMode::NO_MOCK` : for a normal usage - `PClockMode::MOCK` : when the mock the desired clock is played - `PClockMode::MOCK_RECORD` : when the real clock backend is used but the clock mock is recording (could be usefull for debugging or to desing new unit tests quickly)
Documentation

pipeline status Latest release coverage report documentation Phoenix2 documentation DOI

Introduction

This is the Rust version of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/PhoenixClock project.

This project aims to ease the use of clock in complex environments, especially distributed environments where latencies measurement has to be precise and reproductible when running unit tests. PhoenixClock provide PGenericClock, a template classe which takes two arguments :

  • The main clock backend (could be clock, PClockNs for nanoseconds, etc)
  • A mock of a clock, PClockMock, which can play, register and replay a sequence of clock calls

These clocks are activated with a mode PClockMode::PClockMode which can be :

  • PClockMode::NO_MOCK : for a normal usage
  • PClockMode::MOCK : when the mock the desired clock is played
  • PClockMode::MOCK_RECORD : when the real clock backend is used but the clock mock is recording (could be usefull for debugging or to desing new unit tests quickly)

Code

https://gitlab.in2p3.fr/CTA-LAPP/RUSTY_PHOENIX/RustyPhoenixClockMockBackend

Documentation

https://cta-lapp.pages.in2p3.fr/PHOENIX_LIBS2/clock/RustyPhoenixClockBackend/index.html

Requirements

Installation for Users

git clone https://gitlab.in2p3.fr/CTA-LAPP/RUSTY_PHOENIX/RustyPhoenixClockMockBackend.git
cd RustyPhoenixClockMockBackend
./install.sh