Show More
@@ -110,6 +110,7 b' Some of the known remaining caveats are:' | |||||
110 | """ |
|
110 | """ | |
111 |
|
111 | |||
112 | from IPython.core.magic import Magics, magics_class, line_magic |
|
112 | from IPython.core.magic import Magics, magics_class, line_magic | |
|
113 | ||||
113 | __skip_doctest__ = True |
|
114 | __skip_doctest__ = True | |
114 |
|
115 | |||
115 | # ----------------------------------------------------------------------------- |
|
116 | # ----------------------------------------------------------------------------- | |
@@ -643,7 +644,9 b' class AutoreloadMagics(Magics):' | |||||
643 | elif parameter_s == "1" or parameter_s.lower() == "on": |
|
644 | elif parameter_s == "1" or parameter_s.lower() == "on": | |
644 | self._reloader._report = lambda msg: print(msg) |
|
645 | self._reloader._report = lambda msg: print(msg) | |
645 | elif parameter_s == "2" or parameter_s.lower() == "log": |
|
646 | elif parameter_s == "2" or parameter_s.lower() == "log": | |
646 |
self._reloader._report = lambda msg: logging.getLogger( |
|
647 | self._reloader._report = lambda msg: logging.getLogger("autoreload").info( | |
|
648 | msg | |||
|
649 | ) | |||
647 | else: |
|
650 | else: | |
648 | raise ValueError(f'Unrecognized parameter "{parameter_s}".') |
|
651 | raise ValueError(f'Unrecognized parameter "{parameter_s}".') | |
649 |
|
652 |
@@ -407,10 +407,12 b' class TestAutoreload(Fixture):' | |||||
407 | def gather_settings(mode): |
|
407 | def gather_settings(mode): | |
408 | self.shell.magic_autoreload(mode) |
|
408 | self.shell.magic_autoreload(mode) | |
409 | module_reloader = self.shell.auto_magics._reloader |
|
409 | module_reloader = self.shell.auto_magics._reloader | |
410 |
return AutoreloadSettings( |
|
410 | return AutoreloadSettings( | |
411 |
|
|
411 | module_reloader.check_all, | |
412 |
|
|
412 | module_reloader.enabled, | |
413 | ) |
|
413 | module_reloader.autoload_obj, | |
|
414 | ) | |||
|
415 | ||||
414 | assert gather_settings("0") == gather_settings("off") |
|
416 | assert gather_settings("0") == gather_settings("off") | |
415 | assert gather_settings("0") == gather_settings("OFF") # Case insensitive |
|
417 | assert gather_settings("0") == gather_settings("OFF") # Case insensitive | |
416 | assert gather_settings("1") == gather_settings("explicit") |
|
418 | assert gather_settings("1") == gather_settings("explicit") | |
@@ -419,24 +421,26 b' class TestAutoreload(Fixture):' | |||||
419 |
|
421 | |||
420 | # And an invalid mode name raises an exception. |
|
422 | # And an invalid mode name raises an exception. | |
421 | with self.assertRaises(ValueError): |
|
423 | with self.assertRaises(ValueError): | |
422 |
self.shell.magic_autoreload( |
|
424 | self.shell.magic_autoreload("4") | |
423 |
|
425 | |||
424 | def test_aimport_parsing(self): |
|
426 | def test_aimport_parsing(self): | |
425 | # Modules can be included or excluded all in one line. |
|
427 | # Modules can be included or excluded all in one line. | |
426 | module_reloader = self.shell.auto_magics._reloader |
|
428 | module_reloader = self.shell.auto_magics._reloader | |
427 |
self.shell.magic_aimport( |
|
429 | self.shell.magic_aimport("os") # import and mark `os` for auto-reload. | |
428 |
assert module_reloader.modules[ |
|
430 | assert module_reloader.modules["os"] is True | |
429 |
assert |
|
431 | assert "os" not in module_reloader.skip_modules.keys() | |
430 |
|
432 | |||
431 |
self.shell.magic_aimport( |
|
433 | self.shell.magic_aimport("-math") # forbid autoreloading of `math` | |
432 |
assert module_reloader.skip_modules[ |
|
434 | assert module_reloader.skip_modules["math"] is True | |
433 |
assert |
|
435 | assert "math" not in module_reloader.modules.keys() | |
434 |
|
436 | |||
435 | self.shell.magic_aimport('-os, math') # Can do this all in one line; wasn't possible before. |
|
437 | self.shell.magic_aimport( | |
436 | assert module_reloader.modules['math'] is True |
|
438 | "-os, math" | |
437 | assert 'math' not in module_reloader.skip_modules.keys() |
|
439 | ) # Can do this all in one line; wasn't possible before. | |
438 |
assert module_reloader. |
|
440 | assert module_reloader.modules["math"] is True | |
439 |
assert |
|
441 | assert "math" not in module_reloader.skip_modules.keys() | |
|
442 | assert module_reloader.skip_modules["os"] is True | |||
|
443 | assert "os" not in module_reloader.modules.keys() | |||
440 |
|
444 | |||
441 | def test_averbose(self): |
|
445 | def test_averbose(self): | |
442 | self.shell.magic_averbose("off") |
|
446 | self.shell.magic_averbose("off") | |
@@ -446,7 +450,7 b' class TestAutoreload(Fixture):' | |||||
446 | """ |
|
450 | """ | |
447 | mod_name, mod_fn = self.new_module(mod_code) |
|
451 | mod_name, mod_fn = self.new_module(mod_code) | |
448 | self.shell.run_code(f"import {mod_name}") |
|
452 | self.shell.run_code(f"import {mod_name}") | |
449 |
with tt.AssertPrints( |
|
453 | with tt.AssertPrints("", channel="stdout"): # no output. | |
450 | self.shell.run_code("pass") |
|
454 | self.shell.run_code("pass") | |
451 |
|
455 | |||
452 | self.write_file(mod_fn, mod_code) # "modify" the module |
|
456 | self.write_file(mod_fn, mod_code) # "modify" the module | |
@@ -456,7 +460,7 b' class TestAutoreload(Fixture):' | |||||
456 |
|
460 | |||
457 | self.write_file(mod_fn, mod_code) # "modify" the module |
|
461 | self.write_file(mod_fn, mod_code) # "modify" the module | |
458 | self.shell.magic_averbose("off") # Should not see anything on next call |
|
462 | self.shell.magic_averbose("off") # Should not see anything on next call | |
459 |
with tt.AssertPrints( |
|
463 | with tt.AssertPrints("", channel="stdout"): | |
460 | self.shell.run_code("pass") |
|
464 | self.shell.run_code("pass") | |
461 |
|
465 | |||
462 | # TODO: test logging. Why won't this work? |
|
466 | # TODO: test logging. Why won't this work? | |
@@ -472,7 +476,7 b' class TestAutoreload(Fixture):' | |||||
472 |
|
476 | |||
473 | # And an invalid mode name raises an exception. |
|
477 | # And an invalid mode name raises an exception. | |
474 | with self.assertRaises(ValueError): |
|
478 | with self.assertRaises(ValueError): | |
475 |
self.shell.magic_averbose( |
|
479 | self.shell.magic_averbose("fax") | |
476 |
|
480 | |||
477 | def _check_smoketest(self, use_aimport=True): |
|
481 | def _check_smoketest(self, use_aimport=True): | |
478 | """ |
|
482 | """ |
General Comments 0
You need to be logged in to leave comments.
Login now