# Copyright (c) 2021 Project CHIP 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.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default

name: 3.2.1. [TC-DGSW-2.1] Attributes [DUT_Sever]

PICS:
    - DGSW.S

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    endpoint: 0

tests:
    - label: "Commission DUT to TH"
      verification: |

      disabled: true

    - label:
          "Step 2: TH reads a list of ThreadMetrics struct attribute from DUT."
      PICS: DGSW.S.A0000
      verification: |
          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.

          ./chip-tool softwarediagnostics read thread-metrics 1 0

          Via the TH (chip-tool), verify:
          -that ThreadMetrics attribute contains entries with ThreadMetrics Struct.
          -that the entries Id is in the range of uint64 and name is in vendor specific string format.

          [1654697032.107109][7037:7042] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_0000 DataVersion: 1044289564
          [1654697032.107255][7037:7042] CHIP:TOO:   ThreadMetrics: 6 entries
          [1654697032.107333][7037:7042] CHIP:TOO:     [1]: {
          [1654697032.107376][7037:7042] CHIP:TOO:       Id: 8972
          [1654697032.107413][7037:7042] CHIP:TOO:       Name: 8972
          [1654697032.107449][7037:7042] CHIP:TOO:      }
          [1654697032.107492][7037:7042] CHIP:TOO:     [2]: {
          [1654697032.107526][7037:7042] CHIP:TOO:       Id: 8971
          [1654697032.107559][7037:7042] CHIP:TOO:       Name: 8971
          [1654697032.107591][7037:7042] CHIP:TOO:      }
          [1654697032.107632][7037:7042] CHIP:TOO:     [3]: {
          [1654697032.107667][7037:7042] CHIP:TOO:       Id: 8970
          [1654697032.107700][7037:7042] CHIP:TOO:       Name: 8970
          [1654697032.107733][7037:7042] CHIP:TOO:      }
          [1654697032.107774][7037:7042] CHIP:TOO:     [4]: {
          [1654697032.107808][7037:7042] CHIP:TOO:       Id: 8969
          [1654697032.107842][7037:7042] CHIP:TOO:       Name: 8969
          [1654697032.107875][7037:7042] CHIP:TOO:      }
          [1654697032.107915][7037:7042] CHIP:TOO:     [5]: {
          [1654697032.107950][7037:7042] CHIP:TOO:       Id: 8968
          [1654697032.107982][7037:7042] CHIP:TOO:       Name: 8968
          [1654697032.108015][7037:7042] CHIP:TOO:      }
          [1654697032.108056][7037:7042] CHIP:TOO:     [6]: {
          [1654697032.108090][7037:7042] CHIP:TOO:       Id: 8967
          [1654697032.108122][7037:7042] CHIP:TOO:       Name: 8967
          [1654697032.108154][7037:7042] CHIP:TOO:      }
      disabled: true

    - label: "Step 3: TH reads an attribute value from DUT."
      PICS: DGSW.S.A0001
      verification: |
          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.

          ./chip-tool softwarediagnostics read current-heap-free 1 0

          Via the TH (chip-tool), verify that CurrentHeapFree attribute contains value is in the range of uint64.

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_0001 DataVersion: 3412237516
          [1649662648.863327][8004:8009] CHIP:TOO:   CurrentHeapFree: 590864
      disabled: true

    - label: "Step 4: TH reads an attribute value from DUT."
      PICS: DGSW.S.A0002
      verification: |
          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.

          ./chip-tool  softwarediagnostics  read current-heap-used 1 0

          Via the TH (chip-tool), verify that CurrentHeapUsed attribute contains value is in the range of uint64.

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_0002 DataVersion: 3412237516
          [1649662811.289909][8018:8023] CHIP:TOO:   CurrentHeapUsed: 1098368
      disabled: true

    - label: "Step 5: TH reads an attribute value from DUT."
      PICS: DGSW.S.A0003
      verification: |
          ./chip-tool softwarediagnostics read current-heap-high-watermark 1 0

          Via the TH (chip-tool), verify that CurrentHeapHighWatermark attribute contains value is in the range of uint64.

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_0003 DataVersion: 3412237516
          [1649662865.831203][8025:8030] CHIP:TOO:   CurrentHeapHighWatermark: 1099312
      disabled: true
