coreutils/Cargo.toml
Alexander Batischev 655804cff4 tests/chmod: protect umask with a mutex
`test_chmod_ugoa` and `test_chmod_many_options` both change umask, which
is global state. Since tests run concurrently, this might lead to
a situation where one of the tests changes umask to a value that screws
another test's checks. To prevent this, we introduce a mutex that should
be held by any test that changes umask.

Unfortunately, there's no way to hide umask behind this mutex and
enforce its usage: programmers will have to maintain the discipline
themselves.
2016-12-19 13:14:38 +03:00

244 lines
6 KiB
TOML

[package]
name = "uutils"
version = "0.0.1"
authors = []
build = "build.rs"
[features]
unix = [
"arch",
"chgrp",
"chmod",
"chown",
"chroot",
"du",
"groups",
"hostid",
"hostname",
"id",
"install",
"kill",
"logname",
"mkfifo",
"mknod",
"nice",
"nohup",
"pathchk",
"pinky",
"stat",
"stdbuf",
"timeout",
"touch",
"tty",
"uname",
"unlink",
"uptime",
"users",
"who",
]
# Feature "fuchsia" contains the exclusive list of utilities
# that can be compiled and run on Fuchsia. Should be built
# with --no-default-features when selecting this feature.
# TODO: merge with "unix" to avoid duplication once we support
# all utilities in that feature.
fuchsia = [
# unix utilities
"arch",
"chgrp",
"chmod",
"chown",
"du",
"groups",
"hostid",
"install",
"logname",
"mkfifo",
"mknod",
"nice",
"pathchk",
"stdbuf",
"touch",
"tty",
"uname",
"unlink",
# All generic utilities
"generic"
]
generic = [
"base32",
"base64",
"basename",
"cat",
"cksum",
"comm",
"cp",
"cut",
"dircolors",
"dirname",
"echo",
"env",
"expand",
"expr",
"factor",
"false",
"fmt",
"fold",
"hashsum",
"head",
"link",
"ln",
"ls",
"mkdir",
"mktemp",
"more",
"mv",
"nl",
"nproc",
"od",
"paste",
"printenv",
"printf",
"ptx",
"pwd",
"readlink",
"realpath",
"relpath",
"rm",
"rmdir",
"seq",
"shred",
"shuf",
"sleep",
"sort",
"split",
"sum",
"sync",
"tac",
"tail",
"tee",
"test",
"tr",
"true",
"truncate",
"tsort",
"unexpand",
"uniq",
"wc",
"whoami",
"yes",
]
test_unimplemented = []
nightly = []
default = ["generic", "unix"]
[dependencies]
uucore = { path="src/uucore" }
arch = { optional=true, path="src/arch" }
base32 = { optional=true, path="src/base32" }
base64 = { optional=true, path="src/base64" }
basename = { optional=true, path="src/basename" }
cat = { optional=true, path="src/cat" }
chgrp = { optional=true, path="src/chgrp" }
chmod = { optional=true, path="src/chmod" }
chown = { optional=true, path="src/chown" }
chroot = { optional=true, path="src/chroot" }
cksum = { optional=true, path="src/cksum" }
comm = { optional=true, path="src/comm" }
cp = { optional=true, path="src/cp" }
cut = { optional=true, path="src/cut" }
dircolors= { optional=true, path="src/dircolors" }
dirname = { optional=true, path="src/dirname" }
du = { optional=true, path="src/du" }
echo = { optional=true, path="src/echo" }
env = { optional=true, path="src/env" }
expand = { optional=true, path="src/expand" }
expr = { optional=true, path="src/expr" }
factor = { optional=true, path="src/factor" }
false = { optional=true, path="src/false" }
fmt = { optional=true, path="src/fmt" }
fold = { optional=true, path="src/fold" }
groups = { optional=true, path="src/groups" }
hashsum = { optional=true, path="src/hashsum" }
head = { optional=true, path="src/head" }
hostid = { optional=true, path="src/hostid" }
hostname = { optional=true, path="src/hostname" }
id = { optional=true, path="src/id" }
install = { optional=true, path="src/install" }
kill = { optional=true, path="src/kill" }
link = { optional=true, path="src/link" }
ln = { optional=true, path="src/ln" }
ls = { optional=true, path="src/ls" }
logname = { optional=true, path="src/logname" }
mkdir = { optional=true, path="src/mkdir" }
mkfifo = { optional=true, path="src/mkfifo" }
mknod = { optional=true, path="src/mknod" }
mktemp = { optional=true, path="src/mktemp" }
more = { optional=true, path="src/more" }
mv = { optional=true, path="src/mv" }
nice = { optional=true, path="src/nice" }
nl = { optional=true, path="src/nl" }
nohup = { optional=true, path="src/nohup" }
nproc = { optional=true, path="src/nproc" }
od = { optional=true, path="src/od" }
paste = { optional=true, path="src/paste" }
pathchk = { optional=true, path="src/pathchk" }
pinky = { optional=true, path="src/pinky" }
printenv = { optional=true, path="src/printenv" }
printf = { optional=true, path="src/printf" }
ptx = { optional=true, path="src/ptx" }
pwd = { optional=true, path="src/pwd" }
readlink = { optional=true, path="src/readlink" }
realpath = { optional=true, path="src/realpath" }
relpath = { optional=true, path="src/relpath" }
rm = { optional=true, path="src/rm" }
rmdir = { optional=true, path="src/rmdir" }
seq = { optional=true, path="src/seq" }
shred = { optional=true, path="src/shred" }
shuf = { optional=true, path="src/shuf" }
sleep = { optional=true, path="src/sleep" }
sort = { optional=true, path="src/sort" }
split = { optional=true, path="src/split" }
stat = { optional=true, path="src/stat" }
stdbuf = { optional=true, path="src/stdbuf" }
sum = { optional=true, path="src/sum" }
sync = { optional=true, path="src/sync" }
tac = { optional=true, path="src/tac" }
tail = { optional=true, path="src/tail" }
tee = { optional=true, path="src/tee" }
test = { optional=true, path="src/test" }
timeout = { optional=true, path="src/timeout" }
touch = { optional=true, path="src/touch" }
tr = { optional=true, path="src/tr" }
true = { optional=true, path="src/true" }
truncate = { optional=true, path="src/truncate" }
tsort = { optional=true, path="src/tsort" }
tty = { optional=true, path="src/tty" }
uname = { optional=true, path="src/uname" }
unexpand = { optional=true, path="src/unexpand" }
uniq = { optional=true, path="src/uniq" }
unlink = { optional=true, path="src/unlink" }
uptime = { optional=true, path="src/uptime" }
users = { optional=true, path="src/users" }
wc = { optional=true, path="src/wc" }
who = { optional=true, path="src/who" }
whoami = { optional=true, path="src/whoami" }
yes = { optional=true, path="src/yes" }
[dev-dependencies]
time = "*"
filetime = "*"
libc = "*"
regex="*"
rand="*"
tempdir="*"
unindent="*"
lazy_static = "*"
[[bin]]
name = "uutils"
path = "src/uutils/uutils.rs"
[[test]]
name = "tests"