blob: 31857e5e742c79a7175846d8568a8c9bd5fb89ff [file]
package kernel
import (
"context"
"cos.googlesource.com/cos/tools.git/src/pkg/utils"
"fmt"
"os"
"path"
)
type FakeDownloader struct {
}
func (*FakeDownloader) DownloadKernelSrc(ctx context.Context, destDir string) error {
var archive = map[string][]byte{
"kernel-source": []byte("foo"),
}
if err := utils.CreateTarFile(path.Join(destDir, "kernel-src.tar.gz"), archive); err != nil {
return fmt.Errorf("Failed to download kernel source: %v", err)
}
return nil
}
func (*FakeDownloader) DownloadToolchainEnv(ctx context.Context, destDir string) error {
toolchainEnvStr := `
CC=x86_64-cros-linux-gnu-clang
CXX=x86_64-cros-linux-gnu-clang++
`
if err := os.WriteFile(path.Join(destDir, "toolchain_env"), []byte(toolchainEnvStr), 0644); err != nil {
return fmt.Errorf("Failed to download toolchain env file: %v", err)
}
return nil
}
func (*FakeDownloader) DownloadToolchain(ctx context.Context, destDir string) error {
var archive = map[string][]byte{
"x86_64-cros-linux-gnu-clang": []byte("foo"),
}
if err := utils.CreateTarFile(path.Join(destDir, "toolchain.tar.xz"), archive); err != nil {
return fmt.Errorf("Failed to download toolchain archive: %v", err)
}
return nil
}
func (*FakeDownloader) DownloadKernelHeaders(ctx context.Context, destDir string) error {
var archive = map[string][]byte{
"kernel-header": []byte("bar"),
}
if err := utils.CreateTarFile(path.Join(destDir, "kernel-headers.tgz"), archive); err != nil {
return fmt.Errorf("Failed to download kernel headers: %v", err)
}
return nil
}
func (*FakeDownloader) DownloadArtifact(context.Context, string, string) error { return nil }
func (*FakeDownloader) GetArtifact(context.Context, string) ([]byte, error) { return nil, nil }
func (*FakeDownloader) ArtifactExists(context.Context, string) (bool, error) { return false, nil }
func (*FakeDownloader) ListArtifacts(ctx context.Context, prefix string) ([]string, error) {
return nil, nil
}
func (*FakeDownloader) DownloadGenericNvidiaDriver(context.Context, string, string) (string, error) {
return "", nil
}