diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2018-01-28 21:07:59 +0100 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2018-01-28 12:07:59 -0800 |
commit | 5af9256d4f3d9ad5189ddd7dbe1523fe43138e22 (patch) | |
tree | 7a6283d05981b5974440b3893fba74e41fc9ea35 /var | |
parent | 784234ae8e246680ba77c946c1c348460cd2f145 (diff) | |
download | spack-5af9256d4f3d9ad5189ddd7dbe1523fe43138e22.tar.gz spack-5af9256d4f3d9ad5189ddd7dbe1523fe43138e22.tar.bz2 spack-5af9256d4f3d9ad5189ddd7dbe1523fe43138e22.tar.xz spack-5af9256d4f3d9ad5189ddd7dbe1523fe43138e22.zip |
Cleaned up JUnit report generation on install (#6977)
* Cleaned up JUnit report generation on install
The generation of a JUnit report was previously part of the install
command. This commit factors the logic into its own module, and uses
a template for the generation of the report.
It also improves report generation, that now can deal with multiple
specs installed at once. Finally, extending the list of supported
formats is much easier than before, as it entails just writing a
new template.
* Polished report generation + added tests for failures and errors
The generation of a JUnit report has been polished, so that the
stacktrace is correctly displayed with Jenkins JUnit plugin. Standard
error is still not used.
Added unit tests to cover for installation failures and installation
errors.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin.mock/packages/raiser/package.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/var/spack/repos/builtin.mock/packages/raiser/package.py b/var/spack/repos/builtin.mock/packages/raiser/package.py new file mode 100644 index 0000000000..bd8982e68d --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/raiser/package.py @@ -0,0 +1,62 @@ +############################################################################## +# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/spack/spack +# Please also see the NOTICE and LICENSE files for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from six.moves import builtins + +from spack import * + + +class Raiser(Package): + """A package that can raise a built-in exception + of any kind with any message + """ + + homepage = "http://www.example.com" + url = "http://www.example.com/a-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + version('2.0', '2.0_a_hash') + + variant( + 'exc_type', + values=lambda x: isinstance(x, str), + default='RuntimeError', + description='type of the exception to be raised', + multi=False + ) + + variant( + 'msg', + values=lambda x: isinstance(x, str), + default='Unknown Exception', + description='message that will be tied to the exception', + multi=False + ) + + def install(self, spec, prefix): + print('Raiser will raise ') + exc_typename = self.spec.variants['exc_type'].value + exc_type = getattr(builtins, exc_typename) + msg = self.spec.variants['msg'].value + raise exc_type(msg) |