From 1c95a2c00e2e6a2a1c2658468af3438242c77988 Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Wed, 27 Jul 2022 16:45:14 +0200 Subject: [PATCH] bazel: rework tests --- ortools/algorithms/samples/code_samples.bzl | 6 ++-- .../samples/code_samples.bzl | 6 ++-- ortools/glop/samples/code_samples.bzl | 6 ++-- ortools/graph/samples/code_samples.bzl | 33 +++++++++++++------ ortools/graph/samples/code_samples_cc_test.sh | 22 ------------- ortools/graph/samples/code_samples_py_test.sh | 22 ------------- .../linear_solver/samples/code_samples.bzl | 6 ++-- .../model_builder/samples/code_samples.bzl | 26 ++++++++++----- .../samples/code_samples_py_test.sh | 22 ------------- ortools/sat/samples/code_samples.bzl | 27 +++++++++------ ortools/sat/samples/code_samples_cc_test.sh | 21 ------------ ortools/sat/samples/code_samples_py_test.sh | 21 ------------ 12 files changed, 69 insertions(+), 149 deletions(-) delete mode 100755 ortools/graph/samples/code_samples_cc_test.sh delete mode 100755 ortools/graph/samples/code_samples_py_test.sh delete mode 100755 ortools/model_builder/samples/code_samples_py_test.sh delete mode 100755 ortools/sat/samples/code_samples_cc_test.sh delete mode 100755 ortools/sat/samples/code_samples_py_test.sh diff --git a/ortools/algorithms/samples/code_samples.bzl b/ortools/algorithms/samples/code_samples.bzl index 511cac6a9e..7fa30efc68 100644 --- a/ortools/algorithms/samples/code_samples.bzl +++ b/ortools/algorithms/samples/code_samples.bzl @@ -15,7 +15,7 @@ def code_sample_cc(name): native.cc_binary( - name = name, + name = name + "_cc", srcs = [name + ".cc"], deps = [ "//ortools/algorithms:knapsack_solver_lib", @@ -23,11 +23,11 @@ def code_sample_cc(name): ) native.cc_test( - name = name + "_test", + name = name + "_cc_test", size = "small", srcs = [name + ".cc"], deps = [ - ":" + name, + ":" + name + "_cc", "//ortools/algorithms:knapsack_solver_lib", ], ) diff --git a/ortools/constraint_solver/samples/code_samples.bzl b/ortools/constraint_solver/samples/code_samples.bzl index 00ff27bc75..d22ca85d7e 100644 --- a/ortools/constraint_solver/samples/code_samples.bzl +++ b/ortools/constraint_solver/samples/code_samples.bzl @@ -15,7 +15,7 @@ def code_sample_cc(name): native.cc_binary( - name = name, + name = name + "_cc", srcs = [name + ".cc"], deps = [ "//ortools/base", @@ -27,11 +27,11 @@ def code_sample_cc(name): ) native.cc_test( - name = name + "_test", + name = name + "_cc_test", size = "small", srcs = [name + ".cc"], deps = [ - ":" + name, + ":" + name + "_cc", "//ortools/base", "//ortools/constraint_solver:cp", "//ortools/constraint_solver:routing", diff --git a/ortools/glop/samples/code_samples.bzl b/ortools/glop/samples/code_samples.bzl index 90c55ac1d0..cb88528837 100644 --- a/ortools/glop/samples/code_samples.bzl +++ b/ortools/glop/samples/code_samples.bzl @@ -15,7 +15,7 @@ def code_sample_cc(name): native.cc_binary( - name = name, + name = name + "_cc", srcs = [name + ".cc"], deps = [ "//ortools/base", @@ -25,11 +25,11 @@ def code_sample_cc(name): ) native.cc_test( - name = name + "_test", + name = name + "_cc_test", size = "small", srcs = [name + ".cc"], deps = [ - ":" + name, + ":" + name + "_cc", "//ortools/base", "//ortools/glop:lp_solver", "//ortools/lp_data", diff --git a/ortools/graph/samples/code_samples.bzl b/ortools/graph/samples/code_samples.bzl index 9fa9233ea9..392b4fa240 100644 --- a/ortools/graph/samples/code_samples.bzl +++ b/ortools/graph/samples/code_samples.bzl @@ -13,7 +13,6 @@ """Helper macro to compile and test code samples.""" -load("@rules_python//python:defs.bzl", "py_binary") load("@ortools_deps//:requirements.bzl", "requirement") def code_sample_cc(name): @@ -31,18 +30,24 @@ def code_sample_cc(name): ], ) - native.sh_test( + native.cc_test( name = name + "_cc_test", size = "small", - srcs = ["code_samples_cc_test.sh"], - args = [name], - data = [ + srcs = [name + ".cc"], + deps = [ ":" + name + "_cc", + "//ortools/base", + "//ortools/graph:assignment", + "//ortools/graph:ebert_graph", + "//ortools/graph:linear_assignment", + "//ortools/graph:max_flow", + "//ortools/graph:min_cost_flow", + "//ortools/graph:shortestpaths", ], ) def code_sample_py(name): - py_binary( + native.py_binary( name = name + "_py3", srcs = [name + ".py"], main = name + ".py", @@ -59,14 +64,22 @@ def code_sample_py(name): srcs_version = "PY3", ) - native.sh_test( + native.py_test( name = name + "_py_test", size = "small", - srcs = ["code_samples_py_test.sh"], - args = [name], + srcs = [name + ".py"], + main = name + ".py", data = [ - ":" + name + "_py3", + "//ortools/graph/python:linear_sum_assignment.so", + "//ortools/graph/python:min_cost_flow.so", + "//ortools/graph/python:max_flow.so", ], + deps = [ + requirement("absl-py"), + requirement("numpy"), + ], + python_version = "PY3", + srcs_version = "PY3", ) def code_sample_cc_py(name): diff --git a/ortools/graph/samples/code_samples_cc_test.sh b/ortools/graph/samples/code_samples_cc_test.sh deleted file mode 100755 index 0d95f6e54d..0000000000 --- a/ortools/graph/samples/code_samples_cc_test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2010-2022 Google LLC -# 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. - - -declare -r DIR="${TEST_SRCDIR}/com_google_ortools/ortools/graph/samples" - -function test::ortools::code_samples_graph_cc() { - "${DIR}/$1_cc" -} - -test::ortools::code_samples_graph_cc $1 diff --git a/ortools/graph/samples/code_samples_py_test.sh b/ortools/graph/samples/code_samples_py_test.sh deleted file mode 100755 index 042f3cc033..0000000000 --- a/ortools/graph/samples/code_samples_py_test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2010-2022 Google LLC -# 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. - - -declare -r DIR="${TEST_SRCDIR}/com_google_ortools/ortools/graph/samples" - -function test::ortools::code_samples_graph_py() { - "${DIR}/$1_py3" -} - -test::ortools::code_samples_graph_py $1 diff --git a/ortools/linear_solver/samples/code_samples.bzl b/ortools/linear_solver/samples/code_samples.bzl index 06a05ccc79..70982619a6 100644 --- a/ortools/linear_solver/samples/code_samples.bzl +++ b/ortools/linear_solver/samples/code_samples.bzl @@ -2,7 +2,7 @@ def code_sample_cc(name): native.cc_binary( - name = name, + name = name + "_cc", srcs = [name + ".cc"], deps = [ "//ortools/base", @@ -12,11 +12,11 @@ def code_sample_cc(name): ) native.cc_test( - name = name+"_test", + name = name + "_cc_test", size = "small", srcs = [name + ".cc"], deps = [ - ":"+name, + ":" + name + "_cc", "//ortools/base", "//ortools/linear_solver", "//ortools/linear_solver:linear_solver_cc_proto", diff --git a/ortools/model_builder/samples/code_samples.bzl b/ortools/model_builder/samples/code_samples.bzl index b49029f537..ac5291bcef 100644 --- a/ortools/model_builder/samples/code_samples.bzl +++ b/ortools/model_builder/samples/code_samples.bzl @@ -14,11 +14,10 @@ """Helper macro to compile and test code samples.""" load("@ortools_deps//:requirements.bzl", "requirement") -load("@rules_python//python:defs.bzl", "py_binary") def code_sample_cc(name): native.cc_binary( - name = name, + name = name + "_cc", srcs = [name + ".cc"], deps = [ "//ortools/base", @@ -28,11 +27,11 @@ def code_sample_cc(name): ) native.cc_test( - name = name + "_test", + name = name + "_cc_test", size = "small", srcs = [name + ".cc"], deps = [ - ":" + name, + ":" + name + "_cc", "//ortools/base", "//ortools/linear_solver", "//ortools/linear_solver:linear_solver_cc_proto", @@ -40,7 +39,7 @@ def code_sample_cc(name): ) def code_sample_py(name): - py_binary( + native.py_binary( name = name + "_py3", srcs = [name + ".py"], main = name + ".py", @@ -52,12 +51,21 @@ def code_sample_py(name): srcs_version = "PY3", ) - native.sh_test( + native.py_test( name = name + "_py_test", size = "small", - srcs = ["code_samples_py_test.sh"], - args = [name], + srcs = [name + ".py"], + main = name + ".py", data = [ - ":" + name + "_py3", + "//ortools/model_builder/python:model_builder", ], + deps = [ + requirement("absl-py"), + ], + python_version = "PY3", + srcs_version = "PY3", ) + +def code_sample_cc_py(name): + code_sample_cc(name = name) + code_sample_py(name = name) diff --git a/ortools/model_builder/samples/code_samples_py_test.sh b/ortools/model_builder/samples/code_samples_py_test.sh deleted file mode 100755 index 9b68e415eb..0000000000 --- a/ortools/model_builder/samples/code_samples_py_test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2010-2022 Google LLC -# 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. - - -declare -r DIR="${TEST_SRCDIR}/com_google_ortools/ortools/model_builder/samples" - -function test::ortools::code_samples_model_builder_py() { - "${DIR}/$1_py3" -} - -test::ortools::code_samples_model_builder_py $1 diff --git a/ortools/sat/samples/code_samples.bzl b/ortools/sat/samples/code_samples.bzl index 5358ab0b35..54b14d6ce0 100644 --- a/ortools/sat/samples/code_samples.bzl +++ b/ortools/sat/samples/code_samples.bzl @@ -13,7 +13,6 @@ """Helper macro to compile and test code samples.""" -load("@rules_python//python:defs.bzl", "py_binary") load("@ortools_deps//:requirements.bzl", "requirement") def code_sample_cc(name): @@ -28,18 +27,21 @@ def code_sample_cc(name): ], ) - native.sh_test( + native.cc_test( name = name + "_cc_test", size = "small", - srcs = ["code_samples_cc_test.sh"], - args = [name], - data = [ + srcs = [name + ".cc"], + deps = [ ":" + name + "_cc", + "//ortools/sat:cp_model", + "//ortools/sat:cp_model_solver", + "//ortools/util:sorted_interval_list", + "@com_google_absl//absl/types:span", ], ) def code_sample_py(name): - py_binary( + native.py_binary( name = name + "_py3", srcs = [name + ".py"], main = name + ".py", @@ -51,14 +53,19 @@ def code_sample_py(name): srcs_version = "PY3", ) - native.sh_test( + native.py_test( name = name + "_py_test", size = "small", - srcs = ["code_samples_py_test.sh"], - args = [name], + srcs = [name + ".py"], + main = name + ".py", data = [ - ":" + name + "_py3", + "//ortools/sat/python:cp_model", ], + deps = [ + requirement("absl-py"), + ], + python_version = "PY3", + srcs_version = "PY3", ) def code_sample_cc_py(name): diff --git a/ortools/sat/samples/code_samples_cc_test.sh b/ortools/sat/samples/code_samples_cc_test.sh deleted file mode 100755 index b831ad38aa..0000000000 --- a/ortools/sat/samples/code_samples_cc_test.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2010-2022 Google LLC -# 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. - -declare -r DIR="${TEST_SRCDIR}/com_google_ortools/ortools/sat/samples" - -function test::ortools::code_samples_sat_cc() { - "${DIR}/$1_cc" -} - -test::ortools::code_samples_sat_cc $1 diff --git a/ortools/sat/samples/code_samples_py_test.sh b/ortools/sat/samples/code_samples_py_test.sh deleted file mode 100755 index 7809f11b6b..0000000000 --- a/ortools/sat/samples/code_samples_py_test.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2010-2022 Google LLC -# 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. - -declare -r DIR="${TEST_SRCDIR}/com_google_ortools/ortools/sat/samples" - -function test::ortools::code_samples_sat_py() { - "${DIR}/$1_py3" -} - -test::ortools::code_samples_sat_py $1