gofmt
This commit is contained in:
parent
2640bdced8
commit
fcb5ec01ef
@ -49,7 +49,7 @@ func NewFileInfo(realPath, path string, info os.FileInfo) FileInfo {
|
||||
var linkName string
|
||||
var size int64
|
||||
|
||||
if info.Mode() & os.ModeSymlink != 0 {
|
||||
if info.Mode()&os.ModeSymlink != 0 {
|
||||
fileType = tar.TypeSymlink
|
||||
|
||||
linkName, err = os.Readlink(realPath)
|
||||
@ -83,9 +83,9 @@ func NewFileInfo(realPath, path string, info os.FileInfo) FileInfo {
|
||||
Size: size,
|
||||
Mode: info.Mode(),
|
||||
// todo: support UID/GID
|
||||
Uid: -1,
|
||||
Gid: -1,
|
||||
IsDir: info.IsDir(),
|
||||
Uid: -1,
|
||||
Gid: -1,
|
||||
IsDir: info.IsDir(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,14 +12,14 @@ import (
|
||||
)
|
||||
|
||||
type ImageArchive struct {
|
||||
manifest manifest
|
||||
config config
|
||||
layerMap map[string]*filetree.FileTree
|
||||
manifest manifest
|
||||
config config
|
||||
layerMap map[string]*filetree.FileTree
|
||||
}
|
||||
|
||||
func NewImageArchive(tarFile io.ReadCloser) (*ImageArchive, error) {
|
||||
img := &ImageArchive{
|
||||
layerMap: make(map[string]*filetree.FileTree),
|
||||
layerMap: make(map[string]*filetree.FileTree),
|
||||
}
|
||||
|
||||
tarReader := tar.NewReader(tarFile)
|
||||
@ -179,9 +179,8 @@ func (img *ImageArchive) ToImage() (*image.Image, error) {
|
||||
layers = append(layers, dockerLayer.ToLayer())
|
||||
}
|
||||
|
||||
|
||||
return &image.Image{
|
||||
Trees: trees,
|
||||
Trees: trees,
|
||||
Layers: layers,
|
||||
}, nil
|
||||
|
||||
|
@ -26,12 +26,12 @@ func analysisFromImageTar(t *testing.T, path string) *image.AnalysisResult {
|
||||
func Test_Analysis(t *testing.T) {
|
||||
|
||||
table := map[string]struct {
|
||||
efficiency float64
|
||||
sizeBytes uint64
|
||||
userSizeBytes uint64
|
||||
wastedBytes uint64
|
||||
wastedPercent float64
|
||||
path string
|
||||
efficiency float64
|
||||
sizeBytes uint64
|
||||
userSizeBytes uint64
|
||||
wastedBytes uint64
|
||||
wastedPercent float64
|
||||
path string
|
||||
}{
|
||||
"docker-image": {0.9844212134184309, 1220598, 66237, 32025, 0.4834911001404049, "../../../.data/test-docker-image.tar"},
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ type layer struct {
|
||||
tree *filetree.FileTree
|
||||
}
|
||||
|
||||
|
||||
// String represents a layer in a columnar format.
|
||||
func (l *layer) ToLayer() *image.Layer {
|
||||
id := strings.Split(l.tree.Name, "/")[0]
|
||||
@ -25,7 +24,7 @@ func (l *layer) ToLayer() *image.Layer {
|
||||
Size: l.history.Size,
|
||||
Tree: l.tree,
|
||||
// todo: query docker api for tags
|
||||
Names: []string{"(unavailable)"},
|
||||
Digest: l.history.ID,
|
||||
Names: []string{"(unavailable)"},
|
||||
Digest: l.history.ID,
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
type resolver struct {}
|
||||
type resolver struct{}
|
||||
|
||||
func NewResolver() *resolver {
|
||||
return &resolver{}
|
||||
@ -100,4 +100,3 @@ func (r *resolver) fetchArchive(id string) (io.ReadCloser, error) {
|
||||
|
||||
return readCloser, nil
|
||||
}
|
||||
|
||||
|
@ -11,13 +11,13 @@ const (
|
||||
)
|
||||
|
||||
type Layer struct {
|
||||
Id string
|
||||
Index int
|
||||
Id string
|
||||
Index int
|
||||
Command string
|
||||
Size uint64
|
||||
Tree *filetree.FileTree
|
||||
Names []string
|
||||
Digest string
|
||||
Size uint64
|
||||
Tree *filetree.FileTree
|
||||
Names []string
|
||||
Digest string
|
||||
}
|
||||
|
||||
func (l *Layer) ShortId() string {
|
||||
|
@ -20,8 +20,8 @@ type ImageDirectoryRef struct {
|
||||
func NewImageDirectoryRef(img *podmanImage.Image) (*ImageDirectoryRef, error) {
|
||||
imgDirRef := &ImageDirectoryRef{
|
||||
layerOrder: make([]string, 0),
|
||||
treeMap: make(map[string]*filetree.FileTree),
|
||||
layerMap: make(map[string]*podmanImage.Image),
|
||||
treeMap: make(map[string]*filetree.FileTree),
|
||||
layerMap: make(map[string]*podmanImage.Image),
|
||||
}
|
||||
|
||||
ctx := context.TODO()
|
||||
@ -41,7 +41,7 @@ func NewImageDirectoryRef(img *podmanImage.Image) (*ImageDirectoryRef, error) {
|
||||
if !exists {
|
||||
return nil, fmt.Errorf("graph has no upper dir")
|
||||
}
|
||||
|
||||
|
||||
if _, err := os.Stat(rootDir); os.IsNotExist(err) {
|
||||
return nil, fmt.Errorf("graph root dir does not exist: %s", rootDir)
|
||||
}
|
||||
@ -67,7 +67,7 @@ func NewImageDirectoryRef(img *podmanImage.Image) (*ImageDirectoryRef, error) {
|
||||
return imgDirRef, nil
|
||||
}
|
||||
|
||||
func processLayer(name, rootDir string) (*filetree.FileTree, error) {
|
||||
func processLayer(name, rootDir string) (*filetree.FileTree, error) {
|
||||
tree := filetree.NewFileTree()
|
||||
tree.Name = name
|
||||
|
||||
@ -76,7 +76,7 @@ func processLayer(name, rootDir string) (*filetree.FileTree, error) {
|
||||
return err
|
||||
}
|
||||
// add this file to the tree...
|
||||
relativeImagePath := "/"+strings.TrimPrefix(strings.TrimPrefix(path, rootDir), "/")
|
||||
relativeImagePath := "/" + strings.TrimPrefix(strings.TrimPrefix(path, rootDir), "/")
|
||||
fileInfo := filetree.NewFileInfo(path, relativeImagePath, info)
|
||||
|
||||
tree.FileSize += uint64(fileInfo.Size)
|
||||
@ -111,15 +111,15 @@ func (img *ImageDirectoryRef) ToImage() (*image.Image, error) {
|
||||
// as you iterate chronologically through history (ignoring history items that have no layer contents)
|
||||
// Note: history is not required metadata in an OCI image!
|
||||
podmanLayer := layer{
|
||||
obj: img.layerMap[id],
|
||||
index: layerIdx,
|
||||
tree: trees[layerIdx],
|
||||
obj: img.layerMap[id],
|
||||
index: layerIdx,
|
||||
tree: trees[layerIdx],
|
||||
}
|
||||
layers = append(layers, podmanLayer.ToLayer())
|
||||
}
|
||||
|
||||
return &image.Image{
|
||||
Trees: trees,
|
||||
Trees: trees,
|
||||
Layers: layers,
|
||||
}, nil
|
||||
|
||||
|
@ -11,10 +11,10 @@ import (
|
||||
|
||||
// Layer represents a Docker image layer and metadata
|
||||
type layer struct {
|
||||
obj *podmanImage.Image
|
||||
history *podmanImage.History
|
||||
index int
|
||||
tree *filetree.FileTree
|
||||
obj *podmanImage.Image
|
||||
history *podmanImage.History
|
||||
index int
|
||||
tree *filetree.FileTree
|
||||
}
|
||||
|
||||
func (l *layer) getHistory() (*podmanImage.History, error) {
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
type resolver struct {}
|
||||
type resolver struct{}
|
||||
|
||||
func NewResolver() *resolver {
|
||||
return &resolver{}
|
||||
@ -25,7 +25,6 @@ func (r *resolver) Build(args []string) (*image.Image, error) {
|
||||
return r.Fetch(id)
|
||||
}
|
||||
|
||||
|
||||
func (r *resolver) Fetch(id string) (*image.Image, error) {
|
||||
img, err := r.resolveFromDisk(id)
|
||||
if err == nil {
|
||||
@ -57,18 +56,18 @@ func (r *resolver) resolveFromDisk(id string) (*image.Image, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ImageLoop:
|
||||
for _, candidateImage := range images {
|
||||
for _, name := range candidateImage.Names() {
|
||||
if name == id {
|
||||
img, err = NewImageDirectoryRef(candidateImage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
break ImageLoop
|
||||
ImageLoop:
|
||||
for _, candidateImage := range images {
|
||||
for _, name := range candidateImage.Names() {
|
||||
if name == id {
|
||||
img, err = NewImageDirectoryRef(candidateImage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
break ImageLoop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if img == nil {
|
||||
return nil, fmt.Errorf("could not find image by name: '%s'", id)
|
||||
@ -108,7 +107,7 @@ func (r *resolver) fetchDockerArchive(id string) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
|
||||
for _, item:= range images {
|
||||
for _, item := range images {
|
||||
for _, name := range item.Names() {
|
||||
if name == id {
|
||||
file, err := ioutil.TempFile(os.TempDir(), "dive-resolver-tar")
|
||||
|
@ -14,10 +14,10 @@ type export struct {
|
||||
func NewExport(analysis *diveImage.AnalysisResult) *export {
|
||||
data := export{
|
||||
Layer: make([]layer, len(analysis.Layers)),
|
||||
Image: image {
|
||||
Image: image{
|
||||
InefficientFiles: make([]fileReference, len(analysis.Inefficiencies)),
|
||||
SizeBytes: analysis.SizeBytes,
|
||||
EfficiencyScore: analysis.Efficiency,
|
||||
SizeBytes: analysis.SizeBytes,
|
||||
EfficiencyScore: analysis.Efficiency,
|
||||
InefficientBytes: analysis.WastedBytes,
|
||||
},
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ func (controller *DetailsController) Render() error {
|
||||
if currentLayer.Names != nil && len(currentLayer.Names) > 0 {
|
||||
lines = append(lines, Formatting.Header("Tags: ")+strings.Join(currentLayer.Names, ", "))
|
||||
} else {
|
||||
lines = append(lines, Formatting.Header("Tags: ")+ "(none)")
|
||||
lines = append(lines, Formatting.Header("Tags: ")+"(none)")
|
||||
}
|
||||
lines = append(lines, Formatting.Header("Id: ")+currentLayer.Id)
|
||||
lines = append(lines, Formatting.Header("Digest: ")+currentLayer.Digest)
|
||||
|
@ -72,8 +72,6 @@ func assertTestData(t *testing.T, actualBytes []byte) {
|
||||
helperCheckDiff(t, expectedBytes, actualBytes)
|
||||
}
|
||||
|
||||
|
||||
|
||||
func initializeTestViewModel(t *testing.T) *FileTreeViewModel {
|
||||
result := docker.TestAnalysisFromArchive(t, "../../.data/test-docker-image.tar")
|
||||
|
||||
|
@ -131,7 +131,6 @@ func toggleFilterView(g *gocui.Gui, v *gocui.View) error {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user