Skip to content
tmatis edited this page Mar 26, 2023 · 2 revisions

Home

Overview

This is a technical documentation of the project. It is intended to be used by developers and other people who want to contribute to the project.

Project Structure

The project is structured as follows:

  • library/: contains the library source code (to inject hooks and debug functions)
  • host/: contains the host source code (to run the program to debug and inject the library)
  • shared/: contains the shared source code between the host and the library
  • e2e/: contains the end-to-end tests written in nodejs with jest and typescript
  • scripts/: contains the scripts useful for the project

How to build

Clone the repository

git clone https://github.com/tmatis/funcheck.git
cd funcheck

Build the libfuncheck.so library

cd library
make

Build the funcheck binary

cd ../host
make

You now have the funcheck binary in the host directory and the libfuncheck.so library in the library directory.

How to run the end-to-end tests

Requirements

  • nodejs
  • yarn
  • llvm
  • library and host built

Install dependencies

cd e2e
yarn install

Run the tests

yarn test