我想测量 OpenSSH 测试的覆盖率,但是当我运行 connect-privsep 测试时出现错误。我找不到问题所在。
$ ./configure --with-cflags="-fprofile-arcs -ftest-coverage" --with-ldflags="-fprofile-arcs -lgcov"
$ make
$ env TEST_SSH_LOGFILE=/tmp/sshd.log SUDO=sudo make tests LTESTS=connect-privsep
输出: http://pastebin.com/eDiC894E
sshd.log: http://pastebin.com/sWRCeQiy
测试在没有覆盖标志的情况下运行良好:
$ ./configure
$ make
$ env TEST_SSH_LOGFILE=/tmp/sshd.log SUDO=sudo make tests LTESTS=connect-privsep
...所有测试均通过
我安装了以下软件包:
$ sudo apt-get install build-essential
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libssl-dev
我也创建了用户以进行权限分离:
# mkdir /var/empty
# chown root:sys /var/empty
# chmod 755 /var/empty
# groupadd sshd
# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
我尝试过:
Ubuntu 14.04 x64 虚拟机
Ubuntu 14.04 x64
Debian 8 虚拟机
结果是相同的。(VM=虚拟机)
我也尝试了其他版本的 OpenSSH(6.x),但结果是一样的。
我应该怎么办?