mirror of
https://github.com/cunnie/sslip.io.git
synced 2025-10-07 08:31:02 +08:00
🐞 Skip IPv6 test when IPv4-only
Our unit tests have been failing on our IPv4-only containers because one of the tests forces a lookup from the (non-existent) IPv6 loopback interface. Now we first test to make sure such an interface exists by using `ping6`. Corner-case: In the event that `ping6` is not on the machine where the tests are run, but that machine has an IPv6 loopback interface, that test will be mistakenly skipped. Big deal. fixes: <https://ci.nono.io/teams/main/pipelines/sslip.io/jobs/unit/builds/4> ``` dig: couldn't get address for '::1': address family not supported ```
This commit is contained in:
@@ -56,7 +56,6 @@ var _ = Describe("sslip.io-dns-server", func() {
|
||||
Eventually(digSession, 1).Should(Exit(0))
|
||||
Eventually(string(digSession.Out.Contents())).Should(MatchRegexp(digResults))
|
||||
Eventually(serverSession.Err).Should(Say(serverLogMessage))
|
||||
Expect(digSession).Should(Exit())
|
||||
},
|
||||
Entry("A (customized) for sslip.io",
|
||||
"@localhost sslip.io +short",
|
||||
@@ -126,6 +125,21 @@ var _ = Describe("sslip.io-dns-server", func() {
|
||||
)
|
||||
})
|
||||
Describe("for more complex assertions", func() {
|
||||
When("our test is run on a machine which has IPv6", func() {
|
||||
cmd := exec.Command("ping6", "-c", "1", "::1")
|
||||
err := cmd.Run() // if the command succeeds, we have IPv6
|
||||
if err == nil {
|
||||
It("returns a TXT of the querier's IPv6 address when there are no custom/acme records", func() {
|
||||
digCmd = exec.Command("dig", "@::1", "ip.", "txt", "+short")
|
||||
digSession, err = Start(digCmd, GinkgoWriter, GinkgoWriter)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Eventually(digSession, 1).Should(Exit(0))
|
||||
Eventually(string(digSession.Out.Contents())).Should(MatchRegexp(`::1`))
|
||||
Eventually(serverSession.Err).Should(Say(`TypeTXT ip\. \? \["::1"\]`))
|
||||
Expect(digSession).To(Exit())
|
||||
})
|
||||
}
|
||||
})
|
||||
When("ns.sslip.io is queried", func() {
|
||||
It("returns all the A records", func() {
|
||||
digArgs = "@localhost ns.sslip.io +short"
|
||||
|
Reference in New Issue
Block a user