Broken test in config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
IPython |
Fix Committed
|
High
|
Fernando Perez |
Bug Description
Brian, another one I need a hand with :)
I'm not sure if this one was ever supposed to pass or not... If you know what's going on, I can try to fix it, but I'm not sure if you meant for config files to be able to state
Foo.bar = 1
without previously declaring Foo first. The code in loader.py runs
namespace = dict(load_
and since namespace is just a plain python dict with no 'magical' self-creating of capitalized attributes, that code will not work. I'm not sure what the resolution should be here though...
Thanks!
maqroll[scripts]> ./iptest -v IPython.config
/usr/lib/
import struct, sets, time
........E
=======
ERROR: test_basic (IPython.
-------
Traceback (most recent call last):
File "/home/
config = cl.load_config()
File "/home/
self.
File "/home/
execfile(
File "/tmp/tmpqsXh5V
Foo.Bar.value = 10
NameError: name 'Foo' is not defined
-------
Ran 9 tests in 0.013s
FAILED (errors=1)
Related branches
- Brian Granger: Needs Fixing (overview)
-
Diff: 12304 lines (+6035/-2557)88 files modifiedIPython/__init__.py (+12/-9)
IPython/config/loader.py (+66/-25)
IPython/config/tests/test_loader.py (+9/-10)
IPython/core/application.py (+206/-81)
IPython/core/completer.py (+89/-73)
IPython/core/crashhandler.py (+41/-47)
IPython/core/debugger.py (+33/-0)
IPython/core/history.py (+47/-25)
IPython/core/hooks.py (+1/-2)
IPython/core/ipapp.py (+295/-184)
IPython/core/iplib.py (+240/-179)
IPython/core/magic.py (+96/-60)
IPython/core/prefilter.py (+72/-15)
IPython/core/prompts.py (+20/-8)
IPython/core/pylabtools.py (+145/-0)
IPython/core/quitter.py (+12/-7)
IPython/core/release.py (+1/-1)
IPython/core/tests/obj_del.py (+0/-35)
IPython/core/tests/simpleerr.py (+32/-0)
IPython/core/tests/tclass.py (+14/-10)
IPython/core/tests/test_completer.py (+35/-0)
IPython/core/tests/test_iplib.py (+216/-28)
IPython/core/tests/test_magic.py (+137/-190)
IPython/core/tests/test_prefilter.py (+34/-0)
IPython/core/tests/test_run.py (+174/-0)
IPython/core/ultratb.py (+60/-21)
IPython/core/usage.py (+34/-325)
IPython/extensions/parallelmagic.py (+4/-0)
IPython/extensions/pretty.py (+3/-58)
IPython/extensions/tests/test_pretty.py (+51/-6)
IPython/external/_numpy_testing_utils.py (+120/-0)
IPython/external/argparse.py (+89/-38)
IPython/external/decorators.py (+245/-51)
IPython/frontend/prefilterfrontend.py (+17/-37)
IPython/frontend/tests/test_prefilterfrontend.py (+9/-6)
IPython/gui/wx/ipshell_nonblocking.py (+15/-14)
IPython/kernel/__init__.py (+1/-1)
IPython/kernel/clusterdir.py (+53/-65)
IPython/kernel/core/interpreter.py (+3/-4)
IPython/kernel/core/tests/test_redirectors.py (+6/-6)
IPython/kernel/engineservice.py (+3/-3)
IPython/kernel/error.py (+2/-2)
IPython/kernel/ipclusterapp.py (+8/-19)
IPython/kernel/ipcontrollerapp.py (+14/-34)
IPython/kernel/ipengineapp.py (+8/-27)
IPython/kernel/tests/test_multienginefc.py (+9/-1)
IPython/kernel/tests/test_taskfc.py (+9/-1)
IPython/lib/inputhook.py (+49/-3)
IPython/quarantine/InterpreterPasteInput.py (+0/-124)
IPython/scripts/iptest (+19/-3)
IPython/testing/__init__.py (+18/-0)
IPython/testing/_doctest26.py (+110/-0)
IPython/testing/_paramtestpy2.py (+89/-0)
IPython/testing/_paramtestpy3.py (+62/-0)
IPython/testing/decorators.py (+84/-14)
IPython/testing/decorators_trial.py (+0/-132)
IPython/testing/globalipapp.py (+168/-0)
IPython/testing/iptest.py (+349/-185)
IPython/testing/ipunittest.py (+189/-0)
IPython/testing/nosepatch.py (+53/-0)
IPython/testing/parametric.py (+3/-0)
IPython/testing/plugin/ipdoctest.py (+27/-180)
IPython/testing/plugin/test_ipdoctest.py (+0/-19)
IPython/testing/tests/test_decorators.py (+71/-13)
IPython/testing/tests/test_decorators_trial.py (+9/-4)
IPython/testing/tests/test_ipunittest.py (+122/-0)
IPython/testing/tests/test_tools.py (+31/-9)
IPython/testing/tools.py (+255/-7)
IPython/utils/baseutils.py (+51/-0)
IPython/utils/genutils.py (+129/-41)
IPython/utils/platutils.py (+1/-1)
IPython/utils/platutils_posix.py (+14/-1)
IPython/utils/tests/test_genutils.py (+71/-51)
IPython/utils/tests/test_imports.py (+0/-1)
IPython/utils/tests/test_platutils.py (+19/-6)
MANIFEST.in (+1/-0)
README.txt (+22/-4)
docs/emacs/ipython.el (+1/-1)
docs/source/development/coding_guide.txt (+34/-0)
docs/source/development/index.txt (+1/-0)
docs/source/development/magic_blueprint.txt (+103/-0)
docs/source/development/testing.txt (+366/-32)
docs/sphinxext/ipython_directive.py (+641/-0)
iptest.py (+26/-0)
ipython.py (+6/-2)
setup.py (+44/-3)
setupegg.py (+1/-7)
tools/build_release (+6/-6)
- Brian Granger: Approve
- Diff: None lines
On Wed, Jan 6, 2010 at 1:53 AM, Fernando Perez <email address hidden> wrote:
> Public bug reported:
>
> Brian, another one I need a hand with :)
>
> I'm not sure if this one was ever supposed to pass or not... If you know
> what's going on, I can try to fix it, but I'm not sure if you meant for
> config files to be able to state
>
> Foo.bar = 1
No, this should not work. Instead it should be something like config.Foo.bar.
But where did you find this code? All the default config files should
have been updated to the
new convention. The fix will be to simply create an appropriate
config instance to set Foo.bar on.
Brian
> without previously declaring Foo first. The code in loader.py runs subconfig= load_subconfig, get_config= get_config) self.full_ filename, namespace) pymodules/ python2. 6/foolscap/ banana. py:2: DeprecationWarning: the sets module is deprecated ======= ======= ======= ======= ======= ======= ======= ======= ======= config. tests.test_ loader. TestPyFileCL) ------- ------- ------- ------- ------- ------- ------- ------- ------- fperez/ usr/lib/ python2. 6/site- packages/ IPython/ config/ tests/test_ loader. py", line 56, in test_basic fperez/ usr/lib/ python2. 6/site- packages/ IPython/ config/ loader. py", line 246, in load_config file_as_ dict() fperez/ usr/lib/ python2. 6/site- packages/ IPython/ config/ loader. py", line 280, in _read_file_as_dict self.full_ filename, namespace) .py", line 4, in <module> ------- ------- ------- ------- ------- ------- ------- ------- ------- /bugs.launchpad .net/bugs/ 503731 subconfig= load_subconfig, get_config= get_config) self.full_ filename, namespace)
>
> namespace = dict(load_
> execfile(
>
> and since namespace is just a plain python dict with no 'magical' self-
> creating of capitalized attributes, that code will not work. I'm not
> sure what the resolution should be here though...
>
> Thanks!
>
> maqroll[scripts]> ./iptest -v IPython.config
> /usr/lib/
> import struct, sets, time
> ........E
> =======
> ERROR: test_basic (IPython.
> -------
> Traceback (most recent call last):
> File "/home/
> config = cl.load_config()
> File "/home/
> self._read_
> File "/home/
> execfile(
> File "/tmp/tmpqsXh5V
> Foo.Bar.value = 10
> NameError: name 'Foo' is not defined
>
> -------
> Ran 9 tests in 0.013s
>
> FAILED (errors=1)
>
> ** Affects: ipython
> Importance: High
> Status: Confirmed
>
> --
> Broken test in config
> https:/
> You received this bug notification because you are a member of IPython
> Developers, which is subscribed to IPython.
>
> Status in IPython - Enhanced Interactive Python: Confirmed
>
> Bug description:
> Brian, another one I need a hand with :)
>
> I'm not sure if this one was ever supposed to pass or not... If you know what's going on, I can try to fix it, but I'm not sure if you meant for config files to be able to state
>
> Foo.bar = 1
>
> without previously declaring Foo first. The code in loader.py runs
>
> namespace = dict(load_
> execfile(
>
> and since namespace is just a plain python dict with no 'magical' self-creating of capitalized attributes, that code will not work. I'm not sure what the resolution should be here though...
>
> Thanks!
>
> maqroll[scripts]> ./iptest -v ...