summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-08-23 23:20:40 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2017-08-23 14:20:40 -0700
commit5d7901b31252e5828eaa99babb827b5dba4eea8e (patch)
tree0d392c8b2002f2adf22771908598d95e6af587ac /etc
parentfa1d0a8a4d41616e4689ca0c80318269f55c5c9e (diff)
downloadspack-5d7901b31252e5828eaa99babb827b5dba4eea8e.tar.gz
spack-5d7901b31252e5828eaa99babb827b5dba4eea8e.tar.bz2
spack-5d7901b31252e5828eaa99babb827b5dba4eea8e.tar.xz
spack-5d7901b31252e5828eaa99babb827b5dba4eea8e.zip
Improve Spec literals, add Spec.from_dict() (#5151)
* Simplified Spec.__init__ signature by removing the *dep_like argument. The `*dep_like` argument of `Spec.__init__` is used only for tests. This PR removes it from the call signature and introduces an equivalent fixture to be used in tests. * Refactored ``spec_from_dict`` to be a static method of ``Spec`` The fixture ``spec_from_dict`` has been refactored to be a static method of ``Spec``. Test code has been updated accordingly. Added tests for exceptional paths. * Renamed argument `unique` to `normal` + added LazySpecCache class As requested in the review the argument `unique` of `Spec.from_literal` has been renamed to `normal`. To avoid eager evaluations of `Spec(spec_like)` expressions a subclass of `collections.defaultdict` has been introduced. * Spec object can be keys of the dictionary for a spec literal. Added back the possibility use a spec directly as a key. This permits to build DAGs that are partially normalized.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions