Esempio n. 1
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = 'c18133c'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'))
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
        download_version(v, tempdir)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line = fid.readline().strip()
        assert_equal(line.split(' = ')[1][-8:-1], v)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
Esempio n. 2
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = '1088717'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'))
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
        download_version(v, tempdir)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line = fid.readline().strip()
        assert_equal(line.split(' = ')[1][-8:-1], v)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
        # make sure we can get latest version
        download_version(dest_dir=tempdir_2)
Esempio n. 3
0
def test_version():
    """Test version assertions
    """
    assert_raises(TypeError, assert_version, 1)
    assert_raises(TypeError, assert_version, '1' * 8)
    assert_raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    v = 'b798e65'
    f = 'drammock'
    if not _has_git:
        assert_raises(ImportError, download_version, v, tempdir, f)
    else:
        assert_raises(IOError, download_version, v, op.join(tempdir, 'foo'), f)
        assert_raises(RuntimeError, download_version, 'x' * 7, tempdir, f)
        download_version(v, tempdir, f)
        ex_dir = op.join(tempdir, 'expyfun')
        assert_true(op.isdir(ex_dir))
        assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
        with open(op.join(ex_dir, '_version.py')) as fid:
            line1 = fid.readline().strip()
            line2 = fid.readline().strip()
        assert_equal(line1.split(' = ')[1][-8:-1], v)
        assert_equal(line2.split(' = ')[1].strip('\''), f)

        # auto dir determination
        orig_dir = os.getcwd()
        os.chdir(tempdir)
        try:
            assert_true(op.isdir('expyfun'))
            assert_raises(IOError, download_version, v)
        finally:
            os.chdir(orig_dir)
        # make sure we can get latest version
        download_version(dest_dir=tempdir_2)
Esempio n. 4
0
def test_version_assertions():
    """Test version assertions."""
    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter('always')
        pytest.raises(TypeError, assert_version, 1)
        pytest.raises(TypeError, assert_version, '1' * 8)
        pytest.raises(AssertionError, assert_version, 'x' * 7)
        assert_version(__version__[-7:])
    assert all('actual' in str(ww.message) for ww in w)

    # old, broken, new
    for wi, want_version in enumerate(('090948e', 'cae6bc3', 'b6e8a81')):
        print('Running %s' % want_version)
        tempdir = _TempDir()
        if not _has_git:
            pytest.raises(ImportError, download_version, want_version, tempdir)
        else:
            pytest.raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            pytest.raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert not op.isdir(ex_dir)
            download_version(want_version, tempdir)
            assert op.isdir(ex_dir)
            assert op.isfile(op.join(ex_dir, '__init__.py'))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version
            if want_version == 'cae6bc3':
                ex = (ex, '.dev0+c')
            assert got_version in ex, got_fname

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert op.isdir('expyfun')
                pytest.raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        pytest.raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Esempio n. 5
0
def test_version_assertions():
    """Test version assertions."""
    pytest.raises(TypeError, assert_version, 1)
    pytest.raises(TypeError, assert_version, '1' * 8)
    pytest.raises(AssertionError, assert_version, 'x' * 7)
    assert_version(__version__[-7:])

    # old, broken, new
    for wi, want_version in enumerate(('090948e', 'cae6bc3', 'b6e8a81')):
        print('Running %s' % want_version)
        tempdir = _TempDir()
        if not _has_git:
            pytest.raises(ImportError, download_version, want_version, tempdir)
        else:
            pytest.raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            pytest.raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert not op.isdir(ex_dir)
            with pytest.warns(None):  # Sometimes warns
                download_version(want_version, tempdir)
            assert op.isdir(ex_dir)
            assert op.isfile(op.join(ex_dir, '__init__.py'))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version
            if want_version == 'cae6bc3':
                ex = (ex, '.dev0+c')
            assert got_version in ex, got_fname

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert op.isdir('expyfun')
                pytest.raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        pytest.raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Esempio n. 6
0
def test_version():
    """Test version assertions."""
    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter('always')
        assert_raises(TypeError, assert_version, 1)
        assert_raises(TypeError, assert_version, '1' * 8)
        assert_raises(AssertionError, assert_version, 'x' * 7)
        assert_version(__version__[-7:])
    assert_true(all('actual' in str(ww.message) for ww in w))

    for want_version in ('090948e', 'cae6bc3', 'b6e8a81'):  # old, broken, new
        tempdir = _TempDir()
        if not _has_git:
            assert_raises(ImportError, download_version, want_version, tempdir)
        else:
            assert_raises(IOError, download_version, want_version,
                          op.join(tempdir, 'foo'))
            assert_raises(RuntimeError, download_version, 'x' * 7, tempdir)
            ex_dir = op.join(tempdir, 'expyfun')
            assert_true(not op.isdir(ex_dir))
            download_version(want_version, tempdir)
            assert_true(op.isdir(ex_dir))
            assert_true(op.isfile(op.join(ex_dir, '__init__.py')))
            got_fname = op.join(ex_dir, '_version.py')
            with open(got_fname) as fid:
                line1 = fid.readline().strip()
            got_version = line1.split(' = ')[1][-8:-1]
            ex = want_version if want_version != 'cae6bc3' else '.dev0+c'
            assert_equal(got_version, ex,
                         msg='File {0}: {1} != {2}'.format(got_fname,
                                                           got_version, ex))

            # auto dir determination
            orig_dir = os.getcwd()
            os.chdir(tempdir)
            try:
                assert_true(op.isdir('expyfun'))
                assert_raises(IOError, download_version, want_version)
            finally:
                os.chdir(orig_dir)
    # make sure we can get latest version
    tempdir_2 = _TempDir()
    if _has_git:
        assert_raises(IOError, download_version, dest_dir=tempdir)
        download_version(dest_dir=tempdir_2)
Esempio n. 7
0
# License: BSD (3-clause)

print(__doc__)

import tempfile

from expyfun import download_version, run_subprocess


# Let's say we want to fix our experiment to use a specific version of
# expyfun. First we'd want to install that version (referenced by the
# commit number) to the proper directory. Here we'll use a temporary
# directory so we don't break any other code examples, but usually you'd
# want to do it in the experiment directory:
temp_dir = tempfile.mkdtemp()
download_version('c18133c', temp_dir)

# Now we would normally need to restart Python so the next ``import expyfun``
# call imported the proper version. We'd want to add an ``assert_version``
# call to the top of our script We can simulate that here just by
# launching a new Python instance in the ``temp_dir`` and using our assertion
# function:

cmd = """
from expyfun import assert_version

assert_version('c18133c')
"""
try:
    run_subprocess(['python', '-c', cmd], cwd=temp_dir)
except Exception as exp:
Esempio n. 8
0
#
# License: BSD (3-clause)

import tempfile

from expyfun import download_version, run_subprocess

print(__doc__)

# Let's say we want to fix our experiment to use a specific version of
# expyfun. First we'd want to install that version (referenced by the
# commit number) to the proper directory. Here we'll use a temporary
# directory so we don't break any other code examples, but usually you'd
# want to do it in the experiment directory:
temp_dir = tempfile.mkdtemp()
download_version('c18133c', temp_dir)

# Now we would normally need to restart Python so the next ``import expyfun``
# call imported the proper version. We'd want to add an ``assert_version``
# call to the top of our script We can simulate that here just by
# launching a new Python instance in the ``temp_dir`` and using our assertion
# function:

cmd = """
from expyfun import assert_version

assert_version('c18133c')
"""
try:
    run_subprocess(['python', '-c', cmd], cwd=temp_dir)
except Exception as exp: