diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2013-12-17 14:32:56 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2013-12-17 14:32:56 +1300 |
commit | 467ef0c02a6351539abdc81e4c9f15b7c583d5dc (patch) | |
tree | 2827ccf692515fee5139f558e83b0ac2eb197960 | |
parent | 8229c3884f88b140240694f9d714c179d5561b17 (diff) | |
parent | e0d376381efa3394e23ed60283dc45b7893e8e1e (diff) | |
download | mitmproxy-467ef0c02a6351539abdc81e4c9f15b7c583d5dc.tar.gz mitmproxy-467ef0c02a6351539abdc81e4c9f15b7c583d5dc.tar.bz2 mitmproxy-467ef0c02a6351539abdc81e4c9f15b7c583d5dc.zip |
Merge branch 'master' of ssh.github.com:mitmproxy/pathod
-rw-r--r-- | .travis.yml | 14 | ||||
-rw-r--r-- | README.mkd | 2 | ||||
-rw-r--r-- | libpathod/language.py | 2 | ||||
-rw-r--r-- | requirements.txt | 10 | ||||
-rw-r--r-- | test/test_language.py | 11 |
5 files changed, 34 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..920563f5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: python +python: + - "2.7" +# command to install dependencies, e.g. pip install -r requirements.txt --use-mirrors +install: + - "pip install coveralls --use-mirrors" + - "pip install nose-cov --use-mirrors" + - "pip install -r requirements.txt --use-mirrors" + - "pip install --upgrade git+https://github.com/mitmproxy/netlib.git" +# command to run tests, e.g. python setup.py test +script: + - "nosetests --with-cov --cov-report term-missing" +after_success: + - coveralls
\ No newline at end of file @@ -1,3 +1,5 @@ +[](https://travis-ci.org/mitmproxy/pathod) [](https://coveralls.io/r/mitmproxy/pathod) + __pathod__ is a collection of pathological tools for testing and torturing HTTP clients and servers. The project has three components: diff --git a/libpathod/language.py b/libpathod/language.py index 5cce6fde..4c1a4977 100644 --- a/libpathod/language.py +++ b/libpathod/language.py @@ -182,7 +182,7 @@ class FileGenerator: def __init__(self, path): self.path = path self.fp = file(path, "rb") - self.map = mmap.mmap(self.fp.fileno(), 0, prot=mmap.PROT_READ) + self.map = mmap.mmap(self.fp.fileno(), 0, access=mmap.ACCESS_READ) def __len__(self): return len(self.map) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..73ed126b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,10 @@ +Flask>=0.10.1 +Jinja2>=2.7.1 +MarkupSafe>=0.18 +Werkzeug>=0.9.4 +itsdangerous>=0.23 +nose>=1.3.0 +pyOpenSSL>=0.13.1 +pyasn1>=0.1.7 +requests>=2.1.0 +netlib>=0.9.2
\ No newline at end of file diff --git a/test/test_language.py b/test/test_language.py index 18865761..5e9176ab 100644 --- a/test/test_language.py +++ b/test/test_language.py @@ -95,9 +95,8 @@ class TestValueFile: v = language.Value.parseString("<path")[0] with tutils.tmpdir() as t: p = os.path.join(t, "path") - f = open(p, "wb") - f.write("x"*10000) - f.close() + with open(p, "wb") as f: + f.write("x" * 10000) assert v.get_generator(dict(staticdir=t)) @@ -152,6 +151,7 @@ class TestMisc: assert g[-1] == "x" assert g[0:5] == "xxxxx" assert repr(g) + del g # remove all references to FileGenerator instance to close the file handle. def test_value(self): assert language.Value.parseString("'val'")[0].val == "val" @@ -697,7 +697,10 @@ class TestResponse: assert r.actions[0].spec() == "pr,10" def test_parse_stress(self): - r = language.parse_response({}, "400:b@100g") + # While larger values are known to work on linux, + # len() technically returns an int and a python 2.7 int on windows has 32bit precision. + # Therefore, we should keep the body length < 2147483647 bytes in our tests. + r = language.parse_response({}, "400:b@1g") assert r.length({}) def test_spec(self): |