Commit Graph

7055 Commits

Author SHA1 Message Date
Gregory Becker
d177184777 added target method to architecture.py and minor cleanup 2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02 Changed architecture class and added class Target 2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf prototype of new architecture concretization saved as new_concretize_architecture in concretize.py 2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target 2015-10-30 09:44:28 -07:00
Massimiliano Culpo
6db2a58008 Fixed typo : write_lock() -> write_transaction() 2015-10-30 07:42:58 +01:00
Todd Gamblin
a1c42c2753 Merge Greg Becker's build database support into develop. 2015-10-29 02:22:20 -07:00
Todd Gamblin
671faa4b99 Merge pull request #124 from scheibelp/features/testinstall-cmd
Features/testinstall cmd
2015-10-29 00:16:52 -07:00
Todd Gamblin
ed0c80e1cb Merge pull request #145 from markcmiller86/v-char-bugfix
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29 00:02:01 -07:00
Todd Gamblin
fec6674597 Merge pull request #139 from mathstuf/use-uname-for-arch
architecture: use uname if available
2015-10-29 00:01:30 -07:00
miller86
21e9d5c5c3 generalize one of the cases to handle many more kinds of formatting options 2015-10-27 17:05:27 -07:00
Todd Gamblin
a58ae0c5d0 Build database working with simple transaction support; all tests passing. 2015-10-27 16:36:44 -07:00
Todd Gamblin
bf8479bec6 Fix stupid lock bug.
- Code simplification ignored case where exception was raised.
- If LockError was raised, read and write counts were incremented erroneously.
- updated lock test.
2015-10-27 16:34:26 -07:00
Peter Scheibel
50d0a2643b Not all package stages have an archive file (e.g. source code repos) but all of
them do have a source_path: use this instead to check whether the package
resources were successfully retrieved.
2015-10-27 13:34:46 -07:00
Todd Gamblin
af7b96c14a Lock acquires return True/False depending on whether they got POSIX lock. 2015-10-27 00:35:06 -07:00
Ben Boeckel
6c9b10f73d architecture: remove custom mac_type method 2015-10-26 18:55:10 -04:00
Ben Boeckel
17a58ee0a9 architecture: use uname if available 2015-10-26 18:54:04 -04:00
Peter Scheibel
3b554c709b Fetch errors were also terminating runs of test-install with system exit, so
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-26 15:26:08 -07:00
Ben Boeckel
9d90cb6962 python: use the setdefault method on dict
It allows more concise code and skips some key lookups.
2015-10-26 17:38:19 -04:00
Peter Scheibel
9576860f8c Making SpackError reference consistent. 2015-10-26 14:27:44 -07:00
Peter Scheibel
6a16040462 Automatically create a 'test-output' directory in the current directory if no
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-26 11:58:52 -07:00
Todd Gamblin
ead8ac58c6 Working Lock class, now uses POSIX fcntl locks, extensive unit test.
- 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-24 19:57:43 -07:00
Todd Gamblin
908a93a470 Add a multiprocess Barrier class to use for testing parallel code. 2015-10-24 19:54:52 -07:00
Peter Scheibel
cc0ee3dc29 The HTML number conversion regex operating against a byte string will only
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-23 20:56:06 -07:00
Peter Scheibel
d76c923623 1. Rename CommandError -> InstallError
2. InstallError now subclasses SpackError vs. StandardError (so it is now
handled by the spack shell script)
2015-10-23 16:18:06 -07:00
Peter Scheibel
ea872f8098 1. Added CommandError exception to build_environment
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-22 17:44:16 -07:00
Peter Scheibel
246423b4b4 Generate test results (designated as skipped) for parents of failed dependencies 2015-10-22 16:00:03 -07:00
Mario Melara
38508c5a3f Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables 2015-10-22 12:02:26 -07:00
Todd Gamblin
b6833f08df Merge pull request #129 from mathstuf/separate-prefix
spack: split spack_root from prefix
2015-10-21 16:04:36 -04:00
Mario Melara
a89abb435f Changed structure of class, add compiler strategy is a method and can create a dict 2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682 Added strategy method in init 2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b initial fetch on crayport 2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f Made sure architecture works with yaml file 2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e Refactored architecture class. Now it will automagically create a dict upon instantiation. 2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53 Got Architecture class working the way i wanted to. Next to write tests 2015-10-20 13:33:21 -07:00
Todd Gamblin
3c788147ca Add Spack logo. 2015-10-18 19:14:40 -07:00
Todd Gamblin
7598612b86 Better info variant output. 2015-10-17 17:34:39 -07:00
Peter Scheibel
39f0f000f8 Created unit test for core logic in test-install command. 2015-10-15 22:02:14 -07:00
Peter Scheibel
6cd976d036 Better description for test-install command 2015-10-15 20:13:08 -07:00
Peter Scheibel
49b91235bb Minor edit for clarity (generate output for single top level spec vs. iterating
through collection of size 1)
2015-10-15 19:59:57 -07:00
Peter Scheibel
82ed1bc343 Originally I enforced specifying 1 top-level package with the test-install
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-15 19:38:47 -07:00
Peter Scheibel
e451421db3 1. Specifying the output file path for test-install is now an option (vs. an
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-15 19:22:36 -07:00
Mario Melara
fec197ccac Fixed the output of sys_type(), might need to add back the error handling part 2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759 Commented out a long list of tests to just include my arch test 2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6 Test suite for architecture class and functions 2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851 Added __eq__ testing method. Created tests for it in test/ folder 2015-10-15 12:46:44 -07:00
Peter Scheibel
4997f0fe57 Move logic for tracking the build log into package.py (since that is what is
managing the build log) and expose as package.build_log_path.
2015-10-15 12:44:02 -07:00
Peter Scheibel
c985ad7644 Update test failure output: don't include the entire build log, just lines which
mention errors (or if no such lines can be found, output the last 10 lines from
the log).
2015-10-15 12:23:56 -07:00
Peter Scheibel
b9bf0b942c Use spec.traverse vs. recursive function.
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-15 11:52:08 -07:00
Peter Scheibel
f2b4341ad6 Always run with verbose output (so eliminate it as an option). Also remove other
commented options.
2015-10-15 10:45:03 -07:00