summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2015-10-26Making SpackError reference consistent.Peter Scheibel1-2/+1
2015-10-26Automatically create a 'test-output' directory in the current directory if noPeter Scheibel1-1/+4
output path is specified. Test output files are placed in this directory. Furthermore the filenames now have the prefix "test" (but otherwise are the string representation of the spec ID as before).
2015-10-23The HTML number conversion regex operating against a byte string will onlyPeter Scheibel1-1/+2
convert individual bytes, so therefore incorrectly converts utf-8 encoded characters. Decoding byte strings to unicode objects results in correct HTML number encodings.
2015-10-231. Rename CommandError -> InstallErrorPeter Scheibel2-5/+7
2. InstallError now subclasses SpackError vs. StandardError (so it is now handled by the spack shell script)
2015-10-221. Added CommandError exception to build_environmentPeter Scheibel2-15/+28
2. The parent of a failed child process in build_environment.fork no longer calls sys.exit - instead it raises a CommandError (from [1]) 3. test-install command now attempts to install all packages even if one fails
2015-10-22Generate test results (designated as skipped) for parents of failed dependenciesPeter Scheibel2-24/+45
2015-10-15Created unit test for core logic in test-install command.Peter Scheibel3-12/+145
2015-10-15Better description for test-install commandPeter Scheibel1-1/+1
2015-10-15Minor edit for clarity (generate output for single top level spec vs. iteratingPeter Scheibel1-2/+1
through collection of size 1)
2015-10-15Originally I enforced specifying 1 top-level package with the test-installPeter Scheibel1-5/+4
command by having it consume exactly 1 positional argument (i.e. by removing "nargs=argparse.REMAINDER") but this does not work when configuring dependencies of a top-level package (which show up as additional positional args). Instead now there is an explicit check to ensure there is only 1 top-level package.
2015-10-151. Specifying the output file path for test-install is now an option (vs. anPeter Scheibel2-12/+22
argument). The default path is [package id].xml in the CWD where test-install is called from. 2. Fixed a bug with package.build_log_path (which was added in this branch). 3. keep_stage for package.do_install is now set. This allows uninstalling and reinstalling packages without (re) downloading them.
2015-10-15Move logic for tracking the build log into package.py (since that is what isPeter Scheibel2-9/+10
managing the build log) and expose as package.build_log_path.
2015-10-15Update test failure output: don't include the entire build log, just lines whichPeter Scheibel1-5/+10
mention errors (or if no such lines can be found, output the last 10 lines from the log).
2015-10-15Use spec.traverse vs. recursive function.Peter Scheibel1-20/+16
Also even though I calculated which installs are new (e.g. vs. packages that have already been installed by a previous command) I forgot to make use of that in create_test_output (so I was always generating test output even if a package had been installed before running the test-install command). Note to avoid confusion: the 'handled' variable (removed in this commit) did not serve the same purpose as 'newInstalls': it was originally required because the recursive approach would visit the same dependency twice if more than one package depended on it.
2015-10-15Always run with verbose output (so eliminate it as an option). Also remove otherPeter Scheibel1-22/+1
commented options.
2015-10-15Changing name of file requires changing function name to be invoked as a commandPeter Scheibel1-1/+1
2015-10-15Change name of file to conform to conventions.Peter Scheibel1-0/+0
2015-10-15Edit function names to conform to naming conventions.Peter Scheibel1-7/+7
2015-10-15Only install 1 top-level package with testinstall. Otherwise if multiplePeter Scheibel1-10/+6
packages are specified and a prior one fails, it will prevent any of the others from succeeding (and generating test output) even if they don't share dependencies.
2015-10-13Make sure to generate output for dependencies as if they were separate tests:Peter Scheibel1-20/+51
the original intent was to generate output as if each package was a unit test, but I noticed that I was only generating test output for top-level packages.
2015-10-13Add spec YAML format to test output.Peter Scheibel1-8/+11
2015-10-12Don't create test output for any package that was already installed.Peter Scheibel1-11/+11
2015-10-121. Added Junit XML formatPeter Scheibel1-16/+34
2. Specify output to a file vs. a directory 3. Use [1] and [2] to write an XML file tracking success of package installs in Junit XML format
2015-10-12Adding command testinstall. See "spack testinstall -h" for documentation.Peter Scheibel1-0/+129
Still need to add output formatting (in a commonly parse-able format like Junit or TAP). May want to adjust how the build log is accessed in case of a build failure.
2015-09-27Remove enabled variants from install prefix.Todd Gamblin1-6/+1
- these make the prefix too long in many cases. - users can figure out which install is which by querying.
2015-09-27Remove special characters (@, %, +, ~, etc) from stage nameTodd Gamblin1-2/+9
2015-08-27Fix for GitHub #95Todd Gamblin1-3/+21
develop: compiler clang@unknown created for /usr/bin/clang-format https://github.com/scalability-llnl/spack/issues/95
2015-08-12Merge pull request #88 from trws/git_depth_attemptTodd Gamblin1-3/+12
adding a fallback on failure with git --depth
2015-08-04Use absolute paths to spack compiler wrappers in CC/CXX/F77/FCTodd Gamblin1-4/+4
2015-07-27adding a fallback on failure with git --depthTom Scogland1-3/+12
Certain remote protocols don't support the `--depth` option. Since this can't be checked by URL type or in any sane way locally, this version attempts to clone git repositories with the --depth option, and if that fails attempts the clone again without it.
2015-07-24Add Python version test to detect {} in version strings.Todd Gamblin2-8/+21
- {} is not compatible with Python 2.6
2015-07-23Fix Python 2.6 compatibility issue.Todd Gamblin2-9/+20
2015-07-16Fix ProviderIndex.update(), which didn't remove stale providers.Todd Gamblin1-1/+10
2015-07-16Update concretize to check for more changes and iterate further.Todd Gamblin3-29/+65
2015-07-14Fix mangled error message.Todd Gamblin1-2/+2
2015-07-14Fix regression of install -j.Todd Gamblin1-0/+4
2015-07-13Add test to check packages for Python2.6 compatibility, as well as core.Todd Gamblin1-2/+15
2015-07-02add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATHFlorent Pruvost1-1/+5
2015-07-02Merge branch 'features/toggle-build-output' into developTodd Gamblin1-15/+78
2015-07-02Better python template for 'spack create'Todd Gamblin3-19/+128
2015-06-20Fix bug in uninstall (regression in 0fc3b58)Todd Gamblin2-15/+35
2015-06-20log_output now allows echo to be toggled wtih 'v' keyTodd Gamblin1-15/+78
2015-06-13Fix for `git pull --tags` when using git 1.7.1Todd Gamblin2-2/+11
- Added `ignore_errors` option to `Executable.__call__` - Can avoid raising errors on *specific* error return values.
2015-06-13Fix for repos with many tagsTom Scogland1-1/+8
Ensures all tags are ready before checkout, using `--branch` if possible and an extra pull if that is not available. Also adds `--depth 1` to create shallow clones if the git version is sufficient. Fixes #64.
2015-06-13removing vestigial lines from a previous commitTom Scogland1-4/+0
2015-06-11Small ruby enhancement and tmuxinator packageTom Scogland1-0/+7
It is currently less painful to pull the source from github, compile it into a gem, then install the gem, than it is to download a gem and install it. This still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-07Try a little harder in concretize_version() -- concretize unsafe versions too.Todd Gamblin1-4/+20
- This can result in the user being prompted to download an unsafe version. - Avoids overly strict errors when something *could* be satisfiable but we don't know about hte version.
2015-06-07Add some comments b/c I didn't understand my own test.Todd Gamblin1-0/+3
2015-06-07SPACK-38: Allow specs to be indexed by virtual dependencies.Todd Gamblin4-17/+121
- The following now work differently: spec['mpi'] spec['blas'] This can return a spec for openmpi, mpich, mvapich, etc., EVEN if the spec is already concretized. This means that in a package that `depends_on('mpi')`, you can do `spec['mpi']` to see what it was concretized to. This should simplify MPI and BLAS packages. 'mpi' in spec 'blas' in spec Previously, if the spec had been concretized, these would be `False` because there was not a dependency in the DAG with either of these names. These will now be `True` even if the spec has been concretized. So, e.g., this will print "YES" s = Spec('callpath ^mpich') if 'mpi' in spec: print "YES" - Similarly, this will be True: Spec('mpich').satisfies('mpi') - Because of the way virtual dependencies are currently implemented, the above required some fiddling around with `package.py` so that it would never call `Spec.__contains__` (and result in endless recursion). - This should be fixed by allowing virutal dependnecies to have their own package class. - This would allow a quicker check for vdeps, without a call to `all_packages`. - For the time being, `package.py` shouldn't call `__contains__`
2015-06-06Executables now have a useful __str__ function.Todd Gamblin1-0/+5