Source: cif2cell Version: 2.0.0a1+dfsg-3 Severity: serious Justification: FTBFS on amd64 Tags: bullseye sid ftbfs Usertags: ftbfs-20201119 ftbfs-bullseye
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > PYTHONPATH=. pytest-3 > ============================= test session starts > ============================== > platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>> > collected 7 items > > tests/test_cif2cell.py FFFFFFF > [100%] > > =================================== FAILURES > =================================== > _ test_parse[/<<PKGBUILDDIR>>/tests/../cifs/gamma-Pu.cif] _ > > cif_file = '/<<PKGBUILDDIR>>/tests/../cifs/gamma-Pu.cif' > > @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 > or higher") > @pytest.mark.parametrize("cif_file", CIF_FILES) > def test_parse(cif_file): > """Test running cif2cell on each CIF file in /cifs.""" > if sys.version_info < (3,0) and 'SiC.cif' in cif_file: > pytest.skip(reason='skip test for files with unicode content > under python 2.7.' + > 'see https://github.com/torbjornbjorkman/cif2cell/issues/7') > > > result = run_cif2cell([cif_file]) > > tests/test_cif2cell.py:23: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', > '/<<PKGBUILDDIR>>/tests/../cifs/gamma-Pu.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', > '/<<BUILDDIR>>/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '/<<PKGBUILDDIR>>/tests/../cifs/gamma-Pu.cif']' > returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > _ test_parse[/<<PKGBUILDDIR>>/tests/../cifs/BaTiO3_cubic.cif] _ > > cif_file = '/<<PKGBUILDDIR>>/tests/../cifs/BaTiO3_cubic.cif' > > @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 > or higher") > @pytest.mark.parametrize("cif_file", CIF_FILES) > def test_parse(cif_file): > """Test running cif2cell on each CIF file in /cifs.""" > if sys.version_info < (3,0) and 'SiC.cif' in cif_file: > pytest.skip(reason='skip test for files with unicode content > under python 2.7.' + > 'see https://github.com/torbjornbjorkman/cif2cell/issues/7') > > > result = run_cif2cell([cif_file]) > > tests/test_cif2cell.py:23: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', > '/<<PKGBUILDDIR>>/tests/../cifs/BaTiO3_cubic.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', > '/<<BUILDDIR>>/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '/<<PKGBUILDDIR>>/tests/../cifs/BaTiO3_cubic.cif']' > returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > _ test_parse[/<<PKGBUILDDIR>>/tests/../cifs/alpha-Mn.cif] _ > > cif_file = '/<<PKGBUILDDIR>>/tests/../cifs/alpha-Mn.cif' > > @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 > or higher") > @pytest.mark.parametrize("cif_file", CIF_FILES) > def test_parse(cif_file): > """Test running cif2cell on each CIF file in /cifs.""" > if sys.version_info < (3,0) and 'SiC.cif' in cif_file: > pytest.skip(reason='skip test for files with unicode content > under python 2.7.' + > 'see https://github.com/torbjornbjorkman/cif2cell/issues/7') > > > result = run_cif2cell([cif_file]) > > tests/test_cif2cell.py:23: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', > '/<<PKGBUILDDIR>>/tests/../cifs/alpha-Mn.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', > '/<<BUILDDIR>>/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '/<<PKGBUILDDIR>>/tests/../cifs/alpha-Mn.cif']' > returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > _ test_parse[/<<PKGBUILDDIR>>/tests/../cifs/anatase.cif] _ > > cif_file = '/<<PKGBUILDDIR>>/tests/../cifs/anatase.cif' > > @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 > or higher") > @pytest.mark.parametrize("cif_file", CIF_FILES) > def test_parse(cif_file): > """Test running cif2cell on each CIF file in /cifs.""" > if sys.version_info < (3,0) and 'SiC.cif' in cif_file: > pytest.skip(reason='skip test for files with unicode content > under python 2.7.' + > 'see https://github.com/torbjornbjorkman/cif2cell/issues/7') > > > result = run_cif2cell([cif_file]) > > tests/test_cif2cell.py:23: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', > '/<<PKGBUILDDIR>>/tests/../cifs/anatase.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', > '/<<BUILDDIR>>/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '/<<PKGBUILDDIR>>/tests/../cifs/anatase.cif']' > returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > _ test_parse[/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif] _ > > cif_file = '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif' > > @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 > or higher") > @pytest.mark.parametrize("cif_file", CIF_FILES) > def test_parse(cif_file): > """Test running cif2cell on each CIF file in /cifs.""" > if sys.version_info < (3,0) and 'SiC.cif' in cif_file: > pytest.skip(reason='skip test for files with unicode content > under python 2.7.' + > 'see https://github.com/torbjornbjorkman/cif2cell/issues/7') > > > result = run_cif2cell([cif_file]) > > tests/test_cif2cell.py:23: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', > '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', > '/<<BUILDDIR>>/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif']' returned > non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > __________________________________ test_vasp > ___________________________________ > > def test_vasp(): > """Test VASP output.""" > cif_file = os.path.join(CIFS_DIR, "SiC.cif") > > result = run_cif2cell(["-p", "vasp", "-f", cif_file]) > > tests/test_cif2cell.py:31: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', '-p', 'vasp', '-f', > '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', '-p', 'vasp', > '-f', '/bu...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '-p', 'vasp', '-f', > '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif']' returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > _________________________________ test_castep > __________________________________ > > def test_castep(): > """Test CASTEP output.""" > cif_file = os.path.join(CIFS_DIR, "SiC.cif") > > result = run_cif2cell(["-p", "castep", "-f", cif_file]) > > tests/test_cif2cell.py:39: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tests/test_cif2cell.py:13: in run_cif2cell > return subprocess.check_output(['./binaries/cif2cell'] + args, > stderr=subprocess.STDOUT).decode('utf8') > /usr/lib/python3.9/subprocess.py:420: in check_output > return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = None, capture_output = False, timeout = None, check = True > popenargs = (['./binaries/cif2cell', '-p', 'castep', '-f', > '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif'],) > kwargs = {'stderr': -2, 'stdout': -1} > process = <Popen: returncode: 1 args: ['./binaries/cif2cell', '-p', 'castep', > '-f', '/...> > stdout = b'Traceback (most recent call last):\n File > "/<<PKGBUILDDIR>>/./binaries/cif2cell", line ...m fractions import > gcd\nImportError: cannot import name \'gcd\' from \'fractions\' > (/usr/lib/python3.9/fractions.py)\n' > stderr = None, retcode = 1 > > def run(*popenargs, > input=None, capture_output=False, timeout=None, check=False, > **kwargs): > """Run command with arguments and return a CompletedProcess instance. > > The returned instance will have attributes args, returncode, stdout > and > stderr. By default, stdout and stderr are not captured, and those > attributes > will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture > them. > > If check is True and the exit code was non-zero, it raises a > CalledProcessError. The CalledProcessError object will have the > return code > in the returncode attribute, and output & stderr attributes if those > streams > were captured. > > If timeout is given, and the process takes too long, a TimeoutExpired > exception will be raised. > > There is an optional argument "input", allowing you to > pass bytes or a string to the subprocess's stdin. If you use this > argument > you may not also use the Popen constructor's "stdin" argument, as > it will be used internally. > > By default, all communication is in bytes, and therefore any "input" > should > be bytes, and the stdout and stderr will be bytes. If in text mode, > any > "input" should be a string, and stdout and stderr will be strings > decoded > according to locale encoding, or by "encoding" if set. Text mode is > triggered by setting any of text, encoding, errors or > universal_newlines. > > The other arguments are the same as for the Popen constructor. > """ > if input is not None: > if kwargs.get('stdin') is not None: > raise ValueError('stdin and input arguments may not both be > used.') > kwargs['stdin'] = PIPE > > if capture_output: > if kwargs.get('stdout') is not None or kwargs.get('stderr') is > not None: > raise ValueError('stdout and stderr arguments may not be used > ' > 'with capture_output.') > kwargs['stdout'] = PIPE > kwargs['stderr'] = PIPE > > with Popen(*popenargs, **kwargs) as process: > try: > stdout, stderr = process.communicate(input, timeout=timeout) > except TimeoutExpired as exc: > process.kill() > if _mswindows: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command > '['./binaries/cif2cell', '-p', 'castep', '-f', > '/<<PKGBUILDDIR>>/tests/../cifs/SiC.cif']' returned non-zero exit status 1. > > /usr/lib/python3.9/subprocess.py:524: CalledProcessError > =========================== 7 failed in 0.84 seconds > =========================== > make[1]: *** [debian/rules:9: override_dh_auto_test] Error 1 The full build log is available from: http://qa-logs.debian.net/2020/11/19/cif2cell_2.0.0a1+dfsg-3_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! About the archive rebuild: The rebuild was done on EC2 VM instances from Amazon Web Services, using a clean, minimal and up-to-date chroot. Every failed build was retried once to eliminate random failures.