diff --git a/.gitignore b/.gitignore index a60082ce9d..91b8350335 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ /third_party/vulkan_memory_allocator /third_party/webgpu-cts /third_party/zlib +/tools/bin /tools/clang /tools/cmake* /tools/golang diff --git a/test/tint/test-all.sh b/test/tint/test-all.sh index 48ef708edf..b83010832a 100755 --- a/test/tint/test-all.sh +++ b/test/tint/test-all.sh @@ -19,11 +19,11 @@ set -e # Fail on any error. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" function usage() { - echo "test-all.sh is a simple wrapper around /tools/test-runner that" + echo "test-all.sh is a simple wrapper around /tools/test-runner that" echo "injects the /test directory as the second command line argument" echo - echo "Usage of /tools/test-runner:" - "${SCRIPT_DIR}/../../tools/test-runner" --help + echo "Usage of test-runner:" + "${SCRIPT_DIR}/../../tools/run" "test-runner" --help } TINT="$1" @@ -41,4 +41,4 @@ if [ ! -x "$TINT" ]; then exit 1 fi -"${SCRIPT_DIR}/../../tools/test-runner" "${@:2}" "${TINT}" "${SCRIPT_DIR}" +"${SCRIPT_DIR}/../../tools/run" "test-runner" "${@:2}" "${TINT}" "${SCRIPT_DIR}" diff --git a/tools/builtin-gen b/tools/builtin-gen deleted file mode 100755 index 58dc5657bf..0000000000 --- a/tools/builtin-gen +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/builtin-gen" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/builtin-gen" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/check-spec-examples b/tools/check-spec-examples deleted file mode 100755 index fa1015116d..0000000000 --- a/tools/check-spec-examples +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/check-spec-examples" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/check-spec-examples" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/fix-tests b/tools/fix-tests deleted file mode 100755 index 445b5fe179..0000000000 --- a/tools/fix-tests +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# See https://clang.llvm.org/docs/SourceBasedCodeCoverage.html - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/fix-tests" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/fix-tests" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/gerrit-stats b/tools/gerrit-stats deleted file mode 100755 index 3fcfb32dd4..0000000000 --- a/tools/gerrit-stats +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/gerrit-stats" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/gerrit-stats" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/get-test-plan b/tools/get-test-plan deleted file mode 100755 index 29a99fc7d0..0000000000 --- a/tools/get-test-plan +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/get-test-plan" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/get-test-plan" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/benchdiff b/tools/run similarity index 60% rename from tools/benchdiff rename to tools/run index 3cc175fba0..65b998a691 100755 --- a/tools/benchdiff +++ b/tools/run @@ -15,19 +15,41 @@ set -e # Fail on any error. +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" +TOOL="$1" +BINARY="${SCRIPT_DIR}/bin/${TOOL}" + if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 + echo "error: go needs to be on \$PATH to use $0" + exit 1 fi -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/benchdiff" +function list_tools() { + echo "Available tools:" + ls "${SCRIPT_DIR}/src/cmd" +} + +function show_usage() { + echo "run " + echo + echo "builds and runs the go tool in /tools/src/cmd" + echo + list_tools + exit 1 +} + +if [ -z "${TOOL}" ]; then + show_usage +fi + +if [ ! -d "${SCRIPT_DIR}/src/cmd/${TOOL}" ]; then + show_usage +fi # Rebuild the binary. # Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/benchdiff" > /dev/null - go build -o "${BINARY}" main.go +pushd "${SCRIPT_DIR}/src" > /dev/null + go build -o "${BINARY}" "./cmd/${TOOL}" popd > /dev/null -"${BINARY}" "$@" +"${BINARY}" "${@:2}" diff --git a/tools/snippets b/tools/snippets deleted file mode 100755 index d58232d9f4..0000000000 --- a/tools/snippets +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/snippets" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/snippets" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/test-runner b/tools/test-runner deleted file mode 100755 index 8e6ef15d93..0000000000 --- a/tools/test-runner +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/test-runner" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/test-runner" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@" diff --git a/tools/trim-includes b/tools/trim-includes deleted file mode 100755 index cc685f9eb3..0000000000 --- a/tools/trim-includes +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2021 The Tint Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -e # Fail on any error. - -if [ ! -x "$(which go)" ] ; then - echo "error: go needs to be on \$PATH to use $0" - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" -ROOT_DIR="$( cd "${SCRIPT_DIR}/.." >/dev/null 2>&1 && pwd )" -BINARY="${SCRIPT_DIR}/bin/trim-includes" - -# Rebuild the binary. -# Note, go caches build artifacts, so this is quick for repeat calls -pushd "${SCRIPT_DIR}/src/cmd/trim-includes" > /dev/null - go build -o "${BINARY}" main.go -popd > /dev/null - -"${BINARY}" "$@"