##// END OF EJS Templates
%%bash: read from stream until separator found or buffer is full (#14019)...
%%bash: read from stream until separator found or buffer is full (#14019) Original issue: https://github.com/ipython/ipython/issues/14005 TLDR before we would read line by line however this is not necessary and we should just continue reading until we reach EOF. The case we patch here is if we read a line larger than the allowed buffer size, we will return that chunk (aka the entire buffer) to be written out and still continue reading.

File last commit:

r27126:8e428a71
r28222:47d043e1 merge
Show More
test_storemagic.py
66 lines | 2.0 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add test for storemagic
r11146 import tempfile, os
Nikita Kniazev
On Windows `Path.cwd()` might be in short filename/SFN format
r27126 from pathlib import Path
Thomas Kluyver
Add test for storemagic
r11146
Min RK
update dependency imports...
r21253 from traitlets.config.loader import Config
Thomas Kluyver
Add test for storemagic
r11146
Matthias Bussonnier
Fix state leakage and speedup in test-suite...
r25073
def setup_module():
ip.magic('load_ext storemagic')
Thomas Kluyver
Add test for storemagic
r11146
def test_store_restore():
Matthias Bussonnier
Fix state leakage and speedup in test-suite...
r25073 assert 'bar' not in ip.user_ns, "Error: some other test leaked `bar` in user_ns"
assert 'foo' not in ip.user_ns, "Error: some other test leaked `foo` in user_ns"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 assert 'foobar' not in ip.user_ns, "Error: some other test leaked `foobar` in user_ns"
assert 'foobaz' not in ip.user_ns, "Error: some other test leaked `foobaz` in user_ns"
Thomas Kluyver
Add test for storemagic
r11146 ip.user_ns['foo'] = 78
ip.magic('alias bar echo "hello"')
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.user_ns['foobar'] = 79
ip.user_ns['foobaz'] = '80'
Thomas Kluyver
Add test for storemagic
r11146 tmpd = tempfile.mkdtemp()
ip.magic('cd ' + tmpd)
ip.magic('store foo')
ip.magic('store bar')
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.magic('store foobar foobaz')
Thomas Kluyver
Add test for storemagic
r11146 # Check storing
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 assert ip.db["autorestore/foo"] == 78
assert "bar" in ip.db["stored_aliases"]
assert ip.db["autorestore/foobar"] == 79
assert ip.db["autorestore/foobaz"] == "80"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Thomas Kluyver
Add test for storemagic
r11146 # Remove those items
ip.user_ns.pop('foo', None)
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.user_ns.pop('foobar', None)
ip.user_ns.pop('foobaz', None)
Thomas Kluyver
Add test for storemagic
r11146 ip.alias_manager.undefine_alias('bar')
ip.magic('cd -')
ip.user_ns['_dh'][:] = []
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Thomas Kluyver
Add test for storemagic
r11146 # Check restoring
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.magic("store -r foo bar foobar foobaz")
assert ip.user_ns["foo"] == 78
assert ip.alias_manager.is_alias("bar")
assert ip.user_ns["foobar"] == 79
assert ip.user_ns["foobaz"] == "80"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.magic("store -r") # restores _dh too
Nikita Kniazev
On Windows `Path.cwd()` might be in short filename/SFN format
r27126 assert any(Path(tmpd).samefile(p) for p in ip.user_ns["_dh"])
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Thomas Kluyver
Add test for storemagic
r11146 os.rmdir(tmpd)
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333
def test_autorestore():
ip.user_ns['foo'] = 95
ip.magic('store foo')
del ip.user_ns['foo']
c = Config()
c.StoreMagics.autorestore = False
orig_config = ip.config
try:
ip.config = c
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.extension_manager.reload_extension("storemagic")
assert "foo" not in ip.user_ns
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333 c.StoreMagics.autorestore = True
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.extension_manager.reload_extension("storemagic")
assert ip.user_ns["foo"] == 95
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333 finally:
ip.config = orig_config