git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: Request for Assist on Limits for Tests

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Jan 8, 2018, 17:44 UTC
Message-ID
<005401d388a8$60f81270$22e83750$@nexbridge.com>
In-Reply-To
<20180107211829.GA5946@genre.crustytoothpaste.net>
On January 7, 2018 4:18 PM, brian m. Carlson wrote:
Show 12 quoted lines
> On Sun, Jan 07, 2018 at 03:57:59PM -0500, Randall S. Becker wrote:
> > I'm looking for a proper (i.e. not sneaky) way to detect the platform
> > I am on during testing so that some tests can be modified/skipped
> > other than using the standard set of dependencies. In particular, the
> > maximum path on current NonStop platforms is 8-bit 2048 bytes. It
> > appears that there are some tests - at least from my preliminary
> > "guessing" - that are beyond that limit once all of the path segments
> > are put together. I would rather have something in git that specifies
> > a path size limit so nothing exceeds it, but that may be wishing.
> 
> The way we usually skip tests automatically is with a test prerequisite.
> You might look at t/test-lib.sh for the test_set_prereq and
test_lazy_prereq
> calls and synthesize one (maybe LONG_PATHS) that meets your needs.  You
> can then annotate those tests with the appropriate prerequisite.
> 
> I expect that for long paths, you will hit a lot of the same issues as
occur on
> Windows, where PATH_MAX may be very small.  It might be valuable to
> expose this information as a build option and then set an appropriate
> variable in t/test-lib.sh.

Where I am, at this point: I have PATH_MAX defined in Makefile as optional and which can be specified as a number in config.mak.uname. If provided, it adds -DPATH_MAX to BASIC_CFLAGS, which will ensure consistency with limits.h (if the values are different, at least c99 warns about it). I've also got it into GIT-BUILD-OPTIONS, if defined. From there it seems straight-forward to use it in test scripts using standard shell scripting, however, I can't find a good model/function for what would be a prerequisite check consistent with existing git test methods - you know, clarity. One approach I have been pursuing is to use test_set_prereq if PATH_MAX is defined, and add a new method like test_missing_prereq_eval that would take PATH_MAX and an expression, like -le 2048, to cause a test to be skipped if the variable is defined but the evaluation fails. I'm still having noodling through trying to make that work, and if anyone has a better idea (please have a better idea!!), please please suggest it.

Cheers, Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.

Previous: brian m. carlson
Message 3 of 3 in “Request for Assist on Limits for Tests”
  1. Randall S. BeckerJan 7, 2018
  2. brian m. carlsonJan 7, 2018
  3. Randall S. BeckerJan 8, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.