aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/stat
Commit message (Collapse)AuthorAgeFilesLines
* stat: Expand devname test caseDag-Erling Smørgrav2026-05-071-0/+2
| | | | | | | | | Test what happens when we ask for the rdev of a non-device. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56838
* stat: Set the timezone before testing -t flagDag-Erling Smørgrav2026-05-051-2/+2
| | | | | | | | | | The test assumes UTC, which is what I use on my development systems and clearly what is used on our CI runners. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56836
* stat: Drop unused code and conditionalsDag-Erling Smørgrav2026-05-031-70/+11
| | | | | | | | | | | | | | We haven't pulled from upstream in over 15 years, and the codebases have diverged so far it is unlikely that we ever will. * Drop NetBSD and OpenBSD version control information. * Drop support for building on non-BSD / non-POSIX platforms. * Fix a few minor style issues. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56771
* stat: The devname test case requires rootDag-Erling Smørgrav2026-05-021-0/+1
| | | | Fixes: 4d4acdbfc22c ("stat: fix use of devname(3)")
* stat: fix use of devname(3)Kyle Evans2026-05-012-3/+44
| | | | | | | | | | | | | | Besides being a little hard to parse through visually, this had its own bug of inspecting st->st_mode to determine what to pass to devname(3), which is only correct for st_rdev. For st_dev, you're likely to be looking at files or directories and attempting to assess what device they're located on, so the mode is meaningless- we just have to assume that our filesystems are on character devices and attempt to resolve st_dev as such. Reviewed by: des, kib (previous version) Differential Revision: https://reviews.freebsd.org/D56565
* stat: Nits in stat testsDag-Erling Smørgrav2026-04-081-12/+13
| | | | | | | | | | | | | | | | | | | * Use ourselves as test file instead of /COPYRIGHT, which may or may not be present in the test environment. * atf-check understands \n in strings, use it. * Some file systems don't like creating small holes, so create large ones instead. This means we need two variables: ps (page size) is the minimum size of a data region and the alignment for a hole, while hs (hole size) is the minimum size of the holes we create. This makes no difference on FreeBSD but makes it easier to port the test to other platforms. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56304
* stat: Nits in readlink testsDag-Erling Smørgrav2026-04-081-3/+6
| | | | | | | | | | | | | | * The f_flag test may fail if a component of the full path to the temporary directory is a symbolic link. * The n_flag test had an empty head; give it a description. * Use consistent quoting. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D56293
* stat: Add option to list holesDag-Erling Smørgrav2025-09-163-43/+250
| | | | | | | | | Add a new -h option that causes stat to print a list of holes for each file argument. Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52481
* Remove residual blank line at start of MakefileWarner Losh2024-07-152-2/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* stat(1): Fix grammar error in stat.cLO WEN-CHIEN2024-02-131-1/+1
| | | | | Event: Advanced UNIX Programming Course (Fall’23) at NTHU Pull Request: https://github.com/freebsd/freebsd-src/pull/1014
* Remove $FreeBSD$: two-line nroff patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-166-6/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-161-3/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSDWarner Losh2023-05-121-1/+1
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* Update/fix Makefile.depend for userlandSimon J. Gerraty2023-04-191-1/+0
|
* usr.bin/stat: Fix error message formatting.Jamie Landeg-Jones2023-01-291-1/+1
| | | | | PR: bin/261657 MFC after: 3 days
* stat(1): Do not pass S_IFBLK to devname unconditionallyAlexander Naumochkin2023-01-281-8/+3
| | | | | | PR: 269190 Reviewed by: kib MFC after: 1 week
* tests: readlink: fix atf_test_case call [NFC]Kyle Evans2022-03-041-1/+1
| | | | | | | | This was meant to read `basic`, rather than a duplicate of `f_flag`. It is largely irrelevant, though, as atf_test_case mostly just makes sure that the proper functions are defined. Sponsored by: Klara, Inc.
* usr.bin/stat: honour locale for "-t %+"Stefan Eßer2021-10-301-0/+2
| | | | | | | | | | | | | | The man page states that "-t %+" prints time information in the same format as date with no format specifier. This was not the case, the format used was always that of date for the POSIX locale. The fix suggested by the reporter leads to output that matches the documentation. Reported by: Jamie Landeg-Jones <jamie@catflap.org> MFC after: 3 days
* Unbreak the tests after r347002.Edward Tomasz Napierala2019-05-011-0/+2
| | | | | | | | MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=347003
* Add 'Birth' to 'stat -x' output. Current Linux stat(1)Edward Tomasz Napierala2019-05-011-1/+2
| | | | | | | | | | | | also includes that. Reviewed by: cem MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20130 Notes: svn path=/head/; revision=347002
* stat(1): cache id->name resolutionConrad Meyer2018-08-111-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When invoked on a large list of files, it is most common for a small number of uids/gids to own most of the results. Like ls(1), use pwcache(3) to avoid repeatedly looking up the same IDs. Example microbenchmark and non-scientific results: $ time (find /usr/src -type f -print0 | xargs -0 stat >/dev/null) BEFORE: 3.62s user 5.23s system 102% cpu 8.655 total 3.47s user 5.38s system 102% cpu 8.647 total AFTER: 1.23s user 1.81s system 108% cpu 2.810 total 1.43s user 1.54s system 107% cpu 2.754 total Does this microbenchmark have any real-world significance? Until a use case is demonstrated otherwise, I doubt it. Ordinarily I would be resistant to optimizing pointless microbenchmarks in base utilities (e.g., recent totally gratuitous changes to yes(1)). However, the pwcache(3) APIs actually simplify stat(1) logic ever so slightly compared to the raw APIs they wrap, so I think this is at worst harmless. PR: 230491 Reported by: Thomas Hurst <tom AT hur.st> Discussed with: gad@ Notes: svn path=/head/; revision=337600
* various: general adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-1/+3
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended. Notes: svn path=/head/; revision=326276
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-311-1/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* DIRDEPS_BUILD: Connect new directories.Bryan Drewery2017-10-311-0/+11
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325187
* Add HAS_TESTS to all Makefiles that use the SUBDIR.${MK_TESTS}+= tests idiomEnji Cooper2017-08-021-0/+1
| | | | Notes: svn path=/projects/make-check-sandbox/; revision=321911
* :l_flag:: be more aggressive when normalizing whitespaceEnji Cooper2017-07-061-2/+11
| | | | | | | | | | | | | | | Save output from ls -ldT and stat -l, then normalize all repeating whitespace using sed to single column spaces. This makes the test flexible with single-digit days, etc, similar to r320723. This approach is just a bit more of a hammer approach because of how the columns are ordered/spaced in both ls and stat. MFC after: 1 week MFC with: r319841 Notes: svn path=/head/; revision=320724
* Use %e instead of %d with x_output_date(..)Enji Cooper2017-07-061-1/+1
| | | | | | | | | | stat -x doesn't 0-fill days so %d is inappropriate. %e is correct. MFC after: 1 week MFC with: r319841 Notes: svn path=/head/; revision=320723
* Add initial tests for stat(1)Enji Cooper2017-06-122-0/+236
| | | | | | | | | | | | | Testcases for -H, -L, and -f haven't been implemented yet, in part due to additional complexity needed to validate the features: * -H and -f will require an external "helper" program to display/modify the state/permissions for a given path. * -L is being covered partially via the -n testcase today. MFC after: 1 month Notes: svn path=/head/; revision=319841
* stat(1): sort flags in the DESCRIPTION sectionEnji Cooper2017-06-111-4/+4
| | | | | | | | | | -x's description should come after -t's description. MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319836
* Write up some basic tests for readlink(1)Enji Cooper2017-06-114-1/+83
| | | | | | | | | | The tests exercise -f (f_flag), -n (n_flag), and no arguments (basic). MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319834
* Use MIN() instead of MAX() as the previous syntax was wrote in a weird andMarcelo Araujo2016-04-261-1/+1
| | | | | | | | | | confused way: "prec > 9 ? 9 : prec". Submitted by: pfg, ngie and luke <luke.tw@gmail.com> MFC after: 2 weeks. Notes: svn path=/head/; revision=298599
* Use macro MAX() from sys/param.h.Marcelo Araujo2016-04-221-1/+1
| | | | | | | MFC after: 2 weeks. Notes: svn path=/head/; revision=298443
* Add META_MODE support.Simon J. Gerraty2015-06-131-0/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-081-2/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge head from 7/28Simon J. Gerraty2014-08-192-20/+24
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=270164
| * Updated dependenciesSimon J. Gerraty2014-05-161-1/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=266219
| * Updated dependenciesSimon J. Gerraty2014-05-101-0/+2
| | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * Merge from headSimon J. Gerraty2014-05-082-5/+44
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720
| * | Updated dependenciesSimon J. Gerraty2013-03-111-0/+1
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=248169
| * | Updated dependenciesSimon J. Gerraty2013-02-161-2/+0
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868
| * | Sync from headSimon J. Gerraty2012-11-041-2/+2
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=242545
| * | | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.Marcel Moolenaar2012-08-221-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net> Notes: svn path=/projects/bmake/; revision=239572
* | | | use .Mt to mark up email addresses consistently (part3)Baptiste Daroussin2014-06-231-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR: 191174 Submitted by: Franco Fichtner <franco at lastsummer.de> Notes: svn path=/head/; revision=267773
* | | | Minor fixes to previous change introducing switch -H, as per commentsThomas Quinot2014-05-112-16/+22
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | on -arch. Reviewed by: gleb Notes: svn path=/head/; revision=265893
* | | Introduce a new command line switch '-H' for stat(1)Thomas Quinot2014-05-072-5/+44
| |/ |/| | | | | | | | | | | | | | | | | causing arguments to be interpreted as NFS file handles. Reviewed by: -arch (jhb, eadler) MFC after: 1 month Notes: svn path=/head/; revision=265591
* | More -Wmissing-variable-declarations fixes.Ed Schouten2012-10-191-2/+2
|/ | | | | | | | | | | | | | | | | | | In addition to adding `static' where possible: - bin/date: Move `retval' into extern.h to make it visible to date.c. - bin/ed: Move globally used variables into ed.h. - sbin/camcontrol: Move `verbose' into camcontrol.h and fix shadow warnings. - usr.bin/calendar: Remove unneeded variables. - usr.bin/chat: Make `line' local instead of global. - usr.bin/elfdump: Comment out unneeded function. - usr.bin/rlogin: Use _Noreturn instead of __dead2. - usr.bin/tset: Pull `Ospeed' into extern.h. - usr.sbin/mfiutil: Put global variables in mfiutil.h. - usr.sbin/pkg: Remove unused `os_corres'. - usr.sbin/quotaon, usr.sbin/repquota: Remove unused `qfname'. Notes: svn path=/head/; revision=241737
* Remove duplicate -l description.Christian Brueffer2012-04-221-5/+1
| | | | | | | | Submitted by: Rainer Hurling <rhurlin@gwdg.de> MFC after: 1 week Notes: svn path=/head/; revision=234577
* Synthesize the change from NetBSD's 1.33:Doug Barton2011-02-111-1/+5
| | | | | | | | | | "Do not crash if a date cannot be represented (localtime returning NULL), use the Epoch value instead." Obtained from: njoly@NetBSD.org Notes: svn path=/head/; revision=218535
* Bring in the relevant changes from NetBSD's 1.31:Doug Barton2010-12-181-3/+3
| | | | | | | | | | | | "Use strlcpy, not strncpy, when the desired semantics are strlcpy's rather than strncpy's." Note: NetBSD's 1.32 is their adoption of our r216206 Obtained from: dholland@NetBSD.org Notes: svn path=/head/; revision=216512