~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_plugins.py

  • Committer: John Arbash Meinel
  • Date: 2011-01-10 22:20:12 UTC
  • mfrom: (5582 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5599.
  • Revision ID: john@arbash-meinel.com-20110110222012-mtcqudkvmzwiufuc
Merge in the bzr.dev 5582

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005-2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
656
656
                    self.fail('No path to global plugins')
657
657
 
658
658
    def test_get_standard_plugins_path_env(self):
659
 
        os.environ['BZR_PLUGIN_PATH'] = 'foo/'
 
659
        self.overrideEnv('BZR_PLUGIN_PATH', 'foo/')
660
660
        path = plugin.get_standard_plugins_path()
661
661
        for directory in path:
662
662
            self.assertNotContainsRe(directory, r'\\/$')
692
692
 
693
693
    def _set_path(self, *args):
694
694
        path = os.pathsep.join(self._list2paths(*args))
695
 
        osutils.set_or_unset_env('BZR_PLUGIN_PATH', path)
 
695
        self.overrideEnv('BZR_PLUGIN_PATH', path)
696
696
 
697
697
    def check_path(self, expected_dirs, setting_dirs):
698
698
        if setting_dirs:
779
779
        self.addCleanup(self._unregister_plugin, 'test_foo')
780
780
 
781
781
    def test_cannot_import(self):
782
 
        osutils.set_or_unset_env('BZR_DISABLE_PLUGINS', 'test_foo')
 
782
        self.overrideEnv('BZR_DISABLE_PLUGINS', 'test_foo')
783
783
        plugin.set_plugins_path(['.'])
784
784
        try:
785
785
            import bzrlib.plugins.test_foo
801
801
        self.overrideAttr(trace, 'warning', captured_warning)
802
802
        # Reset the flag that protect against double loading
803
803
        self.overrideAttr(plugin, '_loaded', False)
804
 
        osutils.set_or_unset_env('BZR_DISABLE_PLUGINS', 'test_foo')
 
804
        self.overrideEnv('BZR_DISABLE_PLUGINS', 'test_foo')
805
805
        plugin.load_plugins(['.'])
806
806
        self.assertPluginUnknown('test_foo')
807
807
        # Make sure we don't warn about the plugin ImportError since this has
859
859
        self.assertTestFooLoadedFrom('standard/test_foo')
860
860
 
861
861
    def test_import(self):
862
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
 
862
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
863
863
        plugin.set_plugins_path(['standard'])
864
864
        try:
865
865
            import bzrlib.plugins.test_foo
868
868
        self.assertTestFooLoadedFrom('non-standard-dir')
869
869
 
870
870
    def test_loading(self):
871
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
 
871
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
872
872
        plugin.load_plugins(['standard'])
873
873
        self.assertTestFooLoadedFrom('non-standard-dir')
874
874
 
875
875
    def test_compiled_loaded(self):
876
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
 
876
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
877
877
        plugin.load_plugins(['standard'])
878
878
        self.assertTestFooLoadedFrom('non-standard-dir')
879
879
        self.assertIsSameRealPath('non-standard-dir/__init__.py',
896
896
        self.create_plugin_package('test_bar', dir='non-standard-dir/test_bar')
897
897
        self.addCleanup(self._unregister_plugin_submodule,
898
898
                        'test_foo', 'test_bar')
899
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
 
899
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
900
900
        plugin.set_plugins_path(['standard'])
901
901
        import bzrlib.plugins.test_foo
902
902
        self.assertEqual('bzrlib.plugins.test_foo',
913
913
        self.create_plugin_package('test_bar', dir='another-dir/test_bar')
914
914
        self.addCleanup(self._unregister_plugin_submodule,
915
915
                        'test_foo', 'test_bar')
916
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@another-dir')
 
916
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@another-dir')
917
917
        plugin.set_plugins_path(['standard'])
918
918
        import bzrlib.plugins.test_foo
919
919
        self.assertEqual('bzrlib.plugins.test_foo',
928
928
        random = 'non-standard-dir/setup.py'
929
929
        os.rename(init, random)
930
930
        self.addCleanup(os.rename, random, init)
931
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
 
931
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@non-standard-dir')
932
932
        plugin.load_plugins(['standard'])
933
933
        self.assertPluginUnknown('test_foo')
934
934
 
942
942
''' % ('test_foo', plugin_path)
943
943
        self.create_plugin('test_foo', source=source,
944
944
                           dir=plugin_dir, file_name=plugin_file_name)
945
 
        osutils.set_or_unset_env('BZR_PLUGINS_AT', 'test_foo@%s' % plugin_path)
 
945
        self.overrideEnv('BZR_PLUGINS_AT', 'test_foo@%s' % plugin_path)
946
946
        plugin.load_plugins(['standard'])
947
947
        self.assertTestFooLoadedFrom(plugin_path)