def test_get_pip_requirements(self): pips = get_pip_requirements() # All pip requirements are specific for pip_req in pips: self.assertIn('==', pip_req) # And at least these are there for expected in ('clamd', 'esmre', 'chardet', 'futures', 'phply'): for pip_req in pips: if pip_req.startswith(expected): break else: self.assertTrue(False, '%s not found' % expected)
# include the data files, which don't live inside the directory data_files=[('profiles', [PROFILES_DIR + '/' + f for f in os.listdir(PROFILES_DIR)])], # This allows w3af plugins to read the data_files which we deploy with # data_files. zip_safe=False, # Run the module tests using nose test_suite='nose.collector', # Require at least the easiest PIP requirements from w3af setup_requires=[ 'setuptools==%s' % SETUPTOOLS_VERSION, "setuptools_git==1.0" ], install_requires=get_pip_requirements(), dependency_links=get_pip_git_requirements(), # Install these scripts scripts=['w3af-repo/w3af_console', 'w3af-repo/w3af_gui'], # https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', 'Natural Language :: English', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Topic :: Security' ], )
# include the data files, which don't live inside the directory data_files=[('profiles', [PROFILES_DIR + '/' + f for f in os.listdir(PROFILES_DIR)])], # This allows w3af plugins to read the data_files which we deploy with # data_files. zip_safe=False, # Run the module tests using nose test_suite='nose.collector', # Require at least the easiest PIP requirements from w3af setup_requires=['setuptools==%s' % SETUPTOOLS_VERSION, "setuptools_git==1.0"], install_requires=get_pip_requirements(), dependency_links=get_pip_git_requirements(), # Install these scripts scripts=['w3af-repo/w3af_console', 'w3af-repo/w3af_gui', 'w3af-repo/w3af_api'], # https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', 'Natural Language :: English', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python',
def setup(): try: temp_dir = getcwd() if not isfile('{}/waspc.lock'.format(temp_dir)): # need to install custom library (SSLyze) for wg_ssl audit plugin support pip_main(['install', 'https://github.com/ZenSecurity/sslyze/archive/master.tar.gz#egg=SSLyze', '--verbose']) file('{}/waspc.lock'.format(temp_dir), 'w').close() profiles_dir = 'w3af-repo/profiles' distutils_setup( name='w3af', version=get_version(), license='GNU General Public License v2 (GPLv2)', platforms='Linux', description='w3af is an open source web application security scanner.', long_description=file('README.rst').read(), author='em', author_email='*****@*****.**', url='https://github.com/ZenSecurity/w3af-module', packages=find_packages(exclude=('tests.*', 'tests', 'mot_utils*',)), # include everything in source control which lives inside one of the packages identified by find_packages include_package_data=True, # include the data files, which don't live inside the directory data_files=[('profiles', [normpath(join(profiles_dir, profile_file)) for profile_file in listdir(profiles_dir)])], # This allows w3af plugins to read the data files which we deploy with data_files. zip_safe=False, # Run the module tests using nose test_suite='nose.collector', # Require at least the easiest PIP requirements from w3af install_requires=get_pip_requirements(), dependency_links=get_pip_git_requirements(), # Install these scripts scripts=['w3af-repo/w3af_console', 'w3af-repo/w3af_gui', 'w3af-repo/w3af_api'], # https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', 'Natural Language :: English', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', 'Topic :: Security' ], ) except Exception as exception: print('{} - {}'.format(exception.__class__.__name__, exception))