在https://github.com/mull-project/mull的README文件中,我正在openssl和fmtlib上尝试他们的变异测试示例。但是,当我输入突变测试命令: mull-cxx -test-framework = GoogleTest -mutators = math_add_mutator ./bin/core-test 时,出现以下错误
select * from aa
union
select userid, dateadd(d,1,return_date) return_date, first_date from aa
where datepart(dw, return_date) = 6 -- only returns Fridays, translate to Sat
union
select userid, dateadd(d,2,return_date) return_date, first_date from aa
where datepart(dw, return_date) = 6 -- only returns Fridays, translate to Sun
order by userid, return_date
我不再遇到上述错误。但是有一个新的:(以前,我使用的是debian mull而不是ubuntu。我是由下面的docker setup写的。现在,当我尝试执行变异测试时,我在链接时遇到问题:
parseBitcodeFile failed: Invalid record
mull-cxx: /opt/mull/tools/driver-cxx/driver-cxx.cpp:63: void LoadModuleFromBitcodeTask::operator()(LoadModuleFromBitcodeTask::iterator, LoadModuleFromBitcodeTask::iterator, LoadModuleFromBitcodeTask::Out &, mull::progress_counter &): Assertion `module && "Could not load module"' failed.
Aborted (core dumped)
我的mull设置在docker中。我已经完成了以下操作来设置我的图片:
Extracting bitcode from executable (threads: 1): 1/1. Finished in 0ms.
Loading bitcode files (threads: 2): 2/2. Finished in 11ms.
Could not find dynamic library: libpthread.so.0
Could not find dynamic library: libstdc++.so.6
Could not find dynamic library: libm.so.6
Could not find dynamic library: libgcc_s.so.1
Could not find dynamic library: libc.so.6
运行容器后,我会设置预构建的llvm二进制文件。 LLVM位置在/ usr / src / llvm
中FROM ubuntu:18.04
RUN mkdir -p /tmp/home
ENV HOME /tmp/home
RUN apt-get update && apt-get upgrade -y \
&& apt-get install -y git build-essential software-properties-common\
&& apt-get install -y vim wget
RUN apt-get update
RUN apt-get install -y python3-pip \
&& pip3 install conan
RUN apt-get update
## cpp unit
# RUN apt-get install -y autotools-dev automake libtool
RUN apt-get install -y libcppunit-dev
# for mull
RUN apt-get install -y sqlite3 libsqlite3-dev libncurses5-dev libxml2-dev uuid-dev libstdc++-6-dev