403Webshell
Server IP : 157.230.181.24  /  Your IP : 216.73.217.11
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64
User :  ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/go/src/syscall/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/go/src/syscall/fs_wasip1_test.go
// Copyright 2023 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.

//go:build wasip1

package syscall_test

import (
	"syscall"
	"testing"
)

var joinPathTests = [...]struct {
	dir, file, path string
}{
	0:  {".", ".", "."},
	1:  {"./", "./", "./"},
	2:  {"././././", ".", "."},
	3:  {".", "./././", "./"},
	4:  {".", "a", "a"},
	5:  {".", "a/b", "a/b"},
	6:  {".", "..", ".."},
	7:  {".", "../", "../"},
	8:  {".", "../../", "../../"},
	9:  {".", "../..", "../.."},
	10: {".", "../..//..///", "../../../"},
	11: {"/", "/", "/"},
	12: {"/", "a", "/a"},
	13: {"/", "a/b", "/a/b"},
	14: {"/a", "b", "/a/b"},
	15: {"/", ".", "/"},
	16: {"/", "..", "/"},
	17: {"/", "../../", "/"},
	18: {"/", "/../a/b/c", "/a/b/c"},
	19: {"/", "/../a/b/c", "/a/b/c"},
	20: {"/", "./hello/world", "/hello/world"},
	21: {"/a", "../", "/"},
	22: {"/a/b/c", "..", "/a/b"},
	23: {"/a/b/c", "..///..///", "/a/"},
	24: {"/a/b/c", "..///..///..", "/"},
	25: {"/a/b/c", "..///..///..///..", "/"},
	26: {"/a/b/c", "..///..///..///..///..", "/"},
	27: {"/a/b/c/", "/d/e/f/", "/a/b/c/d/e/f/"},
	28: {"a/b/c/", ".", "a/b/c"},
	29: {"a/b/c/", "./d", "a/b/c/d"},
	30: {"a/b/c/", "./d/", "a/b/c/d/"},
	31: {"a/b/", "./c/d/", "a/b/c/d/"},
	32: {"../", "..", "../.."},
	33: {"a/b/c/d", "e/../..", "a/b/c"},
	34: {"a/b/c/d", "./e/../..", "a/b/c"},
	35: {"a/b/c/d", "./e/..//../../f/g//", "a/b/f/g/"},
	36: {"../../../", "a/../../b/c", "../../b/c"},
	37: {"/a/b/c", "/.././/hey!", "/a/b/hey!"},
}

func TestJoinPath(t *testing.T) {
	for _, test := range joinPathTests {
		t.Run("", func(t *testing.T) {
			path := syscall.JoinPath(test.dir, test.file)
			if path != test.path {
				t.Errorf("join(%q,%q): want=%q got=%q", test.dir, test.file, test.path, path)
			}
		})
	}
}

func BenchmarkJoinPath(b *testing.B) {
	for _, test := range joinPathTests {
		b.Run("", func(b *testing.B) {
			for i := 0; i < b.N; i++ {
				syscall.JoinPath(test.dir, test.file)
			}
		})
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit