tests,util-gem5art: Add presubmit tests for gem5art
Change-Id: I7c10155e74de1a073fda861d498632c1d4be42b9 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47223 Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -30,3 +30,4 @@ m5out
|
||||
/system/arm/bootloader/arm64/boot_v2.arm64
|
||||
configs/example/memcheck.cfg
|
||||
configs/dram/lowp_sweep.cfg
|
||||
.pyenv
|
||||
|
||||
69
tests/jenkins/gem5art-tests.sh
Executable file
69
tests/jenkins/gem5art-tests.sh
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2021 The Regents of the University of California
|
||||
# All rights reserved
|
||||
#
|
||||
# The license below extends only to copyright in the software and shall
|
||||
# not be construed as granting a license to any other intellectual
|
||||
# property including but not limited to intellectual property relating
|
||||
# to a hardware implementation of the functionality of the software
|
||||
# licensed hereunder. You may use the software subject to the license
|
||||
# terms below provided that you ensure that this notice is replicated
|
||||
# unmodified and in its entirety in all distributions of the software,
|
||||
# modified or unmodified, in source code or in binary form.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met: redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer;
|
||||
# redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution;
|
||||
# neither the name of the copyright holders nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set -e
|
||||
|
||||
# Creating a virtual environment allows us to cleanly install the packages
|
||||
# within a Docker container.
|
||||
mkdir -p .pyenv
|
||||
python3 -m venv .pyenv
|
||||
source .pyenv/bin/activate
|
||||
|
||||
# The 18.04_all-depenencies image has an outdated version of setuptools. We
|
||||
# update it here. Attempts to fix this via the Dockerfile have been
|
||||
# unsuccessful.
|
||||
pip install -U setuptools
|
||||
|
||||
# Install the packages
|
||||
pip install -e util/gem5art/artifact
|
||||
pip install -e util/gem5art/run
|
||||
pip install -e util/gem5art/tasks
|
||||
|
||||
# Run the gem5art artificat tests.
|
||||
cd util/gem5art/artifact
|
||||
python3 -m unittest
|
||||
mypy -p gem5art.artifact
|
||||
|
||||
# Run the gem5art run tests.
|
||||
cd ../run
|
||||
python3 -m unittest
|
||||
mypy -p gem5art.run
|
||||
|
||||
# Run the gem5art task tests.
|
||||
cd ../tasks
|
||||
python3 -m unittest
|
||||
mypy -p gem5art.tasks
|
||||
@@ -40,6 +40,7 @@ set -e
|
||||
DOCKER_IMAGE_ALL_DEP=gcr.io/gem5-test/ubuntu-20.04_all-dependencies
|
||||
DOCKER_IMAGE_CLANG_COMPILE=gcr.io/gem5-test/clang-version-9
|
||||
PRESUBMIT_STAGE2=tests/jenkins/presubmit-stage2.sh
|
||||
GEM5ART_TESTS=tests/jenkins/gem5art-tests.sh
|
||||
|
||||
# Move the docker base directory to tempfs.
|
||||
sudo /etc/init.d/docker stop
|
||||
@@ -50,6 +51,10 @@ sudo /etc/init.d/docker start
|
||||
# Move the CWD to the gem5 checkout.
|
||||
cd git/jenkins-gem5-prod/
|
||||
|
||||
# Using a docker image with all the dependencies, we run the gem5art tests.
|
||||
docker run -u $UID:$GID --volume $(pwd):$(pwd) -w $(pwd) --rm \
|
||||
"${DOCKER_IMAGE_ALL_DEP}" "${GEM5ART_TESTS}"
|
||||
|
||||
# Using a docker image with all the dependencies, we run the presubmit tests.
|
||||
docker run -u $UID:$GID --volume $(pwd):$(pwd) -w $(pwd) --rm \
|
||||
"${DOCKER_IMAGE_ALL_DEP}" "${PRESUBMIT_STAGE2}"
|
||||
|
||||
Reference in New Issue
Block a user