_ [debian] 続・Testsuite: autopkgtest-pkg-ruby

を参考に環境を準備した。 まず /etc/lxc/default.conf を編集。

lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:00:16:3e

もともとあった「lxc.network.type = empty」は削除しないとだめ。というのも adt-build-lxc での判定が

# check that LXC config has networking
if grep -q 'lxc.network.type *= *empty' /etc/lxc/default.conf; then
    cat <<EOF >&2
ERROR: autopkgtest containers need networking; please set it up and adjust
lxc.network.type in /etc/lxc/default.conf
EOF
    exit 1
fi

となっているので。 /etc/default/lxc-net は次の通りに指定。

USE_LXC_BRIDGE="true"

これで lxc と lxc-net サービスを再起動。 sid 用の LXC コンテナを作る。

sudo adt-build-lxc debian sid

完成したら lxc-ls -f で見えるようになる。

% sudo lxc-ls -f 
NAME    STATE   AUTOSTART GROUPS IPV4 IPV6 
adt-sid STOPPED 0         -      -    -    

これで環境ができたので、テストしたいソースツリーのトップに移動して adt-run を実行。

% sudo adt-run --no-built-binaries --built-tree=. --- adt-virt-lxc --ephemeral adt-sid
adt-run: WARNING: "adt-run" is deprecated, please use "autopkgtest" (see manpage)
adt-run [20:25:35]: version 4.4
adt-run [20:25:35]: host lilith; command line: /usr/bin/adt-run --no-built-binaries --built-tree=. --- adt-virt-lxc --ephemeral adt-sid
adt-run [20:25:40]: testbed dpkg architecture: amd64
adt-run [20:25:40]: testbed running kernel: Linux 4.11.0-2-amd64 #1 SMP Debian 4.11.11-1 (2017-07-17)
adt-run [20:25:40]: @@@@@@@@@@@@@@@@@@@@ built-tree .
adt-run [20:25:40]: testing package ruby-pkg-config version 1.2.3-1
adt-run [20:25:40]: test command1: preparing testbed
パッケージリストを読み込んでいます... 完了
        :
autopkgtest-satdep (0) を削除しています ...
adt-run [20:26:12]: test command1: gem2deb-test-runner --check-dependencies --autopkgtest
adt-run [20:26:12]: test command1: [-----------------------
        :
adt-run [20:26:14]: test command1: -----------------------]
adt-run [20:26:14]: test command1:  - - - - - - - - - - results - - - - - - - - - -
command1             FAIL non-zero exit status 1
adt-run [20:26:14]: test command1:  - - - - - - - - - - stderr - - - - - - - - - -
mv lib .gem2deb.lib
mv .gem2deb.lib lib
adt-run [20:26:14]: @@@@@@@@@@@@@@@@@@@@ summary
command1             FAIL non-zero exit status 1

テスト自体には失敗したけど、テストの実施はできた。 WARNING: “adt-run” is deprecated, please use “autopkgtest” (see manpage) と出てるので、そちらも見ないと。