
* The module-level skip for tests in `cmd.install` on Windows is removed. A few classes of errors still persist: * Cdash tests are not working on Windows * Tests for failed installs are also not working (this will require investigating bugs in output redirection) * Environments are not yet supported on Windows overall though, this enables testing of most basic uses of "spack install" * Git repositories cached for version lookups were using a layout that mimicked the URL as much as possible. This was useful for listing the cache directory and understanding what was present at a glance, but the paths were overly long on Windows. On all systems, the layout is now a single directory based on a hash of the Git URL and is shortened (which ensures a consistent and acceptable length, and also avoids special characters). * In particular, this removes util.url.parse_git_url and its associated test, which were used exclusively for generating the git cache layout * Bootstrapping is now enabled for unit tests on Windows
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
|
#
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
import sys
|
|
|
|
from spack.package import *
|
|
|
|
|
|
class BuildWarnings(Package):
|
|
"""This package's install fails but only emits warnings."""
|
|
|
|
homepage = "http://www.example.com/trivial_install"
|
|
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
|
|
|
|
version("1.0", md5="0123456789abcdef0123456789abcdef")
|
|
|
|
def install(self, spec, prefix):
|
|
if sys.platform == "win32":
|
|
with open("configure.bat", "w") as f:
|
|
f.write(
|
|
"""
|
|
@ECHO off
|
|
ECHO 'checking for gcc... /Users/gamblin2/src/spack/lib/spack/env/clang/clang'
|
|
ECHO 'checking whether the C compiler works... yes'
|
|
ECHO 'checking for C compiler default output file name... a.out'
|
|
ECHO 'WARNING: ALL CAPITAL WARNING!'
|
|
ECHO 'checking for suffix of executables...'
|
|
ECHO 'foo.c:89: warning: some weird warning!'
|
|
EXIT /B 1
|
|
"""
|
|
)
|
|
|
|
Executable("configure.bat")("--prefix=%s" % self.prefix)
|
|
else:
|
|
with open("configure", "w") as f:
|
|
f.write(
|
|
"""#!/bin/sh\n
|
|
echo 'checking for gcc... /Users/gamblin2/src/spack/lib/spack/env/clang/clang'
|
|
echo 'checking whether the C compiler works... yes'
|
|
echo 'checking for C compiler default output file name... a.out'
|
|
echo 'WARNING: ALL CAPITAL WARNING!'
|
|
echo 'checking for suffix of executables...'
|
|
echo 'foo.c:89: warning: some weird warning!'
|
|
exit 1
|
|
"""
|
|
)
|
|
configure()
|