Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.12 KB

CONTRIBUTING.md

File metadata and controls

69 lines (51 loc) · 2.12 KB

Contributing

We welcome patches and features. There are however a few things that are required before your pull request can be merged.

Tests

How to write a new test case

As output from system ping varied on languages and OS, our parser may fail on new languages or OS. To improve the correctness and coverage for this module, we need to gather output from those system pings.

Upload a fixture about system ping

Suppose you are using macos in language en, you have a problem for running our module. Please upload a capture of your system ping in folder test/fixture/$OS/$LANGUAGE. In this case, the name of folder will be test/fixture/macos/en

Write expected answer in answer.json

NOTE: we recommend to use this online editor for editing the content for answer.json

To verify the correctness of our module on your new fixture, please provide the expected answer in test/fixture/answer.json.

Format of the key name is $OS_$LANGUAGE_$FILENAME. In our case, this is macos_en_sample1.

Value of that key should be the result from our command.

{
    "host": "google.com",
    "numeric_host": "172.217.24.46",
    "alive": true,
    "output": "PING google.com (172.217.24.46): 56 data bytes\n64 bytes from 172.217.24.46: icmp_seq=0 ttl=54 time=5.371 ms\n64 bytes from 172.217.24.46: icmp_seq=1 ttl=54 time=4.269 ms\n64 bytes from 172.217.24.46: icmp_seq=2 ttl=54 time=4.970 ms\n64 bytes from 172.217.24.46: icmp_seq=3 ttl=54 time=5.228 ms\n\n--- google.com ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 4.269/4.960/5.371/0.424 ms\n",
    "time": 5.371,
    "times": [
      5.371,
      4.269,
      4.97,
      5.228
    ],
    "min": 4.269,
    "max": 4.96,
    "avg": 5.371,
    "packageLoss": 0.0
    "stddev": 0.424
}

Running test cases

We trust tested codes. Please run below command for testing before sending a pull request

$ grunt test

Running ipv6 test cases

As #67 introduces ipv6 mechanism, fixture file names with v6 will enable v6. Please refer to window/de/v6_sample.txt for an example