Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's supposed to pass the coreutils upstream tests. If it does, then that would mean the upstream tests still need work


It... doesn't though: https://uutils.github.io/coreutils/docs/test_coverage.html

Neither this issue, which doesn't appear to be a bug at all but merely an unimplemented feature, nor the fact that uutils doesn't (yet) pass the entire testsuite, seem to me to at all be an indictment of the uutils project, merely a sign that it is incomplete. Which is hardly surprising when I get the impression it's primarily been a hobby project for a bunch of different developers. It does make me wonder about the wisdom of Ubuntu moving to it.


FWIW, the first test in the coreutils test suite covering the `date -r` case was added... 5 hours ago: https://github.com/coreutils/coreutils/blob/master/tests/dat...

I don't know what the code coverage of coreutils' test suite is, but my guess is that it's not spectacular.


This is good, the correct behavior of coreutils is now specified a little bit more thoroughly than it was previously.


If it's not passing the test suite, then why is it even considered for inclusion in a distribution like Ubuntu?

Ubuntu is likely used by 10s of millions of servers and desktops. I'm not sure why this kind of breakage is considered acceptable. Very confusing.


It's a part of Ubuntu 25.10 to get it ready for prime time for Ubuntu 26.04.

Users who need stability should use the LTS releases. The interim releases have always been more experimental, and have always been where Canonical introduces the big changes to ensure everything's mature by the time the LTS comes around.


The problem is that this isn't Canonical's own stance. From https://ubuntu.com/about/release-cycle

> Every six months between LTS versions, Canonical publishes an interim release of Ubuntu, with 25.10 being the latest example. These are production-quality releases and are supported for 9 months, with sufficient time provided for users to update, but these releases do not receive the long-term commitment of LTS releases.


Running production on non-LTS Ubuntu would be insane (unless it was a very short-term deployment on a more modern system).


Maybe the thought is that there will be more pressure now on getting all the tests to pass given the larger install base? It isn't a great way to push out software, but it's certainly a way to provide motivation. I'm personally more interested in whether the ultimate decision will be to leave these as the default coreutils implementation in the next Ubuntu LTS release version (26.04) or if they will switch back (and for what reason).


they have a tendency to try novel/different things, like upstart (init system), mir (desktop compositor (?))

and this is probably a net positive, there's now an early adopter for the project, the testsuite gets improved, and the next Ubuntu LTS will ship more modern tools


100% agree. Why would they adopt it if it doesn't pass the upstream test suite. I assumed that would be required before even considering it!

I was expecting that they would be concerned about bugs in the untested parts!


The test in question was added 5 hours ago..


Wow. Maybe I'm missing something but it seems really weird to replace a tool with a rewrite that doesn't pass the test suite!


The non-passing test was only added like 17 hours ago: https://github.com/coreutils/coreutils/commit/14d24f7a530f58...

So this is a good thing even for coreutils itself, they will slowly find all of these untested bits and specify behaviour more clearly and add tests (hopefully).


I mean, how long did they take to realize that the more(1) they shipped had no equivalent in GNU coreutils at all? Its from util-linux: https://github.com/uutils/coreutils/issues/8975

Doesn't look like people who do their homework


yeah, based on some more digging, it looks like a test case for `date --reference` in GNU coreutils was only added a few hours ago [0] so I assume it was in response to this bug.

but I don't think that should let the uutils authors off the hook - if `--reference` wasn't implemented, that should have been an error rather than silently doing the wrong thing.

after even more Git spelunking, it looks like that problem goes all the way back to the initial "Partial implemantion of date" [1] commit from 2017 - it included support for `--reference` in the argument parsing, including the correct help text, but didn't do anything with it, not even a "TODO: Handle this option" comment like `--set` has.

0: https://github.com/coreutils/coreutils/commit/14d24f7a530f58...

1: https://github.com/uutils/coreutils/commit/41d1dfaf440eabba3...


https://github.com/coreutils/coreutils/commit/14d24f7a5

That bring GNU date(1) line coverage from 79.8% to 87.1%


> then that would mean the upstream tests still need work

More coverage is nice, but the foremost care should be to do the right thing, not have some tests for it. Some cultures do not include testing-first and instead treat tests as a tool for edge cases. Nobody bothered to add a tests, for -r, because the did not thing of that as an edge case, but as a core behaviour.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: