From dfa7b23959c844255e7959904a58c78acffc27d0 Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Wed, 26 May 2010 11:58:31 -0300 Subject: [PATCH] Fixed SpiderManager tests that failed with dropin.cache write permissions errors in some cases --HG-- rename : scrapy/tests/test_contrib_spidermanager/spider1.py => scrapy/tests/test_contrib_spidermanager/test_spiders/spider1.py rename : scrapy/tests/test_contrib_spidermanager/spider2.py => scrapy/tests/test_contrib_spidermanager/test_spiders/spider2.py --- .../test_contrib_spidermanager/__init__.py | 25 +++++-- .../test_contrib_spidermanager/dropin.cache | 71 ------------------- .../test_spiders/__init__.py | 0 .../{ => test_spiders}/spider1.py | 0 .../{ => test_spiders}/spider2.py | 0 5 files changed, 19 insertions(+), 77 deletions(-) delete mode 100644 scrapy/tests/test_contrib_spidermanager/dropin.cache create mode 100644 scrapy/tests/test_contrib_spidermanager/test_spiders/__init__.py rename scrapy/tests/test_contrib_spidermanager/{ => test_spiders}/spider1.py (100%) rename scrapy/tests/test_contrib_spidermanager/{ => test_spiders}/spider2.py (100%) diff --git a/scrapy/tests/test_contrib_spidermanager/__init__.py b/scrapy/tests/test_contrib_spidermanager/__init__.py index 5b0d9e954..3f4cff83a 100644 --- a/scrapy/tests/test_contrib_spidermanager/__init__.py +++ b/scrapy/tests/test_contrib_spidermanager/__init__.py @@ -1,20 +1,36 @@ +import sys +import os import weakref -import unittest +import shutil -# just a hack to avoid cyclic imports of scrapy.spider when running this test +from twisted.trial import unittest + +# ugly hack to avoid cyclic imports of scrapy.spider when running this test # alone import scrapy.spider from scrapy.contrib.spidermanager import TwistedPluginSpiderManager from scrapy.http import Request +module_dir = os.path.dirname(os.path.abspath(__file__)) + class TwistedPluginSpiderManagerTest(unittest.TestCase): def setUp(self): + orig_spiders_dir = os.path.join(module_dir, 'test_spiders') + self.tmpdir = self.mktemp() + os.mkdir(self.tmpdir) + self.spiders_dir = os.path.join(self.tmpdir, 'test_spiders_xxx') + shutil.copytree(orig_spiders_dir, self.spiders_dir) + sys.path.append(self.tmpdir) self.spiderman = TwistedPluginSpiderManager() assert not self.spiderman.loaded - self.spiderman.load(['scrapy.tests.test_contrib_spidermanager']) + self.spiderman.load(['test_spiders_xxx']) assert self.spiderman.loaded + def tearDown(self): + del self.spiderman + sys.path.remove(self.tmpdir) + def test_list(self): self.assertEqual(set(self.spiderman.list()), set(['spider1', 'spider2'])) @@ -57,6 +73,3 @@ class TwistedPluginSpiderManagerTest(unittest.TestCase): self.spiderman.close_spider(spider1) spider2 = self.spiderman.create("spider1") assert spider1 is not spider2 - -if __name__ == '__main__': - unittest.main() diff --git a/scrapy/tests/test_contrib_spidermanager/dropin.cache b/scrapy/tests/test_contrib_spidermanager/dropin.cache deleted file mode 100644 index 81239e0b4..000000000 --- a/scrapy/tests/test_contrib_spidermanager/dropin.cache +++ /dev/null @@ -1,71 +0,0 @@ -(dp1 -S'spider2' -p2 -ccopy_reg -_reconstructor -p3 -(ctwisted.plugin -CachedDropin -p4 -c__builtin__ -object -p5 -NtRp6 -(dp7 -S'moduleName' -p8 -S'scrapy.tests.test_contrib_spidermanager.spider2' -p9 -sS'description' -p10 -NsS'plugins' -p11 -(lp12 -g3 -(ctwisted.plugin -CachedPlugin -p13 -g5 -NtRp14 -(dp15 -S'provided' -p16 -(lp17 -cscrapy.spider.models -ISpider -p18 -asS'dropin' -p19 -g6 -sS'name' -p20 -S'SPIDER' -p21 -sg10 -NsbasbsS'spider1' -p22 -g3 -(g4 -g5 -NtRp23 -(dp24 -g8 -S'scrapy.tests.test_contrib_spidermanager.spider1' -p25 -sg10 -Nsg11 -(lp26 -g3 -(g13 -g5 -NtRp27 -(dp28 -g16 -(lp29 -g18 -asg19 -g23 -sg20 -g21 -sg10 -Nsbasbs. \ No newline at end of file diff --git a/scrapy/tests/test_contrib_spidermanager/test_spiders/__init__.py b/scrapy/tests/test_contrib_spidermanager/test_spiders/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/scrapy/tests/test_contrib_spidermanager/spider1.py b/scrapy/tests/test_contrib_spidermanager/test_spiders/spider1.py similarity index 100% rename from scrapy/tests/test_contrib_spidermanager/spider1.py rename to scrapy/tests/test_contrib_spidermanager/test_spiders/spider1.py diff --git a/scrapy/tests/test_contrib_spidermanager/spider2.py b/scrapy/tests/test_contrib_spidermanager/test_spiders/spider2.py similarity index 100% rename from scrapy/tests/test_contrib_spidermanager/spider2.py rename to scrapy/tests/test_contrib_spidermanager/test_spiders/spider2.py