Comment 2 for bug 1686082

Revision history for this message
Iain Lane (laney) wrote :

This fixes it, going to upload.

commit cbac10742cc44d66c82ee9776157273a5cce7a59
Author: Martin Pitt <email address hidden>
Date: Tue May 31 23:42:47 2016 +0200

    Fix ChrootRunner.test_setup_commands_string when ran recursively

    Commit a94e5ac42 exported $ADT_NORMAL_USER to tests. So remove it from the
    environment for the this test as it otherwise breaks it when we run our own
    tests through autopkgtest.

diff --git a/tests/adt-run b/tests/adt-run
index fc7e7c0..1f870a0 100755
--- a/tests/adt-run
+++ b/tests/adt-run
@@ -1638,13 +1638,19 @@ Restrictions: needs-root
         p = self.build_src('Tests: pass\nDepends:\nRestrictions: needs-root\n',
                            {'pass': '#!/bin/sh -e\n[ -x /bin/cp_cp ]; cat /setup.log\n'})

- # not expecting a normal user for chroot
+ # not expecting a normal user for chroot; but filter out any
+ # $ADT_NORMAL_USER from *our* environment
+ env = os.environ.copy()
+ try:
+ del env['ADT_NORMAL_USER']
+ except KeyError:
+ pass
         (code, out, err) = self.runtest(['-B', '--unbuilt-tree=' + p,
                                          '--setup-commands', '[ -z $ADT_NORMAL_USER ];'
                                          'sleep 3; cp /bin/cp /bin/cp_cp; '
                                          'echo setup_success > /setup.log',
                                          '--setup-commands', 'cp /bin/cp /bin/cp_cp',
- '--timeout-short=1', '--timeout-copy=1'])
+ '--timeout-short=1', '--timeout-copy=1'], env=env)
         # test should succeed
         self.assertEqual(code, 0, err)
         self.assertRegex(out, 'pass\s+PASS', out)