Task5 - adamk90/training-project-lab GitHub Wiki

Tesztgenerátor használata (Klee)

Klee telepítése

http://klee.github.io/build-llvm34/

Jansson library előkészítése

export LLVM_COMPILER=clang
export LLVM_CC_NAME=clang-3.5
CC=wllvm ./configure
make
mkdir bc_file
cp src/.libs/libjansson.a ./bc_file
cd bc_file
extract-bc -b libjansson.a -l llvm-link-3.5

Teszt#1 elkészítése

#include <jansson.h>
#include <klee/klee.h>

static int test_simple(int _int1)
{
    json_t *int1; int i;
    int1 = json_integer(_int1);
    if(json_integer_value(int1) != 100) {
        json_decref(int1);
        return 1;
    }
    return 0;
}

int main(int argc, char *argv[]) {
    int _int1;
    klee_make_symbolic(&_int1, sizeof(_int1), "int1");

    return test_simple(_int1);
}

Teszt#1 futtatása

clang-3.5 -I ~/Teszteles/klee/include -emit-llvm -c -g mytest2.c
klee --link-llvm-lib=libjansson.a.bc mytest.bc

Teszt#1 eredmény

Klee mytest2.c Output Klee mytest2.c Test Paths

⚠️ **GitHub.com Fallback** ⚠️