#!/usr/bin/python3 | |
# -*- coding: utf-8 -*- | |
# | |
# Copyright (C) 2019 Colomban Wendling <[email protected]> | |
# | |
# Copying and distribution of this file, with or without modification, | |
# are permitted in any medium without royalty provided the copyright | |
# notice and this notice are preserved. | |
"""Unit tests for verifying InstallProgress works when spawning dpkg directly | |
(i.e. when installing standalone .debs).""" | |
import os | |
import unittest | |
from test_all import get_library_dir | |
import sys | |
libdir = get_library_dir() | |
if libdir: | |
sys.path.insert(0, libdir) | |
from apt.progress.base import InstallProgress | |
import testcommon | |
class RunHelper: | |
def __init__(self): | |
self.script = "helper_install_progress_run.py" | |
def do_install(self, fd): | |
return os.spawnl(os.P_WAIT, self.script, self.script, str(fd)) | |
class TestInstallProgressExec(testcommon.TestCase): | |
""" test that InstallProgress.run() passes a valid file descriptor to | |
a child process """ | |
def test_run(self): | |
with InstallProgress() as prog: | |
self.assertEqual(prog.run(RunHelper()), 0) | |
if __name__ == "__main__": | |
os.chdir(os.path.dirname(__file__)) | |
unittest.main() | |