summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2015-11-27Fixed bug #42: problem with satisfies() for virtual dependencies.Todd Gamblin3-5/+24
- _cross_provider_maps() had suffered some bit rot (map returned was ill-formed but still worked for cases with one vdep) - ProviderIndex.satisfies() was only checking whether the result map was non-empty. It should check whether all common vdeps are *in* the result map, as that indicates there is *some* way to satisfy *all* of them. We were checking whether there was some way to satisfy *any one* of them, which is wrong. - Above would cause a problem when there is more than one vdep provider. - Added test that covers this case. - Added `constrained()` method to Spec. Analogous to `normalized()`: `constrain():constrained() :: normalize():normalized()`
2015-11-23Merge branch 'scheibelp-features/externaldeps' into developTodd Gamblin42-44/+44
2015-11-23Merge pull request #160 from SteVwonder/stevwonder/developTodd Gamblin1-2/+2
Fixed -l flag for 'spack extensions'
2015-11-20modified warning to reference spack cleanTom Scogland1-1/+1
clean --dist has been removed, command fixed to something that works.
2015-11-12Fixed -l flag for 'spack extensions'Stephen Herbein1-2/+2
2015-11-11Insert lib/spack/external into sys.path. This avoids cases where the systemPeter Scheibel42-44/+44
python install and lib/spack/external have the same library installed. This requires modifying the names of some modules in lib/spack/external in cases where both the system python and backported features of future python versions (i.e. after 2.6) are used (previously distinguished by "from external import X" and "import X").
2015-11-04Fix SPACK-93, SPACK-94, GitHub #150Todd Gamblin4-21/+18
- `remove_prefix` was modified to remove from the DB, but the package may not have been added to the DB yet when `remove_prefix` is called from `cleanup`. - Made `remove_prefix` a pure utility function (it just removes the prefix) - Added `installed_db.remove()` call only after the `remove_prefix` in `uninstall`.
2015-11-04Make architecture reflect OS *and* machine. Use Python's platform module.Todd Gamblin1-11/+8
2015-10-30Fixed typo : write_lock() -> write_transaction()Massimiliano Culpo3-3/+3
2015-10-29Merge Greg Becker's build database support into develop.Todd Gamblin22-139/+1641
2015-10-29Merge pull request #124 from scheibelp/features/testinstall-cmdTodd Gamblin6-3/+350
Features/testinstall cmd
2015-10-29Merge pull request #145 from markcmiller86/v-char-bugfixTodd Gamblin1-2/+2
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29Merge pull request #139 from mathstuf/use-uname-for-archTodd Gamblin1-10/+10
architecture: use uname if available
2015-10-27generalize one of the cases to handle many more kinds of formatting optionsmiller861-2/+2
2015-10-27Build database working with simple transaction support; all tests passing.Todd Gamblin12-230/+645
2015-10-27Fix stupid lock bug.Todd Gamblin3-41/+53
- Code simplification ignored case where exception was raised. - If LockError was raised, read and write counts were incremented erroneously. - updated lock test.
2015-10-27Not all package stages have an archive file (e.g. source code repos) but all ofPeter Scheibel1-1/+1
them do have a source_path: use this instead to check whether the package resources were successfully retrieved.
2015-10-27Lock acquires return True/False depending on whether they got POSIX lock.Todd Gamblin1-4/+15
2015-10-26architecture: remove custom mac_type methodBen Boeckel1-13/+0
2015-10-26architecture: use uname if availableBen Boeckel1-1/+14
2015-10-26Fetch errors were also terminating runs of test-install with system exit, soPeter Scheibel3-1/+10
stage.fetch() was updated to raise a FetchError instead of calling tty.die(). Output is the same for spack install in case of a fetch error.
2015-10-26python: use the setdefault method on dictBen Boeckel3-16/+7
It allows more concise code and skips some key lookups.
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-24Working Lock class, now uses POSIX fcntl locks, extensive unit test.Todd Gamblin3-84/+350
- llnl.util.lock now uses fcntl.lockf instead of flock - purported to have more NFS compatibility. - Added an extensive test case for locks. - tests acquiring, releasing, upgrading, timeouts, shared, & exclusive cases.
2015-10-24Add a multiprocess Barrier class to use for testing parallel code.Todd Gamblin1-1/+49
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-21Merge pull request #129 from mathstuf/separate-prefixTodd Gamblin1-6/+8
spack: split spack_root from prefix
2015-10-18Add Spack logo.Todd Gamblin1-3/+3
2015-10-17Better info variant output.Todd Gamblin1-3/+13
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-15spack: split spack_root from prefixBen Boeckel1-6/+8
A foundation for allowing runtime configuring of the prefix.
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-13Add forgotten file from previous commit.Todd Gamblin1-0/+5