Skip to content

Commit 2f7d5cf

Browse files
authored
Merge pull request #31 from frankovo/release/0.3.2
refactor(readme-readme-pypi-test_cli_commands): readme restructuring and test_cli_commands.py optimization
2 parents abac7f0 + 63d6fc1 commit 2f7d5cf

File tree

3 files changed

+55
-41
lines changed

3 files changed

+55
-41
lines changed

README-pypi.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
<p align="center">
2-
<h1>DNS Benchmark Tool</h1>
3-
<strong>Fast, comprehensive DNS performance testing</strong><br>
4-
Part of <a href="https://buildtools.net">BuildTools</a> - Network Performance Suite
5-
</p>
1+
<div align="center">
2+
3+
# DNS Benchmark Tool
4+
5+
**Fast, comprehensive DNS performance testing**
6+
7+
Part of [BuildTools](https://buildtools.net) - Network Performance Suite
68

79
```bash
810
pip install dns-benchmark-tool
@@ -13,7 +15,7 @@ dns-benchmark benchmark --use-defaults
1315

1416
> 🎉 **1,400+ downloads this week!** Thank you to our growing community.
1517
16-
</p>
18+
</div>
1719

1820
---
1921

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,16 @@ dns-benchmark monitoring --use-defaults --interval 30 --duration 3600 \
4444
--alert-latency 150 --alert-failure-rate 5 --output monitor.log
4545
```
4646

47+
## 📈 Community Highlights
48+
49+
- ⭐ Stars: Grew from 7 → 110+ after posting on Hacker News
50+
- 📦 Downloads: Rebounded to 200+/day after initially stalling
51+
- 🐘 Mastodon: Shared there too, but the real surge came from HN
52+
- 💬 Feedback: Constructive input from HN community directly shaped patches v0.3.0 → v0.3.1
53+
- 🚀 Takeaway: Hacker News visibility was the catalyst for adoption momentum
54+
4755
---
56+
4857
[![CI Tests](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/test.yml/badge.svg)](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/test.yml)
4958
[![Publish to TestPyPI](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/testpypi.yml/badge.svg)](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/testpypi.yml)
5059
[![Publish to PyPI](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/pypi.yml/badge.svg)](https://github.com/frankovo/dns-benchmark-tool/actions/workflows/pypi.yml)
@@ -66,6 +75,7 @@ dns-benchmark monitoring --use-defaults --interval 30 --duration 3600 \
6675
- [DNS Benchmark Tool](#dns-benchmark-tool)
6776
- [Part of BuildTools - Network Performance Suite](#part-of-buildtools---network-performance-suite)
6877
- [🎉 Today’s Release Highlights ](#-todays-release-highlights-)
78+
- [📈 Community Highlights](#-community-highlights)
6979
- [Table of Contents](#table-of-contents)
7080
- [🎯 Why This Tool?](#-why-this-tool)
7181
- [The Problem](#the-problem)

tests/test_cli_commands.py

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,32 @@
55

66
import pytest
77

8-
WAIT_INTERVAL = 3
8+
WAIT_INTERVAL = 2 # Seconds to wait between commands
99

1010
RESOLVERS = "./sample_data/resolvers.json"
1111
DOMAINS = "./sample_data/domains.txt"
1212

1313
COMMANDS = [
14+
# Basic quick tests
1415
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --output {{outdir}}",
15-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} "
16-
"--formats csv,excel,pdf --domain-stats --record-type-stats --error-breakdown --json --output {{outdir}}",
16+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} "
17+
# "--formats csv,excel,pdf --domain-stats --record-type-stats --error-breakdown --json --output {{outdir}}", # Heavy test, commented out for regular runs
1718
# Quick performance test
1819
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --output {{outdir}}",
1920
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --quiet --output {{outdir}}",
20-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --record-types A,AAAA,MX --output {{outdir}}",
21-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --domain-stats --record-type-stats --error-breakdown --output {{outdir}}",
22-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --json --output {{outdir}}",
23-
# New options smoke tests
24-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --iterations 2 --output {{outdir}}",
25-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --iterations 2 --use-cache --output {{outdir}}",
26-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --warmup --output {{outdir}}",
27-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --warmup-fast --output {{outdir}}",
28-
# Information & discovery
21+
# Commented out: record type stats and breakdowns
22+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --record-types A,AAAA,MX --output {{outdir}}",
23+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --domain-stats --record-type-stats --error-breakdown --output {{outdir}}",
24+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --json --output {{outdir}}",
25+
# New options smoke tests (commented out for speed)
26+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --iterations 2 --output {{outdir}}",
27+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --iterations 2 --use-cache --output {{outdir}}",
28+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --warmup --output {{outdir}}",
29+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --warmup-fast --output {{outdir}}",
30+
# Information & discovery (keep lightweight ones)
2931
"dns-benchmark list-defaults",
3032
"dns-benchmark list-resolvers",
31-
"dns-benchmark list-resolvers --details",
33+
# "dns-benchmark list-resolvers --details", # Slower
3234
"dns-benchmark list-resolvers --category security",
3335
"dns-benchmark list-resolvers --category privacy",
3436
"dns-benchmark list-resolvers --category family",
@@ -43,29 +45,29 @@
4345
"dns-benchmark list-domains --format csv",
4446
"dns-benchmark list-domains --format json",
4547
"dns-benchmark list-categories",
46-
# Configuration management
47-
"dns-benchmark generate-config --output {{outdir}}/sample_config.yaml",
48-
"dns-benchmark generate-config --category security --output {{outdir}}/security_test.yaml",
49-
"dns-benchmark generate-config --category family --output {{outdir}}/family_protection.yaml",
50-
"dns-benchmark generate-config --category performance --output {{outdir}}/performance_test.yaml",
51-
"dns-benchmark generate-config --category privacy --output {{outdir}}/privacy_audit.yaml",
52-
# Performance optimization
53-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --max-concurrent 50 --timeout 3 --quiet --formats csv --output {{outdir}}",
54-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --max-concurrent 10 --output {{outdir}}",
55-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --quiet --timeout 2 --output {{outdir}}",
56-
# Troubleshooting
48+
# Configuration management (commented out for speed)
49+
# "dns-benchmark generate-config --output {{outdir}}/sample_config.yaml",
50+
# "dns-benchmark generate-config --category security --output {{outdir}}/security_test.yaml",
51+
# "dns-benchmark generate-config --category family --output {{outdir}}/family_protection.yaml",
52+
# "dns-benchmark generate-config --category performance --output {{outdir}}/performance_test.yaml",
53+
# "dns-benchmark generate-config --category privacy --output {{outdir}}/privacy_audit.yaml",
54+
# Performance optimization (commented out for speed)
55+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --max-concurrent 50 --timeout 3 --quiet --formats csv --output {{outdir}}",
56+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --max-concurrent 10 --output {{outdir}}",
57+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --quiet --timeout 2 --output {{outdir}}",
58+
# Troubleshooting (keep help, comment out heavy)
5759
"python -m dns_benchmark.cli --help",
58-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv,excel --output {{outdir}}",
59-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --output {{outdir}}",
60-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --max-concurrent 25 --output {{outdir}}",
61-
f"python -m dns_benchmark.cli benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --output {{outdir}}",
62-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --output {{outdir}}",
63-
# Use case examples
64-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats excel,pdf --output {{outdir}}/migration_analysis",
65-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv,excel --output {{outdir}}/provider_selection",
66-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --formats csv --output {{outdir}}/troubleshooting",
67-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats pdf --output {{outdir}}/security_assessment",
68-
f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --quiet --output {{outdir}}/performance_monitoring",
60+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv,excel --output {{outdir}}",
61+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --output {{outdir}}",
62+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --max-concurrent 25 --output {{outdir}}",
63+
# f"python -m dns_benchmark.cli benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --output {{outdir}}",
64+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --output {{outdir}}",
65+
# Use case examples (commented out for speed)
66+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats excel,pdf --output {{outdir}}/migration_analysis",
67+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv,excel --output {{outdir}}/provider_selection",
68+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --timeout 10 --retries 3 --formats csv --output {{outdir}}/troubleshooting",
69+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats pdf --output {{outdir}}/security_assessment",
70+
# f"dns-benchmark benchmark --resolvers {RESOLVERS} --domains {DOMAINS} --formats csv --quiet --output {{outdir}}/performance_monitoring",
6971
]
7072

7173
# Give each test a readable ID instead of [0], [1], …

0 commit comments

Comments
 (0)