mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #41884 from rcowsill/41829-load-valid-parent
Fix spurious error from "docker load"
This commit is contained in:
commit
4a054ec00f
3 changed files with 35 additions and 2 deletions
|
@ -4,6 +4,7 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
|
@ -218,6 +219,16 @@ func NewHistory(author, comment, createdBy string, isEmptyLayer bool) History {
|
|||
}
|
||||
}
|
||||
|
||||
// Equal compares two history structs for equality
|
||||
func (h History) Equal(i History) bool {
|
||||
if !h.Created.Equal(i.Created) {
|
||||
return false
|
||||
}
|
||||
i.Created = h.Created
|
||||
|
||||
return reflect.DeepEqual(h, i)
|
||||
}
|
||||
|
||||
// Exporter provides interface for loading and saving images
|
||||
type Exporter interface {
|
||||
Load(io.ReadCloser, io.Writer, bool) error
|
||||
|
|
|
@ -56,6 +56,29 @@ func TestMarshalKeyOrder(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
const sampleHistoryJSON = `{
|
||||
"created": "2021-01-13T09:35:56Z",
|
||||
"created_by": "image_test.go"
|
||||
}`
|
||||
|
||||
func TestHistoryEqual(t *testing.T) {
|
||||
h := historyFromJSON(t, sampleHistoryJSON)
|
||||
hCopy := h
|
||||
assert.Check(t, h.Equal(hCopy))
|
||||
|
||||
hUTC := historyFromJSON(t, `{"created": "2021-01-13T14:00:00Z"}`)
|
||||
hOffset0 := historyFromJSON(t, `{"created": "2021-01-13T14:00:00+00:00"}`)
|
||||
assert.Check(t, hUTC.Created != hOffset0.Created)
|
||||
assert.Check(t, hUTC.Equal(hOffset0))
|
||||
}
|
||||
|
||||
func historyFromJSON(t *testing.T, historyJSON string) History {
|
||||
var h History
|
||||
err := json.Unmarshal([]byte(historyJSON), &h)
|
||||
assert.Check(t, err)
|
||||
return h
|
||||
}
|
||||
|
||||
func TestImage(t *testing.T) {
|
||||
cid := "50a16564e727"
|
||||
config := &container.Config{
|
||||
|
|
|
@ -8,7 +8,6 @@ import (
|
|||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"runtime"
|
||||
|
||||
"github.com/containerd/containerd/platforms"
|
||||
|
@ -410,7 +409,7 @@ func checkValidParent(img, parent *image.Image) bool {
|
|||
return false
|
||||
}
|
||||
for i, h := range parent.History {
|
||||
if !reflect.DeepEqual(h, img.History[i]) {
|
||||
if !h.Equal(img.History[i]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue