1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-01-02 15:36:41 -05:00

Fix: GetAssetLocation (#974)

This commit is contained in:
Loyalsoldier 2021-05-05 07:51:58 +08:00 committed by GitHub
parent 1cb9fd2999
commit 8ce32e0d4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 2 additions and 50 deletions

View File

@ -33,7 +33,6 @@ func GetAssetLocation(file string) string {
filepath.Join("/usr/local/share/v2ray/", file),
filepath.Join("/usr/share/v2ray/", file),
filepath.Join("/opt/share/v2ray/", file),
file,
} {
if _, err := os.Stat(p); err != nil && errors.Is(err, fs.ErrNotExist) {
continue

View File

@ -10,26 +10,8 @@ import (
"github.com/v2fly/v2ray-core/v4/common"
"github.com/v2fly/v2ray-core/v4/common/platform"
"github.com/v2fly/v2ray-core/v4/common/platform/filesystem"
)
func init() {
const geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat"
wd, err := os.Getwd()
common.Must(err)
tempPath := filepath.Join(wd, "..", "..", "testing", "temp")
geoipPath := filepath.Join(tempPath, "geoip.dat")
if _, err := os.Stat(geoipPath); err != nil && errors.Is(err, fs.ErrNotExist) {
common.Must(os.MkdirAll(tempPath, 0755))
geoipBytes, err := common.FetchHTTPContent(geoipURL)
common.Must(err)
common.Must(filesystem.WriteFile(geoipPath, geoipBytes))
}
}
func TestNormalizeEnvName(t *testing.T) {
cases := []struct {
input string
@ -91,16 +73,6 @@ func TestWrongErrorCheckOnOSStat(t *testing.T) {
}
func TestGetAssetLocation(t *testing.T) {
// Test for external geo files
wd, err := os.Getwd()
common.Must(err)
tempPath := filepath.Join(wd, "..", "..", "testing", "temp")
geoipPath := filepath.Join(tempPath, "geoip.dat")
asset := platform.GetAssetLocation(geoipPath)
if _, err := os.Stat(asset); err != nil && errors.Is(err, fs.ErrNotExist) {
t.Error("cannot find external geo file:", asset)
}
exec, err := os.Executable()
common.Must(err)
loc := platform.GetAssetLocation("t")

View File

@ -2,12 +2,7 @@
package platform
import (
"errors"
"io/fs"
"os"
"path/filepath"
)
import "path/filepath"
func ExpandEnv(s string) string {
// TODO
@ -28,19 +23,5 @@ func GetToolLocation(file string) string {
func GetAssetLocation(file string) string {
const name = "v2ray.location.asset"
assetPath := NewEnvFlag(name).GetValue(getExecutableDir)
defPath := filepath.Join(assetPath, file)
for _, p := range []string{
defPath,
file,
} {
if _, err := os.Stat(p); err != nil && errors.Is(err, fs.ErrNotExist) {
continue
}
// asset found
return p
}
// asset not found, let the caller throw out the error
return defPath
return filepath.Join(assetPath, file)
}