Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9f15ce3
[sdn_tests]: Adding Build support for pins_ondatra
VSuryaprasad-HCL Apr 30, 2024
9138c35
[sdn_tests]: Adding binding infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
99288df
[sdn_tests]: Adding certs infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
231691c
[sdn_tests]: Adding Data Infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
b7ddf28
[sdn_tests]: Adding GNMI testhelper infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
58cdd1f
[sdn_tests]: Adding GNOI testhelper infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
8d95a76
[sdn_tests]: Adding LACP testhelper infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
7dea228
[sdn_tests]: Adding P4RT testhelper infra to pins_ondatra.
VSuryaprasad-HCL Apr 30, 2024
c8de29b
[sdn_tests]: Adding Platform and port_management testhelper infra to …
VSuryaprasad-HCL May 1, 2024
5018a8d
[sdn_tests]: Adding testhelper infra to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
1eefccf
[sdn_tests]: Adding Augment testhelper Infra to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
988ffc3
[sdn_tests]: Adding results testhelper infra to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
b975aac
[sdn_tests]: Adding ssh testhelper infra to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
cd0b009
[sdn_tests]: Adding ondatra bazel tests to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
5a5a065
[sdn_tests]: Adding testrunner to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
f27a962
[sdn_tests]: Adding CPU tests to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
2dc17e4
[sdn_tests]:Adding CPU Test to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
919b5cc
[sdn_tests]: Adding CPU test to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
8fbeabd
[sdn_tests]:Adding Dual switch EthernetCounter Test to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
3af0bbc
[sdn_tests]: Adding GNMI long Stress Test to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
cc61b96
[sdn_tests]:Adding GNOI File Test to pins_ondatra.
VSuryaprasad-HCL May 1, 2024
f3b64b1
[sdn_tests]:Adding Dual switch Inband Interface Counter test to pins_…
VSuryaprasad-HCL May 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions sdn_tests/pins_ondatra/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
bazel-*
*.pem
*.cnf
*.orig
4 changes: 4 additions & 0 deletions sdn_tests/pins_ondatra/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
load("@bazel_gazelle//:def.bzl", "gazelle")

