Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ When manual testing or configuration changes are required, Testrun will provide
- DHCP client - The device must be able to obtain an IP address via DHCP

## Get started ▶️
Once you have met the hardware and software requirements, you can get started with Testrun by following the [Get started guide](docs/get_started.md).
Once you have met the hardware and software requirements, you can get started with Testrun by following the [Get started guide](docs/get_started.md). Further docs are available in the [docs directory](docs)

## Roadmap :chart_with_upwards_trend:
Testrun will constantly evolve to further support end-users by automating device network behaviour against industry standards. For further information on upcoming features, check out the [Roadmap](docs/roadmap.pdf).
Expand All @@ -59,7 +59,7 @@ We are proud of our tool and strive to provide an enjoyable experience for all o
If the application has come across a problem at any point during setup or use, please raise an issue under the [issues tab](https://github.com/google/testrun/issues). Issue templates exist for both bug reports and feature requests. If neither of these are appropriate for your issue, raise a blank issue instead.

## Contributing :keyboard:
The contributing requirements can be found in [CONTRIBUTING.md](CONTRIBUTING.md). In short, checkout the [Google CLA](https://cla.developers.google.com/) site to get started.
The contributing requirements can be found in [CONTRIBUTING.md](CONTRIBUTING.md). In short, checkout the [Google CLA](https://cla.developers.google.com/) site to get started. After that, check out our [developer documentation](docs/dev/README.md).

## FAQ :raising_hand:
1) I have an issue whilst installing/upgrading Testrun, what do I do?
Expand Down
3 changes: 3 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@
- [Running on a virtual machine](virtual_machine.md)
- [Accessibility](ui/accessibility.mp4)
- [Roadmap](roadmap.pdf)

## Something missing?
If you feel there is some documentation that you would find useful, or have found an issue with existing documentation, please raise an issue on GitHub by navigating [here](https://github.com/google/testrun/issues/new/choose)
25 changes: 25 additions & 0 deletions docs/dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">

## Developer docs

## Table of Contents
1) General guidelines (this page)
2) [Code quality](code_quality.md)

## General guidelines
As an open source project, we absolutely encourage contributions from the community to help Testrun remain an expanding but stable product. However, before contributing there are a number of things to take into consideration.

1) [Sign the Google CLA](https://cla.developers.google.com/): Whether you are an individual or contributing on behalf of your organisation, you must be covered by a Google CLA.

2) Determine the scope of your contribution

- Your contribution is more likely to be accepted if fewer files are changed (keep it simple)
- Are you going to be fixing a bug, dependency issue or a new framework capability? Whatever it is, ensure your pull request fixes or changes just one thing.

3) Get in touch to discuss whether your proposed changes are likely to be accepted

- It is best to get the opinion from the core maintainers whether your proposed changes meet our objectives and align with Testrun principles.

4) Fork Testrun and get developing

- We aim to provide thorough and easy to ready developer documentation to help you contribute successfully.
16 changes: 16 additions & 0 deletions docs/dev/code_quality.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">

## Code quality

Whilst developing code for Testrun, there are some style guides that you should follow.

- Python: https://google.github.io/styleguide/pyguide.html
- Angular: https://google.github.io/styleguide/angularjs-google-style.html
- Shell: https://google.github.io/styleguide/shellguide.html
- HTML/CSS: https://google.github.io/styleguide/htmlcssguide.html
- JSON: https://google.github.io/styleguide/jsoncstyleguide.xml
- Markdown: https://google.github.io/styleguide/docguide/style.html

### Automated actions

The current code base has been able to achieve 0 code lint issues. To maintain this, all lint checks are enforced on pull requests to dev and main. Please ensure that these lint checks are passing before marking your pull requests as 'Ready for review'.
3 changes: 1 addition & 2 deletions docs/network/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
<img width="200" alt="Testrun logo" src="https://user-images.githubusercontent.com/7399056/221927867-4190a4e8-a571-4e40-9c2b-65780ad9264c.png" alt="Testrun">


## Network Overview

## Table of Contents
1) Network Overview (this page)
1) Network overview (this page)
2) [How to identify network interfaces](identify_interfaces.md)
3) [Addresses](addresses.md)
4) [Add a new network service](add_new_service.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/network/add_new_service.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ COPY $MODULE_DIR/bin /testrun/bin
# Copy over all python files
COPY $MODULE_DIR/python /testrun/python

# Do not specify a CMD or Entrypoint as Test Run will automatically start your service as required
# Do not specify a CMD or Entrypoint as Testrun will automatically start your service as required
```

### Example of start_network_service script
Expand Down
1 change: 0 additions & 1 deletion docs/test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


## Testing

The test requirements that are investigated by Testrun can be found in the [test modules documentation](/docs/test/modules.md).

To understand the testing results, various definitions of test results and requirements are specified in the [statuses documentation](/docs/test/statuses.md).
2 changes: 1 addition & 1 deletion docs/test/modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Testrun provides some pre-built test modules for you to use when testing your ow
| Baseline | A sample test module | [Baseline module](/modules/test/baseline/README.md) |
| Connection | Verify IP and DHCP based behavior | [Connection module](/modules/test/conn/README.md) |
| DNS | Verify DNS functionality | [DNS module](/modules/test/dns/README.md) |
| NMAP | Ensure unsecure services are disabled | [NMAP module](/modules/test/nmap/README.md) |
| Services | Ensure unsecure services are disabled | [Services module](/modules/test/services/README.md) |
| NTP | Verify NTP functionality | [NTP module](/modules/test/ntp/README.md) |
| Protocol | Inspect BMS protocol implementation | [Protocol Module](/modules/test/protocol/README.md) |
| TLS | Determine TLS client and server behavior | [TLS module](/modules/test/tls/README.md) |
7 changes: 7 additions & 0 deletions modules/test/base/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ The ```config/module_config.json``` provides the name and description of the mod

Within the ```python/src``` directory, basic logging and environment variables are provided to the test module.

Within the ```usr/local/etc``` directory there is a local copy of the MAC OUI database. This is just in case a new copy is unable to be downloaded during the install or update process.

## GRPC server
Within the python directory, GRPC client code is provided to allow test modules to programmatically modify the various network services provided by Testrun.

These currently include obtaining information about and controlling the DHCP servers in failover configuration.

## Tests covered

No tests are run by this module
3 changes: 2 additions & 1 deletion modules/test/dns/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ Within the ```python/src``` directory, the below tests are executed.
| ID | Description | Expected behavior | Required result
|---|---|---|---|
| dns.network.hostname_resolution | Verifies that the device resolves hostnames | The device sends DNS requests | Required |
| dns.network.from_dhcp | Verifies that the device allows for a DNS server to be provided by the DHCP server | The device sends DNS requests to the DNS server provided by the DHCP server | Roadmap |
| dns.network.from_dhcp | Verifies that the device allows for a DNS server to be provided by the DHCP server | The device sends DNS requests to the DNS server provided by the DHCP server | Roadmap |
| dns.mdns | Does the device has MDNS (or any kind of IP multicast) | Device may send MDNS requests | Informational |
2 changes: 1 addition & 1 deletion modules/test/dns/conf/module_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
},
{
"name": "dns.mdns",
"test_description": "If the device has MDNS (or any kind of IP multicast), can it be disabled",
"test_description": "Does the device has MDNS (or any kind of IP multicast)",
"expected_behavior": "Device may send MDNS requests",
"required_result": "Informational"
}
Expand Down