* rename requirements.txt to requirements-py2.txt, to make it clear they are Python 2-only
* make requirements-py3.txt consistent with requirements-py2.txt
* method to detect spider creation in crawler
* correct method name
* method to know if crawlers has spiders
* we do not need to issue requests
* set exit code accordingly to spiders in crawlers
* more portable way to check ofr exceptions
* more clear way
* test cases for several spiders per crawler
* grammatically correct name for method
* method is private
* grammatically correct name for method
* method is private
* remove unused import
* correct order of imports
* changes mechanism of obtaining spider status from method to object member
* rename tests
* ability to pass port as a parameter
* try to find free ports
* use environment variables to pass mock server address
* get mock server address from environment variables
* ability to select ports for proxy in runtime
* use common method for URLs from mock server
* https support
* get mock server address
* get mock address
* replace hand-written mechanism by kernel-based one
* use ephemeral ports in mockserver
* strip EOL from addresses
* use ephemeral port in proxy
* no need to restore environment as it is restored in tearDown
* decode bytes
* use mockserver address as a variable
* ability to pass address as variable
* per test-case mockserver
* use base class
* remove obsolete environment manipulation
* return usage of proxy for http cases
* common method for broking proxy auth credentials
* python version-independent url methods
* fix one issue of issue#3128
because @kmike posted: 'If url is '', Scrapy should follow the same page, this is an intended behavior.'
* fix one issue of issue#3128
because @kmike posted: 'If url is '', Scrapy should follow the same page, this is an intended behavior.'
These built-in functions are exposed as methods in PyPy3.
For scrapy this does not matter as:
1) they do not work for CPython at all
2) get_func_args is checked for presense of an argument in scrapy,
extra "self" does not matter.
But it still makes sense to leave these tests so that we know we
shouldn't use get_func_args for built-in functions/methods.