Trim newlines from the cloud-config-url kernel parameter and added a test

- In the Fetch function trim whitespace from /proc/cmdline
- New test for Fetch function
- Added Location field to the procCmdline struct for testing
This commit is contained in:
Lars Wiegman
2014-05-15 15:57:40 +02:00
committed by Lars Wiegman
parent b505e6241c
commit 513a1eb602
2 changed files with 48 additions and 4 deletions

View File

@@ -12,19 +12,22 @@ const (
ProcCmdlineCloudConfigFlag = "cloud-config-url"
)
type procCmdline struct{}
type procCmdline struct{
Location string
}
func NewProcCmdline() *procCmdline {
return &procCmdline{}
return &procCmdline{Location: ProcCmdlineLocation}
}
func (self *procCmdline) Fetch() ([]byte, error) {
cmdline, err := ioutil.ReadFile(ProcCmdlineLocation)
contents, err := ioutil.ReadFile(self.Location)
if err != nil {
return nil, err
}
url, err := findCloudConfigURL(string(cmdline))
cmdline := strings.TrimSpace(string(contents))
url, err := findCloudConfigURL(cmdline)
if err != nil {
return nil, err
}