debug.ReportError = "banana" Expect(debug.WriteDebug(debugFileName)).To(Succeed()) }) It("returns an error to skel.PluginMain, causing the process to exit code 1", func() { session, err := gexec.Start(cmd, GinkgoWriter, GinkgoWriter) Expect(err).NotTo(HaveOccurred()) Eventually(session).Should(gexec.Exit(1)) Expect(session.Out.Contents()).To(MatchJSON(`{ "code": 100, "msg": "banana" }`)) }) }) Context("when the CNI_COMMAND is DEL", func() { BeforeEach(func() { cmd.Env[0] = "CNI_COMMAND=DEL" debug.ReportResult = `{ "some": "delete-data" }` Expect(debug.WriteDebug(debugFileName)).To(Succeed()) }) It("still does all the debug behavior", func() { session, err := gexec.Start(cmd, GinkgoWriter, GinkgoWriter) Expect(err).NotTo(HaveOccurred()) Eventually(session).Should(gexec.Exit(0)) Expect(session.Out.Contents()).To(MatchJSON(`{ "some": "delete-data" }`)) debug, err := noop_debug.ReadDebug(debugFileName) Expect(err).NotTo(HaveOccurred()) Expect(debug.Command).To(Equal("DEL")) Expect(debug.CmdArgs).To(Equal(expectedCmdArgs)) })