コード例 #1
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_ignored(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             with demandimport.ignored(m.name):
                 lm = __import__(m.name, locals={'foo': 'bar'})
                 self.assertTrue(m.loaded)
コード例 #2
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_ignored(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             with demandimport.ignored(m.name):
                 lm = __import__(m.name, locals={'foo': 'bar'})
                 self.assertTrue(m.loaded)
コード例 #3
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_disabled_context(self):
     self.assertFalse(demandimport.is_enabled)
     with demandimport.enabled():
         self.assertTrue(demandimport.is_enabled)
         with demandimport.disabled():
             self.assertFalse(demandimport.is_enabled)
         self.assertTrue(demandimport.is_enabled)
     self.assertFalse(demandimport.is_enabled)
コード例 #4
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_simple(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             lm = __import__(m.name, locals={'foo': 'bar'})
             self.assertFalse(m.loaded)
             self.assertEqual(lm.name, m.name)
             self.assertTrue(m.loaded)
コード例 #5
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_disabled_context(self):
     self.assertFalse(demandimport.is_enabled)
     with demandimport.enabled():
         self.assertTrue(demandimport.is_enabled)
         with demandimport.disabled():
             self.assertFalse(demandimport.is_enabled)
         self.assertTrue(demandimport.is_enabled)
     self.assertFalse(demandimport.is_enabled)
コード例 #6
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_simple(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             lm = __import__(m.name, locals={'foo': 'bar'})
             self.assertFalse(m.loaded)
             self.assertEqual(lm.name, m.name)
             self.assertTrue(m.loaded)
コード例 #7
0
 def test_issue2(self):
     with TestModule() as m:
         with demandimport.enabled():
             os.mkdir(os.path.join(m.path, 'a'))
             with open(os.path.join(m.path, 'a', '__init__.py'), 'w') as f:
                 pass
             with open(os.path.join(m.path, 'a', 'b.py'), 'w') as f:
                 pass
             __import__(m.name+'.a.b', locals={'foo': 'bar'}).a.b.__name__
コード例 #8
0
 def test_issue1(self):
     with TestModule() as m:
         with demandimport.enabled():
             with open(os.path.join(m.path, 'a.py'), 'w') as f:
                 f.write(textwrap.dedent("""
                         import {0}.b
                         {0}.b.__name__
                         """).format(m.name))
             with open(os.path.join(m.path, 'b.py'), 'w') as f:
                 pass
             __import__(m.name+'.a', locals={'foo': 'bar'}).a.__name__
コード例 #9
0
 def test_issue3(self):
     if sys.version_info[0] >= 3:
         return
     with TestModule() as m:
         with demandimport.enabled():
             os.mkdir(os.path.join(m.path, 'a'))
             with open(os.path.join(m.path, 'a', '__init__.py'), 'w') as f:
                 pass
             with open(os.path.join(m.path, 'a', 'b.py'), 'w') as f:
                 pass
             with open(os.path.join(m.path, 'a', 'c.py'), 'w') as f:
                 f.write("from b import *")
             __import__(m.name+'.a.c', locals={'foo': 'bar'}).a.c.__name__
コード例 #10
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_is_proxy_and_loaded(self):
     with TestModule() as m:
         lm = __import__(m.name)
         self.assertFalse(demandimport.is_proxy(lm))
         self.assertTrue(m.loaded)
         self.assertTrue(demandimport.is_loaded(lm))
     with TestModule() as m:
         with demandimport.enabled():
             lm = __import__(m.name, locals={'foo': 'bar'})
             self.assertTrue(demandimport.is_proxy(lm))
             self.assertFalse(demandimport.is_loaded(lm))
             self.assertFalse(m.loaded)
             self.assertEqual(lm.name, m.name)
             self.assertTrue(demandimport.is_loaded(lm))
             self.assertTrue(m.loaded)
             self.assertTrue(demandimport.is_proxy(lm))
コード例 #11
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_is_proxy_and_loaded(self):
     with TestModule() as m:
         lm = __import__(m.name)
         self.assertFalse(demandimport.is_proxy(lm))
         self.assertTrue(m.loaded)
         self.assertTrue(demandimport.is_loaded(lm))
     with TestModule() as m:
         with demandimport.enabled():
             lm = __import__(m.name, locals={'foo': 'bar'})
             self.assertTrue(demandimport.is_proxy(lm))
             self.assertFalse(demandimport.is_loaded(lm))
             self.assertFalse(m.loaded)
             self.assertEqual(lm.name, m.name)
             self.assertTrue(demandimport.is_loaded(lm))
             self.assertTrue(m.loaded)
             self.assertTrue(demandimport.is_proxy(lm))
コード例 #12
0
ファイル: test_issues.py プロジェクト: fried/py-demandimport
 def test_issue3_hook(self):
     with TestModule() as m:
         with open(os.path.join(m.path, '__init__.py'), 'a') as f:
             f.write(import_hook)
         os.mkdir(os.path.join(m.path, 'lib'))
         open(os.path.join(m.path, 'lib', '__init__.py'), 'w').close()
         open(os.path.join(m.path, 'lib', 'b.py'), 'w').close()
         with open(os.path.join(m.path, 'lib', 'c.py'), 'w') as f:
             f.write("import {}.b".format(m.name))
         __import__(m.name).__name__
         with demandimport.enabled():
             __import__(m.name+'.c',
                        locals={'foo': 'bar'},
                        level=0).c.__name__
             __import__(m.name+'.lib.c',
                        locals={'foo': 'bar'},
                        level=0).lib.c.__name__
コード例 #13
0
 def test_issue3_hook(self):
     with TestModule() as m:
         with open(os.path.join(m.path, '__init__.py'), 'a') as f:
             f.write(import_hook)
         os.mkdir(os.path.join(m.path, 'lib'))
         open(os.path.join(m.path, 'lib', '__init__.py'), 'w').close()
         open(os.path.join(m.path, 'lib', 'b.py'), 'w').close()
         with open(os.path.join(m.path, 'lib', 'c.py'), 'w') as f:
             f.write("import {}.b".format(m.name))
         __import__(m.name).__name__
         with demandimport.enabled():
             __import__(m.name + '.c', locals={
                 'foo': 'bar'
             }, level=0).c.__name__
             __import__(m.name + '.lib.c', locals={
                 'foo': 'bar'
             }, level=0).lib.c.__name__
コード例 #14
0
import os
import string
import struct
import zlib

import perun.utils.timestamps as timestamps
import perun.utils.log as perun_log
import perun.utils.helpers as helpers

from perun.utils.helpers import IndexEntry, LINE_PARSING_REGEX
from perun.utils.structs import PerformanceChange, DegradationInfo
from perun.utils.exceptions import EntryNotFoundException, NotPerunRepositoryException, \
    MalformedIndexFileException

import demandimport
with demandimport.enabled():
    import hashlib

__author__ = 'Tomas Fiedor'


INDEX_TAG_REGEX = re.compile(r"^(\d+)@i$")
INDEX_TAG_RANGE_REGEX = re.compile(r"^(\d+)@i-(\d+)@i$")
PENDING_TAG_REGEX = re.compile(r"^(\d+)@p$")
PENDING_TAG_RANGE_REGEX = re.compile(r"^(\d+)@p-(\d+)@p$")


def touch_file(touched_filename, times=None):
    """
    Corresponding implementation of touch inside python.
    Courtesy of:
コード例 #15
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_ignoring__import__(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             __import__(m.name)
             self.assertTrue(m.loaded)
コード例 #16
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_ignoring_star(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             __import__(m.name, locals={'foo': 'bar'}, fromlist=('*',))
             self.assertTrue(m.loaded)
コード例 #17
0
ファイル: test_core.py プロジェクト: skrap/py-demandimport
 def test_ignoring_star(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             __import__(m.name, locals={'foo': 'bar'}, fromlist=('*', ))
             self.assertTrue(m.loaded)
コード例 #18
0
ファイル: test_core.py プロジェクト: bwesterb/py-demandimport
 def test_ignoring__import__(self):
     with TestModule() as m:
         self.assertFalse(m.loaded)
         with demandimport.enabled():
             __import__(m.name)
             self.assertTrue(m.loaded)