summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin.mock/packages
diff options
context:
space:
mode:
authormarkus-ferrell <116021216+markus-ferrell@users.noreply.github.com>2023-08-14 16:15:40 -0400
committerGitHub <noreply@github.com>2023-08-14 13:15:40 -0700
commitd823037c408e334621f4759a87256c37ab3e20be (patch)
treec974619c03f9aef458e6d00cb4622b3a8e07a849 /var/spack/repos/builtin.mock/packages
parent4d945be955474030a452891e94903e695f5a48c0 (diff)
downloadspack-d823037c408e334621f4759a87256c37ab3e20be.tar.gz
spack-d823037c408e334621f4759a87256c37ab3e20be.tar.bz2
spack-d823037c408e334621f4759a87256c37ab3e20be.tar.xz
spack-d823037c408e334621f4759a87256c37ab3e20be.zip
Windows: enable "spack install" tests (#34696)
* 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
Diffstat (limited to 'var/spack/repos/builtin.mock/packages')
-rw-r--r--var/spack/repos/builtin.mock/packages/build-error/package.py52
-rw-r--r--var/spack/repos/builtin.mock/packages/build-warnings/package.py45
-rw-r--r--var/spack/repos/builtin.mock/packages/printing-package/package.py7
3 files changed, 73 insertions, 31 deletions
diff --git a/var/spack/repos/builtin.mock/packages/build-error/package.py b/var/spack/repos/builtin.mock/packages/build-error/package.py
index 29342bc5fc..2df3699822 100644
--- a/var/spack/repos/builtin.mock/packages/build-error/package.py
+++ b/var/spack/repos/builtin.mock/packages/build-error/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import sys
+
from spack.package import *
@@ -15,18 +17,38 @@ class BuildError(Package):
version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
- with open("configure", "w") as f:
- f.write(
- """#!/bin/sh\n
-echo 'checking build system type... x86_64-apple-darwin16.6.0'
-echo 'checking host system type... x86_64-apple-darwin16.6.0'
-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 'checking for suffix of executables...'
-echo 'configure: error: in /path/to/some/file:'
-echo 'configure: error: cannot run C compiled programs.'
-exit 1
-"""
- )
- configure()
+ if sys.platform == "win32":
+ with open("configure.bat", "w") as f:
+ f.write(
+ """
+ @ECHO off
+ ECHO checking build system type... x86_64-apple-darwin16.6.0
+ ECHO checking host system type... x86_64-apple-darwin16.6.0
+ 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 checking for suffix of executables...
+ ECHO configure: error: in /path/to/some/file:
+ ECHO configure: error: cannot run C compiled programs.
+ EXIT /B 1
+ """
+ )
+
+ Executable("configure.bat")("--prefix=%s" % self.prefix)
+ configure()
+ else:
+ with open("configure", "w") as f:
+ f.write(
+ """#!/bin/sh\n
+ echo 'checking build system type... x86_64-apple-darwin16.6.0'
+ echo 'checking host system type... x86_64-apple-darwin16.6.0'
+ 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 'checking for suffix of executables...'
+ echo 'configure: error: in /path/to/some/file:'
+ echo 'configure: error: cannot run C compiled programs.'
+ exit 1
+ """
+ )
+ configure()
diff --git a/var/spack/repos/builtin.mock/packages/build-warnings/package.py b/var/spack/repos/builtin.mock/packages/build-warnings/package.py
index 06026896e2..ce4af309b9 100644
--- a/var/spack/repos/builtin.mock/packages/build-warnings/package.py
+++ b/var/spack/repos/builtin.mock/packages/build-warnings/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import sys
+
from spack.package import *
@@ -15,16 +17,33 @@ class BuildWarnings(Package):
version("1.0", md5="0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
- 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()
+ 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()
diff --git a/var/spack/repos/builtin.mock/packages/printing-package/package.py b/var/spack/repos/builtin.mock/packages/printing-package/package.py
index 9d41e0a3a6..999b78a095 100644
--- a/var/spack/repos/builtin.mock/packages/printing-package/package.py
+++ b/var/spack/repos/builtin.mock/packages/printing-package/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
from spack.package import *
@@ -20,9 +22,8 @@ class PrintingPackage(Package):
def install(self, spec, prefix):
print("BEFORE INSTALL")
- configure("--prefix=%s" % prefix)
- make()
- make("install")
+ mkdirp(prefix)
+ touch(os.path.join(prefix, "dummyfile"))
print("AFTER INSTALL")