Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Framework for distributed system's verification, with fault injection.

License

NotificationsYou must be signed in to change notification settings

ligurio/molly

Repository files navigation

Static analysisTestingCoverage StatusLuarocks

Molly

is a framework for distributed systems verification, with fault injection.

Prerequisites

  • Lua interpreter: LuaJIT or LuaJIT-based is recommended.
  • luafun - Lua functional library, built-in intoTarantool.
  • lua-cjson - Lua library for fast JSONencoding and decoding, built-in into Tarantool.
  • (optional) Jepsen-compatible consistency checker. For exampleelle-cli, based on Jepsen, Elle andKnossos.

Installation

  • Download and setup Lua interpreter,LuaJITor LuaJIT-based is recommended (for exampleTarantool).
  • Install library using LuaRocks:
$ luarocks install --local molly

NOTE: Installation of modulesluafun andlua-cjson is not required whenTarantool is used, both modules are built-in there. Install them manually incase of using LuaJIT:

$ make deps-runtime

Documentation

See documentation inhttps://ligurio.github.io/molly/.

Examples

See also an examples intest/examples/ for SQLite databaseengine:

  • sqlite-rw-register.lua contains a simple test that concurrently runsgetandset operations on SQLite DB
  • sqlite-list-append.lua contains a simple test that concurrently runsreadandappend operations on SQLite DB

For running examples you need installed an SQLite development package andLuaRocks.

$ sudo apt install -y sqlite3 libsqlite3-dev$ make deps$ make test-example

Example produces two files with history:history.txt andhistory.json. Withelle-cli history can be checkedfor consistency:

$ VER=0.1.8$ curl -O -L https://github.com/ligurio/elle-cli/releases/download/${VER}/elle-cli-bin-${VER}.zip$ unzip elle-cli-bin-${VER}.zip$ java -jar ./target/elle-cli-${VER}-standalone.jar -m elle-rw-register history.jsonhistory.jsontrue

See tests that uses Molly library inhttps://github.com/ligurio/molly-tests.

Hacking

For developingmolly you need to install: either LuaJIT or LuaJIT-basedandLuaRocks.

$ make deps$export PATH=$PATH:$(luarocks path --lr-bin)$ make check$ maketest

You are ready to make patches!

License

Copyright © 2021-2024Sergey Bronnikov

Distributed under the ISC License.


[8]ページ先頭

©2009-2025 Movatter.jp