func (s *fakeHomeSuite) TearDownTest(c *gc.C) { s.FakeJujuHomeSuite.TearDownTest(c) // Test that the environment is restored. c.Assert(utils.Home(), gc.Equals, "/home/eric") c.Assert(os.Getenv("JUJU_HOME"), gc.Equals, "/home/eric/juju") c.Assert(osenv.JujuHome(), gc.Equals, "/home/eric/juju") }
func badrun(c *gc.C, exit int, args ...string) string { localArgs := append([]string{"-test.run", "TestRunMain", "-run-main", "--", "juju-metadata"}, args...) ps := exec.Command(os.Args[0], localArgs...) ps.Env = append(os.Environ(), osenv.JujuHomeEnvKey+"="+osenv.JujuHome()) output, err := ps.CombinedOutput() if exit != 0 { c.Assert(err, gc.ErrorMatches, fmt.Sprintf("exit status %d", exit)) } return string(output) }
func (c *PluginCommand) Run(ctx *cmd.Context) error { command := exec.Command(c.name, c.args...) command.Env = append(os.Environ(), []string{ osenv.JujuHomeEnvKey + "=" + osenv.JujuHome(), osenv.JujuEnvEnvKey + "=" + c.EnvName}..., ) // Now hook up stdin, stdout, stderr command.Stdin = ctx.Stdin command.Stdout = ctx.Stdout command.Stderr = ctx.Stderr // And run it! return command.Run() }
func (s *fakeHomeSuite) TestFakeHomeSetsConfigJujuHome(c *gc.C) { expected := filepath.Join(utils.Home(), ".juju") c.Assert(osenv.JujuHome(), gc.Equals, expected) }