Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

Commit

Permalink
test/basename,dirname
Browse files Browse the repository at this point in the history
  • Loading branch information
xushiwei committed Aug 5, 2022
1 parent 5737a91 commit 5bfbab6
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 8 deletions.
12 changes: 4 additions & 8 deletions test/c2go.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,17 @@
"argv",
"clocale_mbfuncs",
"clock_gettime",

"crypt",

"dlopen_dso",
"dlopen"
"dlopen",
"env",
"fcntl"
],
"for": [
"env",
"fcntl",

"basename",
"dirname",

"random",
"qsort",
"random",
"strtod",
"string",
"string_memcpy",
Expand Down
83 changes: 83 additions & 0 deletions test/cmd/test/basename/basename.c.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package basename

import (
libc "github.com/goplus/libc"
unsafe "unsafe"
common "github.com/goplus/libc/test/common"
testing "testing"
)

func _cgo_main() int32 {
if libc.Strcmp(libc.Basename(nil), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'}))) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[102]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '7', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '0', ')', ' ', 'r', 'e', 't', 'u', 'r', 'n', 'e', 'd', ' ', '"', '%', 's', '"', ';', ' ', 'e', 'x', 'p', 'e', 'c', 't', 'e', 'd', ' ', '"', '.', '"', '\n', '\x00'})), libc.Basename(nil))
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[1]int8{'\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '8', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[1]int8{'\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[9]int8{'/', 'u', 's', 'r', '/', 'l', 'i', 'b', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[4]int8{'l', 'i', 'b', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '9', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[9]int8{'/', 'u', 's', 'r', '/', 'l', 'i', 'b', '\x00'})), got, (*int8)(unsafe.Pointer(&[4]int8{'l', 'i', 'b', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[6]int8{'/', 'u', 's', 'r', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '0', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[6]int8{'/', 'u', 's', 'r', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[5]int8{'u', 's', 'r', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '1', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[5]int8{'u', 's', 'r', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '2', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[4]int8{'/', '/', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '3', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[4]int8{'/', '/', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[13]int8{'/', '/', 'u', 's', 'r', '/', '/', 'l', 'i', 'b', '/', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[4]int8{'l', 'i', 'b', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '4', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[13]int8{'/', '/', 'u', 's', 'r', '/', '/', 'l', 'i', 'b', '/', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[4]int8{'l', 'i', 'b', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '5', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Basename(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[96]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '6', ':', ' ', 'b', 'a', 's', 'e', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'})), got, (*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'})))
}
}
return common.T_status
}
func TestMain(t *testing.T) {
if _cgo_ret := _cgo_main(); _cgo_ret != 0 {
t.Fatal("exit status", _cgo_ret)
}
}
1 change: 1 addition & 0 deletions test/cmd/test/basename/c2go_header.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package basename
1 change: 1 addition & 0 deletions test/cmd/test/dirname/c2go_header.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package dirname
83 changes: 83 additions & 0 deletions test/cmd/test/dirname/dirname.c.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package dirname

import (
libc "github.com/goplus/libc"
unsafe "unsafe"
common "github.com/goplus/libc/test/common"
testing "testing"
)

func _cgo_main() int32 {
if libc.Strcmp(libc.Dirname(nil), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'}))) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[100]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '7', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '0', ')', ' ', 'r', 'e', 't', 'u', 'r', 'n', 'e', 'd', ' ', '"', '%', 's', '"', ';', ' ', 'e', 'x', 'p', 'e', 'c', 't', 'e', 'd', ' ', '"', '.', '"', '\n', '\x00'})), libc.Dirname(nil))
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[1]int8{'\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '8', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[1]int8{'\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[9]int8{'/', 'u', 's', 'r', '/', 'l', 'i', 'b', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[5]int8{'/', 'u', 's', 'r', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '1', '9', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[9]int8{'/', 'u', 's', 'r', '/', 'l', 'i', 'b', '\x00'})), got, (*int8)(unsafe.Pointer(&[5]int8{'/', 'u', 's', 'r', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[6]int8{'/', 'u', 's', 'r', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '0', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[6]int8{'/', 'u', 's', 'r', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '1', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[4]int8{'u', 's', 'r', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[5]int8{'u', 's', 'r', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '2', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[5]int8{'u', 's', 'r', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '3', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[4]int8{'/', '/', '/', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '4', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[4]int8{'/', '/', '/', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'/', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '5', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
{
var tmp [100]int8
var got *int8 = libc.Dirname(libc.Strcpy((*int8)(unsafe.Pointer(&tmp)), (*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'}))))
if libc.Strcmp((*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})), got) != int32(0) {
common.T_printf((*int8)(unsafe.Pointer(&[94]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'a', 'l', '/', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '.', 'c', ':', '2', '6', ':', ' ', 'd', 'i', 'r', 'n', 'a', 'm', 'e', '(', '"', '%', 's', '"', ')', ' ', 'g', 'o', 't', ' ', '"', '%', 's', '"', ' ', 'w', 'a', 'n', 't', ' ', '"', '%', 's', '"', '\n', '\x00'})), (*int8)(unsafe.Pointer(&[3]int8{'.', '.', '\x00'})), got, (*int8)(unsafe.Pointer(&[2]int8{'.', '\x00'})))
}
}
return common.T_status
}
func TestMain(t *testing.T) {
if _cgo_ret := _cgo_main(); _cgo_ret != 0 {
t.Fatal("exit status", _cgo_ret)
}
}
4 changes: 4 additions & 0 deletions xz_libtest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ import (
"github.com/goplus/libc/test/cmd/test/tanhf"
"github.com/goplus/libc/test/cmd/test/tanhl"

"github.com/goplus/libc/test/cmd/test/basename"
"github.com/goplus/libc/test/cmd/test/dirname"
"github.com/goplus/libc/test/cmd/test/qsort"
"github.com/goplus/libc/test/cmd/test/random"
"github.com/goplus/libc/test/cmd/test/string_memcpy"
Expand Down Expand Up @@ -212,6 +214,8 @@ func TestFromTestdata(t *testing.T) {
tanhf.TestMain(t)
tanhl.TestMain(t)

basename.TestMain(t)
dirname.TestMain(t)
qsort.TestMain(t)
random.TestMain(t)
string_memcpy.TestMain(t)
Expand Down

0 comments on commit 5bfbab6

Please sign in to comment.