Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; ';-)': 0.03; 'tutorial': 0.03; 'received:209.85.223': 0.03; 'binary': 0.07; 'modified': 0.07; 'received:209.85.223.198': 0.07; 'subject:ANN': 0.07; 'anymore.': 0.09; 'executed': 0.09; 'subject:skip:a 10': 0.09; 'api': 0.11; 'python': 0.11; 'dict': 0.16; 'merged': 0.16; 'processes.': 0.16; 'processors': 0.16; 'received:eu': 0.16; 'status.': 0.16; 'subject:Tools': 0.16; 'apps': 0.16; 'stefan': 0.19; 'input': 0.22; 'tests': 0.22; 'header:User-Agent:1': 0.23; 'bytes': 0.24; 'mind.': 0.24; 'text.': 0.24; 'file.': 0.24; 'gets': 0.27; 'testing': 0.29; 'breaking': 0.31; 'changes:': 0.31; 'parameters.': 0.31; 'run': 0.32; 'received:209.85': 0.35; 'classes': 0.35; 'tool': 0.35; 'test': 0.35; 'received:google.com': 0.35; 'done': 0.36; 'url:org': 0.36; 'application': 0.37; 'received:209': 0.37; 'files': 0.38; 'skip:- 10': 0.38; 'skip:- 60': 0.39; 'easy': 0.60; 'new': 0.61; 'simple': 0.61; 'more': 0.64; 'different': 0.65; 'results': 0.69; 'to:addr :comp-lang-python-announce': 0.70; 'to:addr:moderators.isc.org': 0.77; 'features:': 0.84; 'usage.': 0.84 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=path:newsgroups:date:complaints-to:injection-info:nntp-posting-host :user-agent:mime-version:message-id:subject:from:injection-date:to :content-type; bh=/zj73j7KWQPlrRyREzpgBcRraSc/4NKGg+hm3dnkxVg=; b=UqqAxxE1HzUaCwSMJg9uyYthsbHAdmxaKFF1Sy1UWLOo+Py9rjUiMeZddPVIAt23vE ILFpWKq6OF8qgW4sAIGRjiQxglM+sdMF6TI6qbEbUOVjSn3oc04jqdPbm7eL06opNzrB GM0wA9tHSIR7WJeW2NI1UlW6o47VfM/Cxy2R+1AD7gUk7SMN10fwsW+aH1q0GHg/Go9D mzwgLidFPG86kK3VzBBI7IPpSi64Kq5aLEbtp+q7BdmAdzCxwyfLZxLXnms5cri9HnLf b9akh47uoh8k9FugmL32fkfVE02Q8bILw/1aBcKQgMPv44daqpWXUWpHF0Z5FrFbFmM5 /h1g== X-Received: by 10.50.221.105 with SMTP id qd9mr6076749igc.8.1422800163643; Sun, 01 Feb 2015 06:16:03 -0800 (PST) X-Received: by 10.140.28.162 with SMTP id 31mr175852qgz.16.1422800163474; Sun, 01 Feb 2015 06:16:03 -0800 (PST) Newsgroups: comp.lang.python.announce Date: Sun, 1 Feb 2015 06:16:03 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=78.34.67.213; posting-account=1Zk0CQoAAAAd5ugAtF9RCgfq56yGyEcs User-Agent: G2/1.0 MIME-Version: 1.0 Subject: ANN fuzzing 0.3.0 - Tools for stress testing applications. From: Stefan Braun Injection-Date: Sun, 01 Feb 2015 14:16:03 +0000 To: comp-lang-python-announce@moderators.isc.org Content-Type: text/plain; charset=ISO-8859-1 X-Mailman-Approved-At: Mon, 02 Feb 2015 09:19:14 +0100 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: python-list@python.org List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Message-ID: Lines: 40 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1422865155 news.xs4all.nl 2895 [2001:888:2000:d::a6]:59570 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1559 fuzzing: tools for stress testing arbitrary applications. ------------------------------------------------------------ Stress testing of applications can be done in lots of different ways. This package provides an easy to use tool to stress test applications which take files as parameters. Editors, image viewers, and many more classes of apps come to mind. The stress test is based on a given set of files, binary or text. Those files are taken randomly and some bytes are modified also randomly (fuzzing). Then the application gets executed with the fuzzed file. Repeating this over and over again stresses the robustness for defective input data of the application. Tutorial and API documentation can be found on ReadTheDocs: http://fuzzing.readthedocs.org/. fuzzing works with Python 3 (3.3, 3.4, and PyPy3 tested). What's new? -------------- Now you can run your tests in multiple processes. Test results are combined and printed. New features: * Run multiple tests in parallel on multiple processors. Number of processors and processes is configurable. * Test statistics of the processes are merged and printed. API changes: * FuzzExecutor.stats returns an instance of TestStatCounter, not a simple dict anymore. You may want to look into TestStatCounter and Status. See also run_fuzzer.py for intended usage. ------------------------------------------------------------------- Have fun breaking your apps ;-) Regards, Stefan