def test_git_difftool(git_repo, unique_port, popen_with_terminator): gitdifftool.main(['config', '--enable']) cmd = get_output('git config --get --local difftool.nbdime.cmd').strip() # pick a non-random port so we can connect later, and avoid opening a browser port = unique_port cmd = cmd + ' --port=%i --browser=disabled' % port call(['git', 'config', 'difftool.nbdime.cmd', cmd]) # avoid global diff driver config from disabling difftool: with open('.gitattributes', 'w') as f: f.write('*.ipynb\tdiff=notnbdime') process = popen_with_terminator( ['git', 'difftool', '--tool=nbdime', 'base']) # 3 is the number of notebooks in this diff url = 'http://127.0.0.1:%i' % port for _ in range(3): wait_up(url, check=lambda: process.poll() is None) # server started r = requests.get(url + '/difftool') r.raise_for_status() # close it r = requests.post(url + '/api/closetool', headers={'exit_code': '0'}) r.raise_for_status() time.sleep(0.25) # wait for exit process.wait() assert process.poll() == 0
def test_git_difftool(git_repo, unique_port, popen_with_terminator): gitdifftool.main(['config', '--enable']) cmd = get_output('git config --get --local difftool.nbdime.cmd').strip() # pick a non-random port so we can connect later, and avoid opening a browser port = unique_port cmd = cmd + ' --port=%i --browser=disabled' % port call(['git', 'config', 'difftool.nbdime.cmd', cmd]) # avoid global diff driver config from disabling difftool: with open('.gitattributes', 'w') as f: f.write('*.ipynb\tdiff=notnbdime') process = popen_with_terminator(['git', 'difftool', '--tool=nbdime', 'base']) # 3 is the number of notebooks in this diff url = 'http://127.0.0.1:%i' % port for i in range(3): wait_up(url, check=lambda: process.poll() is None) # server started r = requests.get(url + '/difftool') r.raise_for_status() # close it r = requests.post(url + '/api/closetool', headers={'exit_code': '0'}) r.raise_for_status() time.sleep(0.25) # wait for exit process.wait() assert process.poll() == 0