-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
datetime test failure: "Undefined TimeZone: America/New_York" #125
Comments
Hmm. That looks like it's not finding the time zone data in its tzdb, and producing a not-great error message. On Mac and Linux, Tablicious uses the system tzdb provided by the OS, not an internal database bundled with the package. What OS and distro is this on? Maybe I'm making a bad assumption about where the tzdb data is stored on some Linux distros, and that's showing up as it not finding the particular tzdb file when it's looking at the wrong path, instead of it noticing the entire tzdb database is not located where expected. |
pkg test
failing for @datetime/datetime.m
Afaict, the tests on octave/packages are run on an Ubuntu based docker image built with the rules from https://github.com/gnu-octave/docker. Fwiw, I'm seeing the following with the tablicious package (currently still version 0.3.7) using the 1st release candidate of Octave 9 on Windows:
Respective part of
Maybe, it is still missing the same dependency? Or a different issue? |
To answer my own question: The test passes after installing the Ubuntu package |
Ah, cool. That'll do it. On Ubuntu, those tzdb files are from package tzdata. On my Ubuntu, they're at the expected
I'm kinda surprised that the Ubuntu Docker image would have been missing the tzdata package in the first place. It's such a basic-seeming package that I would have expected it to be in even a minimal Linux image. But maybe minimal Linux images are really minimal, for use on stuff like embedded systems, or just super-lightweight containers. I (and thus Tablicious) had assumed that tzdata would be present on any Linux system, and thus searches pretty unconditionally. That's not great, as we saw here. A couple things I can do: A) Do more sophisticated checking to see if the tzdb database as a whole is absent, as opposed to a specific timezone file being absent which indicates an invalid timezone identifier, and raise a better error message in that case. That would surely be good. B) On Linux systems that are missing the tzdb db at the system level, Tablicious could fall back to using the bundled tzdb it ships with, like it does on Windows. That would get it to run in oddball locations like this. But I'm not sure if it's a great idea: it would then be using different code paths, and the tzdb it ships with may be stale, so that might lead to slightly different results, affecting test runners like this, and maybe oddball users who lack tzdb. Have to think about this one for a bit before doing it. For option A, I'll put that together. This'll be a learning experience figuring out how to build an Ubuntu VM that doesn't have tzdata for testing it – even the
Guess I should just learn Docker and build off the version of your base image that lacked tzdata in the first place? |
Maybe, the Octave Docker image is really the odd ball out. No idea why it doesn't come with that package pre-installed. Fwiw, I updated to the latest version of tablicious on Windows (using the release candidate Octave 9.0.90). All tests are passing. 🎉
I'd be ok with closing this as invalid if you agree. |
Yeah, let's close this. Seems like quite an unusual case, so not urgent to handle, and the immediate problem is fixed. I'll look at a long-term improvement for this under separate low-priority ticket #128, and close this one out to keep you from getting spammed with comment notifications you don't need to worry about. |
pkg test
is failing for@datetime/datetime.m
with the following error:Not sure what that means.
See the CI tests over at gnu-octave/packages#401
Andrew's notes
Turns out this is what happens when you run on a Linux box that doesn't have tzdb installed (package
tzdata
on Ubuntu). We can at least provide a better error message here.Handling that under separate ticket #128.
The text was updated successfully, but these errors were encountered: