mirror of
https://github.com/mcuadros/ascode
synced 2024-11-26 06:01:08 +01:00
starlark/module: os add temp_dir function
This commit is contained in:
parent
af30b3e5d1
commit
452e5032c7
@ -25,6 +25,7 @@ const (
|
||||
RemoveFuncName = "remove"
|
||||
RemoveAllFuncName = "remove_all"
|
||||
RenameFuncName = "rename"
|
||||
TempDirFuncName = "temp_dir"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -55,6 +56,7 @@ func LoadModule() (starlark.StringDict, error) {
|
||||
RemoveFuncName: starlark.NewBuiltin(MkdirFuncName, Remove),
|
||||
RemoveAllFuncName: starlark.NewBuiltin(MkdirFuncName, RemoveAll),
|
||||
RenameFuncName: starlark.NewBuiltin(RenameFuncName, Rename),
|
||||
TempDirFuncName: starlark.NewBuiltin(TempDirFuncName, TempDir),
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -323,3 +325,13 @@ func Rename(thread *starlark.Thread, _ *starlark.Builtin, args starlark.Tuple, k
|
||||
|
||||
return starlark.None, os.Rename(oldpath, newpath)
|
||||
}
|
||||
|
||||
// TempDir returns the default directory to use for temporary files.
|
||||
//
|
||||
// outline: os
|
||||
// functions:
|
||||
// temp_dir()
|
||||
// returns the default directory to use for temporary files.
|
||||
func TempDir(thread *starlark.Thread, _ *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
|
||||
return starlark.String(os.TempDir()), nil
|
||||
}
|
||||
|
20
starlark/module/os/testdata/test.star
vendored
20
starlark/module/os/testdata/test.star
vendored
@ -1,6 +1,8 @@
|
||||
load('os', 'os')
|
||||
load('assert.star', 'assert')
|
||||
|
||||
assert.ne(os.temp_dir(), "")
|
||||
|
||||
key = "HELLO"
|
||||
value = "world"
|
||||
|
||||
@ -9,21 +11,19 @@ assert.eq(os.getenv(key), value)
|
||||
|
||||
content = "hello world\n"
|
||||
|
||||
assert.eq(os.write_file("/tmp/plain.txt", content), None)
|
||||
assert.eq(os.read_file("/tmp/plain.txt"), content)
|
||||
temp = os.temp_dir()
|
||||
os.chdir(temp)
|
||||
assert.eq(os.getwd(), temp)
|
||||
|
||||
assert.eq(os.write_file("/tmp/perms.txt", content=content, perms=0o777), None)
|
||||
assert.eq(os.read_file("/tmp/perms.txt"), content)
|
||||
assert.eq(os.write_file("plain.txt", content), None)
|
||||
assert.eq(os.read_file("plain.txt"), content)
|
||||
|
||||
assert.eq(os.write_file("perms.txt", content=content, perms=0o777), None)
|
||||
assert.eq(os.read_file("perms.txt"), content)
|
||||
|
||||
os.mkdir("foo", 0o755)
|
||||
os.remove("foo")
|
||||
|
||||
assert.ne(os.getwd(), "")
|
||||
|
||||
home = os.getenv("HOME")
|
||||
os.chdir(home)
|
||||
assert.eq(os.getwd(), home)
|
||||
|
||||
os.mkdir_all("foo/bar", 0o755)
|
||||
|
||||
os.rename("foo", "bar")
|
||||
|
Loading…
Reference in New Issue
Block a user