blob: 92379a54d4a2caadfba2a7b586f727351fc7e997 [file] [log] [blame]
// Copyright 2016 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package builtin_vdlroot
import (
"bytes"
"path/filepath"
"regexp"
"testing"
"v.io/x/lib/gosh"
"v.io/x/ref/test/testutil"
)
// Ensures the vdlroot data built-in to the binary matches the current sources.
func TestBuiltInVDLRootIsUpToDate(t *testing.T) {
sh := gosh.NewShell(t)
defer sh.Cleanup()
gotRoot := sh.MakeTempDir()
if err := RestoreAssets(gotRoot, ""); err != nil {
t.Fatalf("Couldn't extract vdlroot: %v", err)
}
wantRoot := filepath.Join("..", "..", "..", "..", "..", "..", "..", "v23", "vdlroot")
var debug bytes.Buffer
opts := testutil.FileTreeOpts{
Debug: &debug,
FileB: regexp.MustCompile(`((\.vdl)|(vdl\.config))$`),
}
switch ok, err := testutil.FileTreeEqual(gotRoot, wantRoot, opts); {
case err != nil:
t.Error(err)
case !ok:
t.Errorf("%v is not the same as %v\n%v", gotRoot, wantRoot, debug.String())
}
}