def test_ensuredir_verbosity(): base = ub.ensure_app_cache_dir('ubelt/tests') with ub.CaptureStdout() as cap: ub.ensuredir(join(base, 'foo'), verbose=0) assert cap.text == '' # None defaults to verbose=0 with ub.CaptureStdout() as cap: ub.ensuredir((base, 'foo'), verbose=None) assert cap.text == '' ub.delete(join(base, 'foo')) with ub.CaptureStdout() as cap: ub.ensuredir(join(base, 'foo'), verbose=1) assert 'creating' in cap.text with ub.CaptureStdout() as cap: ub.ensuredir(join(base, 'foo'), verbose=1) assert 'existing' in cap.text
def testme(): import ubelt as ub cmake_exe = ub.find_exe('cmake') print('cmake_exe = {!r}'.format(cmake_exe)) fpath = "build-out.txt" echo = False with winlog(fpath, echo) as logger: # NOQA print("INSIDE LOGGER") # p = subprocess.run("c:/Program Files/CMake/bin/cmake --version") p = subprocess.run("{} --version".format(cmake_exe), shell=True) # NOQA import ubelt as ub cmake_exe = ub.find_exe('cmake') with ub.CaptureStdout() as cap: p = subprocess.run([cmake_exe, '--version'])
def test_tqdm_compatibility(): prog = ProgIter(range(20), total=20, miniters=17, show_times=False) assert prog.pos == 0 assert prog.freq == 17 for _ in prog: pass import ubelt as ub with ub.CaptureStdout() as cap: ProgIter.write('foo') assert cap.text.strip() == 'foo' with ub.CaptureStdout() as cap: prog = ProgIter(show_times=False) prog.set_description('new desc', refresh=False) prog.begin() prog.refresh() prog.close() assert prog.label == 'new desc' assert 'new desc' in cap.text.strip() with ub.CaptureStdout() as cap: prog = ProgIter(show_times=False) prog.set_description('new desc', refresh=True) prog.close() assert prog.label == 'new desc' assert 'new desc' in cap.text.strip() with ub.CaptureStdout() as cap: prog = ProgIter(show_times=False) prog.set_description_str('new desc') prog.begin() prog.refresh() prog.close() assert prog.label == 'new desc' assert 'new desc' in cap.text.strip() import ubelt as ub with ub.CaptureStdout() as cap: prog = ub.ProgIter(show_times=False) prog.set_postfix({'foo': 'bar'}, baz='biz', x=object(), y=2) prog.begin() assert prog.length is None assert 'foo=bar' in cap.text.strip() assert 'baz=biz' in cap.text.strip() assert 'y=2' in cap.text.strip() assert 'x=<object' in cap.text.strip() import ubelt as ub with ub.CaptureStdout() as cap: prog = ub.ProgIter(show_times=False) prog.set_postfix_str('bar baz', refresh=False) assert 'bar baz' not in cap.text.strip()
def test_cmd_stdout(): """ Debug: # Issues on windows python -c "import ubelt; ubelt.cmd('echo hello stdout')" python -c "import subprocess; subprocess.call(['echo', 'hi'])" proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=shell, universal_newlines=True, cwd=cwd, env=env) """ with ub.CaptureStdout() as cap: result = ub.cmd('echo hello stdout', verbose=True) assert result['out'].strip() == 'hello stdout' assert cap.text.strip() == 'hello stdout'
def test_download_with_progkw(): """ Test that progkw is properly passed through to ub.download """ url = _demo_url(128 * 10) dpath = ub.ensure_app_cache_dir('ubelt', 'tests') fname = basename(url) fpath = join(dpath, fname) with ub.CaptureStdout() as cap: ub.download(url, fpath=fpath, progkw={ 'verbose': 3, 'freq': 1, 'adjust': False }, chunksize=128) assert len(cap.text.split('\n')) > 10
def test_job_pool_as_completed_prog_args(): import ubelt as ub def worker(data): return data + 1 pool = ub.JobPool('thread', max_workers=1) for data in ub.ProgIter(range(10), desc='submit jobs'): pool.submit(worker, data) with ub.CaptureStdout() as cap: final = list( pool.as_completed(desc='collect jobs', progkw={'verbose': 3})) assert len(cap.text.split('\n')) > len(pool.jobs) print('final = {!r}'.format(final)) pool.shutdown()
def test_cmd_stdout_quiet(): with ub.CaptureStdout() as cap: result = ub.cmd('echo hello stdout', verbose=False) assert result['out'].strip() == 'hello stdout', 'should still capture internally' assert cap.text.strip() == '', 'nothing should print to stdout'
def test_tee_false(): with ub.CaptureStdout() as cap: result = ub.cmd('echo hello stdout', verbose=3, tee=False) assert result['out'].strip() == 'hello stdout' assert 'hello world' not in cap.text print(cap.text)
def test_cmd_veryverbose(): with ub.CaptureStdout() as cap: result = ub.cmd('echo hello stdout', verbose=3) assert result['out'].strip() == 'hello stdout' print(cap.text)
def test_cmd_stdout(): with ub.CaptureStdout() as cap: result = ub.cmd('echo hello stdout', verbose=True) assert result['out'].strip() == 'hello stdout' assert cap.text.strip() == 'hello stdout'