# gazelle:prefix github.com/sonic-net/sonic-mgmt/sdn_tests/pins_ondatra
gazelle(name = "gazelle")
29 changes: 29 additions & 0 deletions sdn_tests/pins_ondatra/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Dependencies:
- Linux (tested on ubuntu)
- Go (https://go.dev/doc/install)
- Bazel-5.4.0+ (https://bazel.build/install)
- Rest of the dependencies should be auto-installed on bazel run.

# Compilation:
```
bazel build ...
```

# Compile and Run Test:
```
bazel run //tests:test_name --test_strategy=exclusive --test_timeout=3600
```


# Debug code:
- Install Delve (https://github.com/go-delve/delve/tree/master/Documentation/installation)
- Compile repo in debug mode:
```
bazel build ... --strip=never --compilation_mode=dbg
```
- Run the test with dlv debugger:
```
dlv --wd=$PWD/tests/ exec bazel-bin/tests/test_name_/test_name -- --testbed=$PWD/testbeds/testbed.textproto
// inside dlv; map path for debugging:
config substitute-path external bazel-pins_ondatra/external
```
135 changes: 135 additions & 0 deletions sdn_tests/pins_ondatra/WORKSPACE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Copyright 2024 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.

workspace(name = "com_github_sonic_net_sonic_mgmt_sdn_tests_pins_ondatra")

# -- Load buildifier -----------------------------------------------------------
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# Bazel toolchain to build go-lang.
http_archive(
name = "io_bazel_rules_go",
sha256 = "91585017debb61982f7054c9688857a2ad1fd823fc3f9cb05048b0025c47d023",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
],
)

# Gazelle to auto generate go-lang BUILD rules.
http_archive(
name = "bazel_gazelle",
sha256 = "b7387f72efb59f876e4daae42f1d3912d0d45563eac7cb23d1de0b094ab588cf",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.34.0/bazel-gazelle-v0.34.0.tar.gz",
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.34.0/bazel-gazelle-v0.34.0.tar.gz",
],
)

load("pins_deps.bzl", "pins_deps")

pins_deps()

# -- Load Rules Foreign CC -----------------------------------------------------

load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")

rules_foreign_cc_dependencies()

# -- Load GoLang Rules -----------------------------------------------------

load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
load("//:infra_deps.bzl", "binding_deps")

binding_deps()

go_rules_dependencies()

go_register_toolchains(version = "1.21.1")

gazelle_dependencies(go_repository_default_config = "@//:WORKSPACE.bazel")

# -- Load GRPC -------------------------------------------------------------

load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")

switched_rules_by_language(
name = "com_google_googleapis_imports",
cc = True,
go = True,
grpc = True,
)

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

grpc_deps()

load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")

grpc_extra_deps()

# -- Load Protobuf -------------------------------------------------------------

load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")

protobuf_deps()

load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")

rules_proto_dependencies()

rules_proto_toolchains()

### Bazel rules for many languages to compile PROTO into gRPC libraries
http_archive(
name = "rules_proto_grpc",
sha256 = "f87d885ebfd6a1bdf02b4c4ba5bf6fb333f90d54561e4d520a8413c8d1fb7beb",
strip_prefix = "rules_proto_grpc-4.5.0",
urls = ["https://github.com/rules-proto-grpc/rules_proto_grpc/archive/4.5.0.tar.gz"],
patch_args = ["-p1"],
patches = [
"//:bazel/patches/rules_proto_grpc.patch",
],
)

load("@rules_proto_grpc//:repositories.bzl", "rules_proto_grpc_repos", "rules_proto_grpc_toolchains")

rules_proto_grpc_toolchains()

rules_proto_grpc_repos()

# -- Load P4Runtime ------------------------------------------------------------

load("@com_github_p4lang_p4runtime//:p4runtime_deps.bzl", "p4runtime_deps")

p4runtime_deps()

# -- Load packaging rules ------------------------------------------------------

load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")

rules_pkg_dependencies()

# == Dependencies needed for testing and formatting only =======================

# -- Load p4c ------------------------------------------------------------------

load("@com_github_p4lang_p4c//:bazel/p4c_deps.bzl", "p4c_deps")

p4c_deps()

load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps")

boost_deps()
12 changes: 12 additions & 0 deletions sdn_tests/pins_ondatra/bazel/patches/ghodss_yaml.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/BUILD.bazel b/BUILD.bazel
index 4f4ecec..ee196e8 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -6,6 +6,7 @@ go_library(
"fields.go",
"yaml.go",
],
+ deps = ["@in_gopkg_yaml_v2//:yaml_v2"],
importpath = "github.com/ghodss/yaml",
visibility = ["//visibility:public"],
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
diff --git a/proto/gnmi/BUILD.bazel b/proto/gnmi/BUILD.bazel
index f471488..14a242b 100755
--- a/proto/gnmi/BUILD.bazel
+++ b/proto/gnmi/BUILD.bazel
@@ -22,6 +22,17 @@ package(
licenses = ["notice"],
)

+proto_library(
+ name = "gnmi_internal_proto",
+ srcs = ["gnmi.proto"],
+ deps = [
+ "//proto/gnmi_ext:gnmi_ext_proto",
+ "@com_google_protobuf//:any_proto",
+ "@com_google_protobuf//:descriptor_proto",
+ ],
+ visibility = ["//visibility:private"],
+)
+
proto_library(
name = "gnmi_proto",
srcs = ["gnmi.proto"],
@@ -35,12 +46,12 @@ proto_library(

cc_proto_library(
name = "gnmi_cc_proto",
- deps = [":gnmi_proto"],
+ deps = [":gnmi_internal_proto"],
)

cc_grpc_library(
name = "gnmi_cc_grpc_proto",
- srcs = [":gnmi_proto"],
+ srcs = [":gnmi_internal_proto"],
generate_mocks = True,
grpc_only = True,
deps = [":gnmi_cc_proto"],
Loading