summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-12-29Fix issues related to the switchover to pytest. (#2685)Todd Gamblin38-10/+7809
- Remove stale reference to `import nose` from `bin/spack` script. - Add `py` to externals (missing dependency for `pytest`)
2016-12-29unit tests: replace nose with pytest (#2502)Massimiliano Culpo156-17619/+19218
* Porting: substitute nose with ytest This huge commit substitutes nose with pytest as a testing system. Things done here: * deleted external/nose as it is no longer used * moved mock resources in their own directory 'test/mock/' * ported two tests (cmd/find, build_system) to pytest native syntax as an example * build_environment, log: used monkeypatch instead of try/catch * moved global mocking of fetch_cache to an auto-used fixture * moved global mocking from test/__init__.py to conftest.py * made `spack test` a wrapper around pytest * run-unit-tests: avoid running python 2.6 tests under coverage to speed them up * use `pytest --cov` instead of coverage run to cut down testing time * mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals * concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls * conftest.py, fixtures: added docstrings * concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest * directory_layout.py: uses fixtures instead of subclassing MockPackagesTest * install.py: uses fixtures instead of subclassing MockPackagesTest * optional_deps.py: uses fixtures instead of subclassing MockPackagesTest optional_deps.py: uses fixtures instead of subclassing MockPackagesTest * packages.py: uses fixtures instead of subclassing MockPackagesTest * provider_index.py: uses fixtures instead of subclassing MockPackagesTest * spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest * multimethod.py: uses fixtures instead of subclassing MockPackagesTest * install.py: now uses mock_archive_url * git_fetch.py: uses fixtures instead of subclassing MockPackagesTest * hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest * svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest repo.py: deleted * test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest * cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase * database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database * pytest: uncluttering fixture implementations * database: changing the scope to 'module' * config.py: uses fixtures instead of subclassing MockPackagesTest * spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest * stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory * pytest: added docstrings to all the fixtures * pytest: final cleanup * build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp * spec_syntax.py: added expected failure on parsing multiple specs closes #1976 * Add pytest and pytest-cov to Spack externals. * Make `spack flake8` ignore externals. * run-unit-tests runs spack test and not pytest. * Remove all the special stuff for `spack test` - Remove `conftest.py` magic and all the special case stuff in `bin/spack` - Spack commands can optionally take unknown arguments, if they want to handle them. - `spack test` is now a command like the others. - `spack test` now just delegates its arguments to `pytest`, but it does it by receiving unknown arguments and NOT taking an explicit help argument. * Fix error in fixtures. * Improve `spack test` command a bit. - Now supports an approximation of the old simple interface - Also supports full pytest options if you want them. * Use external coverage instead of pytest-cov * Make coverage use parallel-mode. * change __init__.py docs to include pytest
2016-12-28Allow exclusion of packages from `spack module loads` (#2667)Elizabeth Fischer1-1/+7
* Allow exclusion of packages from `spack module loads` * Comment out excluded packages instead of not showing them at all.
2016-12-28Directive inheritance: laziness for the win (#2623)Massimiliano Culpo11-202/+281
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives * _dep_types -> dependency_types * using a meta-class to inject directives into packages * directives are lazy fixes #2466 * directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin * directives.py: added a test for simple inheritance of directives * Minor improvement requested by @tgamblin CMakePackage: importing names from spack.directives directives: wrap __new__ to respect pep8 * Refactoring requested by @tgamblin directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
2016-12-28init yorick package (#2635)Thierry1-0/+81
* init yorick package * attempt at picking up SPACK's compiler choice, todo ~X variant. * sphinx docstring error ? * version# tarball, ~X default, docstring fix * sphinx docstring fix(?)
2016-12-27Cleanup post luafilesystem version de-underscoring (#2683)George Hartzell1-3/+3
The upstream luafilesystem tarball/version had a wayward/inconsistent underscore in their more recent version tag. The played badly with our package fetching machinery (due to recent changes?). Upstream cleaned up their bit which required some touchups here. - updated the url - updated the version (digest) - updated the format statement for the path to the rockspec.
2016-12-27Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark (#2627)Mayeul d'Avezac7-0/+264
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark Tinyxml comes in two flavors, 1 and 2. Each comes in several versions... So they cannot be easily united into a single package. * Use CMakePackage and friends, add copyright Also eleminate debug/release variants, since it no longuer fits in the CMakePackage format. * Remove unnecessary url * spdlog now has tagged releases * Remove unnecessary url argument * Fewer quotes in cmake args, because magic * Incorrect base class for tinyxml
2016-12-27Update wx to 3.1.0 (#2641)Michael Kuhn1-5/+12
2016-12-27Ensure that every file in Spack has a license (#2659)Adam J. Stewart61-168/+1230
* Ensure that every package has a license Also fixes URLs with http://http:// doubled. This is a continuation of #2656. * Add license to every file in Spack * Make sure Todd is the author of all packages * Fix flake8 tests * Don't license external Sphinx docs * Don't display licenses in tutorial example packages Also fixes typos and converts command-line examples from tcsh to bash, which is more common
2016-12-25Update py-cython with new pypi.io url and new version (#2650)Matthew Scott Krafczyk1-1/+3
2016-12-25Better tabulation for spack checksum (#2673)Adam J. Stewart1-1/+5
2016-12-25filter_system_path: additionally filter system prefixes (#2672)Denis Davydov2-2/+6
That's because in set_build_environment_variables() the funciton filter_system_paths() is actually applied to package prefixes, and not to prefix/lib or prefix/include.
2016-12-25Add 64 bit variant to dealii. (#2654)Bruno Turcksin1-8/+15
2016-12-25Add latest version of Python 2 (#2668)Adam J. Stewart1-1/+4
2016-12-25Update gcc to 6.3.0 (#2669)Michael Kuhn1-0/+1
2016-12-25Add argument to `spack spec` to show deptypes. (#2680)Todd Gamblin2-1/+20
- `-t` | `--types` argument now shows deptypes in `spack spec`
2016-12-25Update the texlive distro digest. (#2679)George Hartzell1-1/+1
sigh.
2016-12-25Remove usernames from paths in docs (#2675)Adam J. Stewart9-303/+303
* Remove usernames from paths in docs * Fix path export
2016-12-25go: fixed GOROOT_BOOTSTRAP without workarounds (#2671)Massimiliano Culpo2-9/+5
2016-12-25Modify github archive regex to support luaposix (#2677)Adam J. Stewart2-1/+6
2016-12-21Update cairo to 1.14.8, gtkplus to 2.24.31 and pango to 1.40.3 (#2642)Michael Kuhn3-8/+10
2016-12-21Bug fontconfig (#2652)Kim Serradell2-1/+4
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface * Fixed install error in cmor package * Added uuid: OSSP uuid is a ISO-C:1999 application programming interface * Fixed install error in cmor package * Modifiying fontconfig file to allow install in OpenSuse 13.2 * Adding pkg-config dependency to freetype and libxml2 * Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
2016-12-21Fix homepage for the package libspatialindex (#2656)Federico Padua1-1/+1
Small fix for the homepage of the package libspatialindex.
2016-12-20Revert #2292: use frontend compiler for build deps (#2549)scheibelp4-90/+24
The primary goal of #2292 was to use the frontend compiler to make build dependencies like cmake on HPC platforms. It turns out that while this works in some cases, it did not handle cases where a package was a link dependency of the root and of a build dependency (and could produce incorrect concretizations which would not build).
2016-12-19Update gdal to 2.1.2 (#2643)Michael Kuhn1-2/+3
2016-12-19Various improvements to H5hut (#2636)Adam J. Stewart1-33/+38
2016-12-19Support Yorick versions (#2640)Todd Gamblin2-0/+9
2016-12-19moab: changed trilinos dependency to zoltan, and added fortran variant (#2582)Andrey Prokopenko1-2/+6
Trilinos dependency is very heavy, the zoltan one is light. I'm not sure if there is a situation where one needs the former.
2016-12-19Update PnetCDF to AutotoolsPackage (#2637)Adam J. Stewart1-10/+10
2016-12-19Update digest for vim@8.0 tarball. (#2600)George Hartzell1-16/+5
* Update digest for vim@8.0 tarball. The digest appears to have changed. The new digest value matches the value in their [MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS) file. * Change ftp.vim.org -> github.com/vim/vim/archive Vim seems to do weekly releases, but the name of the tarball on ftp.vim.org doesn't change so we have to regularly play 'update the digest' (aka Internet whack-a-mole). This commit changes the url so that we are now downloading particular versions from the Vim project's github archive. I didn't walk back through of time to get all of the versions that used to be explicit. I grabbed the final `7.4` and the current `8.0` releases. If people need more we can add them.
2016-12-19Modify github regex to support NCO. (#2633)Todd Gamblin2-1/+10
2016-12-19GSL: Add latest version, update to AutotoolsPackage (#2630)Adam J. Stewart1-16/+10
2016-12-19Fixes for various hash issues (#2626)Todd Gamblin10-59/+84
* Better output for disambiguate_specs() * Fix wrong exception name. * Fix satsifies(): concrete specs require matching by hash. - Fixes uninstall by hash and other places where we need to match a specific spec. - Fix an error in provider_index (satisfies() call was backwards) - Fix an error in satisfies_dependencies(): checks were too shallow. * Fix default args in Spec.tree() * Move installed_dependents() to DB to avoid unknown package error. * Make `spack find` and `sapck.store.db.query()` faster for hashes. * Add a test to ensure satisfies() respects concrete Specs' hashes.
2016-12-19NCO: Add latest version, update to AutotoolsPackage (#2629)Adam J. Stewart1-9/+11
2016-12-18Add gawk (GNU awk) (#2625)Todd Gamblin1-0/+45
* Add gawk, GNU awk. * flake8 fix.
2016-12-18Feature/add package for fastqc (#1573)George Hartzell2-0/+90
* Add package for fastqc This tool is a java mess. Their Way To Do It is to just copy the entire tree into it's final resting place, make the perl script at the top level executable and take it from there. Yuck. This package assumes that `set_executable` actually sets all the user bits. If that change doesn't go in, then something equivalent needs to be done. * Use chmod to make fastqc executable I haven't gotten any feedback on changing set-executable, so switch to using chmod (from the cuda package). * Flake8 cleanup * Install files neatly, don't just copy top level of dir Rather than blindly copying everything in the distribution, carefully put the necessary bits into reasonable places. Neatness counts, etc... This requires patching the `fastqc` perl script, so this commit adds a patch file. * Additional pep8 cleanup * Let dependency handle adding jdk to PATH * Flake8 cleanup * Ensure that java is on PATH I thought that the run dependency on the jdk would put java on my PATH, but it does not appear to work. For now, do it by hand.
2016-12-18Added customization for make targets in 'build' and 'install' phases for ↵Alfredo Adolfo Gimenez2-4/+16
AutotoolsPackage (#2464) * Customization for make targets in build and test phases for AutotoolsPackage * Updated Blitz++ to use customized make build and test targets * Removed flake8 error * Removed make test customization, added make install customization, need to figure out issues with multiple make targets * Changed build_targets and install_targets to normal attributes
2016-12-18py-markdown: Add new package for python-markdown. (#2611)Chris MacMackin1-0/+61
* py-markdown: Add new package for python-markdown. * py-markdown: Added restrictions on Python version. * py-markdown: Removed upper-limit on compatible Python versions. * py-markdown: Reinstated upper bound on Python version. Also fixed small formatting error.
2016-12-18gmsh: add 2.15.0 and switch to CMakePackage (#2620)Denis Davydov1-10/+7
2016-12-18tbb: add 2017.3 (#2619)Denis Davydov1-0/+3
2016-12-18cmake: add 3.7.1 (#2618)Denis Davydov1-0/+1
2016-12-17build fixes for openblas (#2601)Gregory Lee1-0/+5
* build fixes for openblas * avx2 in openblas nnot supported with older gcc * merge fix for openblas
2016-12-17dealii: fix config for Netcdf with lib64 (#2616)Denis Davydov1-2/+13
2016-12-16graphviz: fixed build error due to specifying ltdl lib but not include. (#2609)Chris MacMackin1-2/+2
* graphviz: fixed build error due to specifying ltdl lib but not include. * graphviz: Fixed dependencies on libtool and expat.
2016-12-16libmesh: added mpi variant (#2584)Andrey Prokopenko1-1/+15
2016-12-16init nfft 3.3.2 package file (#2612)Thierry1-0/+60
* init nfft 3.3.2 package file * shorten comment line
2016-12-16py-beautifulsoup4: Added version 4.5.1 (#2610)Chris MacMackin1-0/+3
2016-12-16Updating Trilinos with superlu variant and fixing git branch version ↵Jon Rood1-1/+25
options. (#2604)
2016-12-16[HACK] Make concretization great again! (#2590)Adam J. Stewart16-16/+16
* Always default to +mpi * Always default to ~X
2016-12-15openblas: derives from MakefilePackage (#2488)Massimiliano Culpo3-57/+71
* MakefilePackage: changed build_args and install_args for consistency with #2464 openblas: derives from MakefilePackage * MakefilePackage: changed default edit behavior