#!/usr/bin/env bash
set -eu
cd "$(dirname "$0")/modules"
printf '\n== pinned public module ==\n'
cd text
GOPROXY=https://proxy.golang.org GOSUMDB=sum.golang.org go mod download all
GOPROXY=https://proxy.golang.org GOSUMDB=sum.golang.org go mod verify
go run .
go list -mod=mod -m all
go mod vendor
go run -mod=vendor .
cd ../work/app
printf '\n== workspace ==\n'
go env GOWORK
go run .
printf '\n== same app without workspace: expected failure ==\n'
if GOWORK=off GOPROXY=off go run .; then exit 1; else echo "expected_failure=true"; fi
cd ../../mvs/app
printf '\n== MVS selected shared version ==\n'
go mod edit -require=example.com/shared@v1.1.0
go list -mod=mod -m all
go mod graph
