Skip to content
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

Question: Issues that aren’t really major issues but are still issues #723

Open
xexyl opened this issue Jun 26, 2023 · 285 comments
Open

Question: Issues that aren’t really major issues but are still issues #723

xexyl opened this issue Jun 26, 2023 · 285 comments
Assignees
Labels
question Further information is requested

Comments

@xexyl
Copy link
Contributor

xexyl commented Jun 26, 2023

Due to the fact that we have another issue that has had a number of OT comments I think it might be good to have a new mostly OT thread here rather than clutter the one in the other repo more or the issue for jprint.

I had the thought of suggesting you reopen the other one but there's a comment there I don't want to get lost that I hope you can finish replying to (you were doing it in parts) when things are less busy here. I also wanted to see if anything in particular occurs if one uses the same name (I rather doubt it will but it popped into my head anyway).

Feel free to assign this to me even though it's not technically an issue that has to be resolved.

@xexyl
Copy link
Contributor Author

xexyl commented Jun 26, 2023

As I don't feel up to working on the tool (too tired or something along those liens though I hope to a bit later on today[0]) I do have some OT things to bring up which I'll do in additional comments.

[0] I do have a zoom meeting today and I'll be done working on the repo for the day prior to this, whatever I got done, whether anything beyond the two open pull requests or not.

@xexyl
Copy link
Contributor Author

xexyl commented Jun 26, 2023

Tolkien books

I know I told you about the book that Christopher blessed before his tragic death that you got and started to read (I still haven't had a chance to ... :( ) but I have also brought up some others that I wonder if you've got, books that are delightful.

  • The Adventures of Tom Bombadil. Did you know that the first writing of Tom he was captured by Old Man Willow? He was actually invented in Oxford Magazine I think in 1933 - totally unrelated to the Legendarium (that didn't exist as we know it at the time if at all). But there are other stories and etymologies of things too.
  • The Letters of JRR Tolkien (this one is brilliant: has a lot of insight from him and answering questions about Silmarillion, Hobbit and The Lord of the Rings - amongst many other things totally unrelated to the Legendarium)
  • The Art Of The Lord Of The Rings (by Tolkien). BTW: if you didn't know in the 50th anniversary of LR the leaves of the Book of Mazarbul that he wanted published initially but could not be due to costs and other things was put in the book. It's a one book volume of the three parts (one volume which is what he wanted in the first place as it's not technically a trilogy - he wrote about that in the Letters actually).
  • The Art Of The Hobbit (by Tolkien also)
  • The History of the Hobbit (this is one I did not finish yet ... I always go back to other books by him but I will get to it eventually I hope)
  • You can read the first edition of Hobbit (you know from The Return of the Shadow, HoMe VI, what the significant difference is - which is also talked about in the Letters quite a bit - but you can read it in full): The Hobbit facsimile first edition.
  • JRR Tolkien Artist & Illustrator
  • The Letters of Father Christmas

There are others I know about that are great but that's a nice list if you didn't know about them. I have a book with pull outs of the maps but I can't access it .. they or it (might be one for Hobbit too - don't recall) are behind other books as I have limited space :( (not the only kinds of books that are inaccessible).

Enjoy!

@xexyl
Copy link
Contributor Author

xexyl commented Jun 26, 2023

Here's a fun one I just wrote ...

/* programmer's party simulator */
#include <stdio.h>
#include <unistd.h>
void drink() { drink(); }
void party()
{
    /*
     * get pissed as a fart and do something
     * exciting, I'm sure... (where exciting
     * means stupid)
     */
    drink();
}
/* programmer's social function */
void code() { printf("Go away! I'm programming!\n"); sleep(1); code(); }
int main()
{
    /* skip the party: just go home and write code! */
    goto home;
    party();

    home: code();
}

Not that coding is the same as programming as such ...

@lcn2 lcn2 assigned lcn2 and xexyl Jun 26, 2023
@lcn2 lcn2 added the question Further information is requested label Jun 26, 2023
@xexyl
Copy link
Contributor Author

xexyl commented Jul 16, 2023

So... I discovered an interesting problem with make test but not running the test script in question directly.

Check this:

make test
...
If you are curious, you may examine the newly created compressed tarball
by running the following command:

    /opt/local/libexec/gnubin/tar -Jtvf test_ioccc/test_work/entry.test-1.1689530054.txz

As you entered an IOCCC contest ID of 'test', the compressed tarball
that was just formed CANNOT be used as an IOCCC entry. Please
do NOT email the Judges your entry!

yes: standard output: Broken pipe

It only happens when running make test: from the top level directory but also the test directory. I'm not sure why this is.

The question is do you want me to open an issue with this problem? Of course low priority right now probably but it's kind of annoying and I feel like it shouldn't be there. I'd guess you agree.

UPDATE 0

One way to fix it would be to add a -y option that says 'yes' to everything. That might be useful to some people anyway. Want me to add such a feature ?

@xexyl
Copy link
Contributor Author

xexyl commented Jul 16, 2023

.. and I see another problem with it - display - but probably insignificant given where it is:

Is the above list a correct list of files in your entry? [yn]: 
drwxr-xr-x  0 501    20          0 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/
-rw-r--r--  0 501    20       1856 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/Makefile
-rw-r--r--  0 501    20          4 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/extra2
-rw-r--r--  0 501    20       3085 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/.auth.json
-rw-r--r--  0 501    20       2815 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/foo
-rw-r--r--  0 501    20         61 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/prog.c
-rw-r--r--  0 501    20       7623 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/remarks.md
-rw-r--r--  0 501    20       5235 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/bar
-rw-r--r--  0 501    20       1590 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/.info.json
-rw-r--r--  0 501    20          4 Jul 16 17:54 12345678-1234-4321-abcd-1234567890ab-2/extra1
    https://www.ioccc.org/index.html#news


... the output above is the listing of the compressed tarball.

Notice where the URL is.

I guess that that's just the way the script is and it's not a problem - since it ends up having to not prompt (exactly why we need the yes).

@lcn2
Copy link
Contributor

lcn2 commented Jul 20, 2023

So... I discovered an interesting problem with make test but not running the test script in question directly.

Check this:

make test
...
If you are curious, you may examine the newly created compressed tarball
by running the following command:

    /opt/local/libexec/gnubin/tar -Jtvf test_ioccc/test_work/entry.test-1.1689530054.txz

As you entered an IOCCC contest ID of 'test', the compressed tarball
that was just formed CANNOT be used as an IOCCC entry. Please
do NOT email the Judges your entry!

yes: standard output: Broken pipe

It only happens when running make test: from the top level directory but also the test directory. I'm not sure why this is.

The question is do you want me to open an issue with this problem? Of course low priority right now probably but it's kind of annoying and I feel like it shouldn't be there. I'd guess you agree.

Yes, we agree.

UPDATE 0

One way to fix it would be to add a -y option that says 'yes' to everything. That might be useful to some people anyway. Want me to add such a feature ?

Yes, please.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 20, 2023

So... I discovered an interesting problem with make test but not running the test script in question directly.
Check this:

make test
...
If you are curious, you may examine the newly created compressed tarball
by running the following command:

    /opt/local/libexec/gnubin/tar -Jtvf test_ioccc/test_work/entry.test-1.1689530054.txz

As you entered an IOCCC contest ID of 'test', the compressed tarball
that was just formed CANNOT be used as an IOCCC entry. Please
do NOT email the Judges your entry!

yes: standard output: Broken pipe

It only happens when running make test: from the top level directory but also the test directory. I'm not sure why this is.
The question is do you want me to open an issue with this problem? Of course low priority right now probably but it's kind of annoying and I feel like it shouldn't be there. I'd guess you agree.

Yes, we agree.

UPDATE 0

One way to fix it would be to add a -y option that says 'yes' to everything. That might be useful to some people anyway. Want me to add such a feature ?

Yes, please.

It might as I think solve the problem in the script in which case there might not be a need for an issue being opened. I opened this directly so that I'll see the email - tomorrow. Too tired to do it today I'm afraid and I'm hoping to be leaving (laptop) for the day soon.

... of course it brings up a question of is there a problem with the script that should be isolated? It might or might not have a problem. Not sure. Is it worth trying to determine the cause? I think probably not unless the -y option doesn't solve it.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 21, 2023

So... I discovered an interesting problem with make test but not running the test script in question directly.
Check this:

make test
...
If you are curious, you may examine the newly created compressed tarball
by running the following command:

    /opt/local/libexec/gnubin/tar -Jtvf test_ioccc/test_work/entry.test-1.1689530054.txz

As you entered an IOCCC contest ID of 'test', the compressed tarball
that was just formed CANNOT be used as an IOCCC entry. Please
do NOT email the Judges your entry!

yes: standard output: Broken pipe

It only happens when running make test: from the top level directory but also the test directory. I'm not sure why this is.
The question is do you want me to open an issue with this problem? Of course low priority right now probably but it's kind of annoying and I feel like it shouldn't be there. I'd guess you agree.

Yes, we agree.

UPDATE 0

One way to fix it would be to add a -y option that says 'yes' to everything. That might be useful to some people anyway. Want me to add such a feature ?

Yes, please.

It might as I think solve the problem in the script in which case there might not be a need for an issue being opened. I opened this directly so that I'll see the email - tomorrow. Too tired to do it today I'm afraid and I'm hoping to be leaving (laptop) for the day soon.

... of course it brings up a question of is there a problem with the script that should be isolated? It might or might not have a problem. Not sure. Is it worth trying to determine the cause? I think probably not unless the -y option doesn't solve it.

I am thinking it might be a good idea to make an issue out of this and make it so that it's assigned to me. I am sure this will solve the problem but the other things are higher priority, right? If so do you think I should open an issue so I remember to do it later ?

@lcn2
Copy link
Contributor

lcn2 commented Jul 21, 2023

I am thinking it might be a good idea to make an issue out of this and make it so that it's assigned to me. I am sure this will solve the problem but the other things are higher priority, right? If so do you think I should open an issue so I remember to do it later ?

Go ahead and open an new issue for this. That was it can be noted while other matters are prioritized.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 21, 2023

I am thinking it might be a good idea to make an issue out of this and make it so that it's assigned to me. I am sure this will solve the problem but the other things are higher priority, right? If so do you think I should open an issue so I remember to do it later ?

Go ahead and open an new issue for this. That was it can be noted while other matters are prioritized.

I will do that tomorrow.

I am about to have brownies that were pulled out of the oven about ten minutes ago.

I just needed to take it easy today. I hope that tomorrow is a more productive day.

Have a great night!

@xexyl
Copy link
Contributor Author

xexyl commented Jul 22, 2023

I am thinking it might be a good idea to make an issue out of this and make it so that it's assigned to me. I am sure this will solve the problem but the other things are higher priority, right? If so do you think I should open an issue so I remember to do it later ?

Go ahead and open an new issue for this. That was it can be noted while other matters are prioritized.

I will do that tomorrow.

I am about to have brownies that were pulled out of the oven about ten minutes ago.

I just needed to take it easy today. I hope that tomorrow is a more productive day.

Have a great night!

Fixed it instead. See commit c776f09.

Going to try and rest now though my body is telling me that won't last for long .. but possibly won't work on the other issues for a bit if not a while later. I do hope to work on it a bit today though but we'll see if I'm up to it. Hope you're sleeping well!

@xexyl
Copy link
Contributor Author

xexyl commented Jul 25, 2023

Here's a funny screenshot for you. I first read this years ago. But I only remembered it earlier this year and I got a screenshot then. I would have to find the article again but this is the best part.

image

@xexyl
Copy link
Contributor Author

xexyl commented Jul 26, 2023

Here's a funny screenshot for you. I first read this years ago. But I only remembered it earlier this year and I got a screenshot then. I would have to find the article again but this is the best part.

image

Glad you got a laugh .. I knew you would. Whilst I'm still waking up and downloading (almost downloaded) the macOS update - 13.5? - here's the article for you:

https://www.telegraph.co.uk/news/science/space/11856221/Humans-may-accidentally-send-aliens-a-computer-virus.html

What I find hilarious is that it assumes that aliens have the same technology and use electricity and have same OSes and everything ... which is ridiculous and nonsense. Assuming there are aliens anyway: the real aliens are sadly ourselves. I don't believe in anything else: not until they're proven. And I hope they're not as humans destroy the unknown.

Hope you're sleeping well! Two days in a row I slept in till almost 3 .. not enough for it to be good news but still somewhat encouraging.

@lcn2
Copy link
Contributor

lcn2 commented Jul 26, 2023

We were called away on a calc mission to help folks using FPGAs and DSPs to use a special "FNV-style" hash for the unusual 44-bit size of that hardware.

Being probably one of the few people on the planet who fully understands the number theory behind FNV, they need our support. So was had to create:

fnv_tool.cal

And make a special release of:

calc version 2.14.2.1

We hope to return to creating manifest lists for IOCCC and to updating this repo .. after we undergo and recover from a 3-hour dental procedure tomorrow.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 26, 2023

We were called away on a calc mission to help folks using FPGAs and DSPs to use a special "FNV-style" hash for the unusual 44-bit size of that hardware.

Being probably one of the few people on the planet who fully understands the number theory behind FNV, they need our support. So was had to create:

[...]

No problem ... best wishes.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 26, 2023

Here's a funny and sad story. Someone apparently was bragging - on Facebook of course! - about their brilliance because they have an IQ of 84. She thought it is out of 100.

Of course IQ testing is problematic and misses some critical things but this is still perfect.

@xexyl
Copy link
Contributor Author

xexyl commented Jul 26, 2023

ChatGPT joke (copy pasted) about Bill Gates. It's a variation of an old one that I am sure you have seen before.

--

When Bill Gates arrived at the pearly gates, St. Peter said, "Bill, you've done so much for humanity with Microsoft. I'll give you a choice: you can either go to heaven or take a quick tour of hell first. Then, you can make your decision."

Bill thought for a moment and said, "Let me see hell first."

As he descended into hell, he saw all the suffering and torment. The devil even offered him the latest versions of Windows with constant crashes and bugs. After a quick glimpse, Bill said, "Okay, I've seen enough. Let's go to heaven."

When Bill reached heaven, he was greeted by angels and a beautiful, serene environment. St. Peter said, "So, what's your decision, Bill?"

Bill smiled and replied, "As much as I appreciate what I've done with Microsoft, heaven seems like the more stable option!"

--

I will be getting ready for sleep in about an hour from now but I do hope that I will be able to do more on the readme tomorrow morning.

Best wishes for tomorrow!

@xexyl
Copy link
Contributor Author

xexyl commented Aug 2, 2023

I made an enhancement to location but before I commit I want your view on it and if something should change ...

The idea is that since one might not know the right country name (exact) to find the country code it allows for substrings. Then since it would normally find the first and then print that one and not another it allows for -a to show all matches. It takes a size_t * to keep track of where it left off (if found it is the found location + 1).

Now when using -a it does not use err(1, ...) for not found code because it expects to return NULL on nothing found: it has to eventually find nothing either because the index >= the size of the table or there is nothing.

Instead at the end if nothing is found it exits 1 but without an error.

I think this is a useful enhancement to the tool but I want your views on it before I proceed. I'm going to do other things now. I'll do more tomorrow.

@xexyl
Copy link
Contributor Author

xexyl commented Aug 3, 2023

I made an enhancement to location but before I commit I want your view on it and if something should change ...

The idea is that since one might not know the right country name (exact) to find the country code it allows for substrings. Then since it would normally find the first and then print that one and not another it allows for -a to show all matches. It takes a size_t * to keep track of where it left off (if found it is the found location + 1).

Now when using -a it does not use err(1, ...) for not found code because it expects to return NULL on nothing found: it has to eventually find nothing either because the index >= the size of the table or there is nothing.

Instead at the end if nothing is found it exits 1 but without an error.

I think this is a useful enhancement to the tool but I want your views on it before I proceed. I'm going to do other things now. I'll do more tomorrow.

I've made some slight improvements of this ... will look at doing a commit later.

Maybe. I've been awake since far too early and I have a feeling today is going to be a long and difficult day. I hope to address the comments in the other issue but I'm not sure how much I'll manage. I'm going to try and rest again but I do have a bad feeling about today. So in case I am not very responsive today this is why and I'm sorry in advance! Hope you're sleeping well though.

@xexyl
Copy link
Contributor Author

xexyl commented Aug 3, 2023

With commit 6f5cdb3 the location tool has been improved a fair bit! At first it modified the lookup functions but I decided for the cleaner approach of making re-entrant versions.

The tool is now more useful for general use. The CHANGES.md and the git log and man page (with some examples added) should give you enough information on the new features and how it all works but otherwise there's always RTFS :-) :-)

I do think this should be added to the general how to submit an entry faq but that can come later .. or maybe sometime soon. I think it would be wise if I added to a tmp/ directory a TODO file so that these things don't have to be made part of other issues that are unrelated: anything I find can be added to the temp todo file and then you need not worry about it. I'll still mention items related to specific issues though.

And I see you saw my reply earlier: sorry you were awake at the time. I'll be going afk soon I think but after that I'm not sure if I'll end up doing anything else here. Oh I think I can try and reply to the comment about json levels but it might not be anything beyond that.

Anyway the location tool is now more useful and I think you'll be happy with how it was implemented.

@xexyl
Copy link
Contributor Author

xexyl commented Aug 4, 2023

Just a fun link for you. I unfortunately am not feeling very well today so I am not sure when I will get to the other thread but I hope to do that later today. Anyway.

Lava and Smoke Blanket Fagradalsfjall: https://earthobservatory.nasa.gov/images/151653/lava-and-smoke-blanket-fagradalsfjall

@lcn2
Copy link
Contributor

lcn2 commented Aug 5, 2023

See commit 06ce951 for an update relating to a cleanup of .gitignore files.

In particular:

Added dbg/.gitignore, dyn_array/.gitignore, and jparse/.gitignore
as these are the main directories of trees that are "cloned" from
other GitHub repos. Those other GitHub repos need their own main
directory ".gitignore" file and so we add these new files in
anticipation that they will use them.

Entries that belong to dbg/.gitignore, dyn_array/.gitignore,
and jparse/.gitignore were removed from the top level .gitignore
file.

We removed many of the "generic exclusion lines" from the top level
.gitignore file. A "generic exclusion line" refers to an exclusion
that is anywhere in the tree. Normally "generic exclusion lines"
are the business of a given user's own "~/.gitignore" file.

We did leave behind 5 "generic exclusion lines" in the above
mentioned .gitignore files:

*.[ao]
*.dSYM/
*~
.*.swp
.DS_Store

It can be argued that even these files do not belong in a GitHub
.gitignore files. We kept these 5 around as a compromise and
to assist users who do not have a well setup "~/.gitignore" file.

We made all of the non-generic exclusion lines "/-path" based.

A number old entries in the .gitignore file that have no effect
were removed. It is possible that we removed something that is
still needed for certain more obscure cases. If that is true, then
a later update to a .gitignore file can correct such a mistake.

@lcn2
Copy link
Contributor

lcn2 commented Aug 5, 2023

It is a good idea to sometimes check the result of:

make clobber
git status --ignored

as well as:

make release
git status --ignored

@lcn2
Copy link
Contributor

lcn2 commented Aug 5, 2023

With commit 59eebbc dbg version 3.0 2023-08-05 is ready for final review and testing.

    release dbg version 3.0 2023-08-05

    The dbg version was changed from "2.10 2023-08-01" to "3.0 2023-08-05"
    because the function `parse_verbosity()` was added to the interface.

    The `parse_verbosity()` was simplified to only take a "optarg" string.
    It longer exits and thus does NOT need to know the name of the
    calling program (or function).

    A new DBG symbol, DBG_INVALID, is returned by `parse_verbosity()`
    if an error is detected.

    The return from `parse_verbosity()` should checked for values < 0
    by the calling function.

    Updated the `dbg(1)` man page according to the above.

With commit 32b2a74 dyn_test version 1.10 2023-08-05 ready for final review and testing.

    Changed DYN_TEST_VERSION from "1.9 2023-02-04" to "1.10 2023-08-05".

    Changes to dyn_test are in responce to release dbg version 3.0
    2023-08-05.  The dbg version was changed from "2.10 2023-08-01" to
    "3.0 2023-08-05" because the function `parse_verbosity()` was added
    to the interface.

    The `dyn_test` uses an static internal copy of `parse_verbosity()`,
    unless it is compiled with DBG_USE defined, in which case the
    `parse_verbosity()` function is taken from `dbg.a`.  By default,
    `dyn_test` is made with DBG_USE defined and thus by default `dyn_test`
    uses the `parse_verbosity()` function from `dbg.a`.

    Only the test code was impacted.  The `dyn_array.a` library
    does not use `parse_verbosity()`.

With commit f602c74 updates per new parse_verbosity() interface from dbg.a were made.

As changing the "dbg" interface is something that should not be done lightly, we plan to hold off on pushing both "dbg version 3.0 2023-08-05" and "dyn_test version 1.10 2023-08-05" until after a complete review of the changes have been made. The same goes for the "dyn_alloc" interface.

If you, @xexyl, find any nits with the above commits, please change dbg/ and dyn_array/ (as well as related source elsewhere in this repo) instead of committing those changes directly to the dbg repo and the dyn_arrray repo.

We plan to reject the existing pull requests in those repos in favor of the above commits as well as any additional correction commits that may be needed under the dbg/ and dyn_array/ sub-directories. Instead, and once we are satiated with the current state of the dbg/ and dyn_array/ sub-directories, we will make a single pull request under the dbg repo and the dyn_arrray repo.

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

The all_sem_ref_ptch have been worked around and/or fixed. We plan to address this better in the future.

We are now down to just these types of errors:

test_ioccc/txzchk_test.sh -t /usr/bin/tar -T ./txzchk -F ./test_ioccc/fnamchk -d test_ioccc/test_txzchk -Z /Users/chongo/bench/ioccc/mkiocccentry
test_ioccc/txzchk_test.sh: Warning: in run_test: FAIL: ./txzchk -w -v 0 -t /usr/bin/tar -F ./test_ioccc/fnamchk -T -E txt ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt
test_ioccc/txzchk_test.sh: Warning: in run_test: expected errors: ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt.err do not match result of test: .txzchk_test.stderr.ygYDvfo3ar
test_ioccc/txzchk_test.sh: Warning: for more details try: ./txzchk -w -v 3 -t /usr/bin/tar -F ./test_ioccc/fnamchk -T -E txt -- ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt

But these errors are just test suite errors.

The "expected errors" errors no longer matches the true set of errors.

UPDATE 0

We have see this sort of test_ioccc/txzchk_test.sh problems before.

Isn't there some way one can update test result comparison files such as ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt.err ?

Also the file jparse/test_jparse/pr_jparse_test is left behind after test are run.

UPDATE 1

Because we do not (yet) understand what test_ioccc/txzchk_test.sh is doing (we will admit that), we have patched test_ioccc/txzchk_test.sh to disable the error:

diff --git a/test_ioccc/txzchk_test.sh b/test_ioccc/txzchk_test.sh
index fed2f76c..dc5702e6 100755
--- a/test_ioccc/txzchk_test.sh
+++ b/test_ioccc/txzchk_test.sh
@@ -32,7 +32,6 @@
 #      tool. :-)
 #

-
 # setup

 # attempt to fetch system specific path to the tools we need
@@ -487,13 +486,18 @@ run_test()
        if ! cmp -s "$txzchk_err_file" "$TMP_STDERR_FILE"; then
            echo "$0: Warning: in run_test: FAIL: $TXZCHK -w -v 0 -t $TAR -F $FNAMCHK -T -E txt $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            echo "$0: Warning: in run_test: expected errors: $txzchk_err_file do not match result of test: $TMP_STDERR_FILE" 1>&2
+           if [[ $V_FLAG -ge 1 ]]; then
+               echo "$0: Warning: diff -u $txzchk_err_file $TMP_STDERR_FILE starts below" 1>&2
+               diff -u "$txzchk_err_file" "$TMP_STDERR_FILE" 1>&2
+               echo "$0: Warning: diff -u $txzchk_err_file $TMP_STDERR_FILE ends above" 1>&2
+           fi
            if [[ $V_FLAG -lt 3 ]]; then
                echo "$0: Warning: for more details try: $TXZCHK -w -v 3 -t $TAR -F $FNAMCHK -T -E txt -- $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            else
                echo "$0: Warning: for more details try: $TXZCHK -w -v $V_FLAG -t $TAR -F $FNAMCHK -T -E txt -- $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            fi
            echo | tee -a -- "${LOGFILE}" 1>&2
-           EXIT_CODE=1
+           # EXIT_CODE=1 # XXX - disable this error until there is a better way to address errors thrown by this code - XXX #
        fi
     # Otherwise if there was output written to stderr it indicates that one or
     # more unexpected errors have occurred. This won't be because of a new test

The diff shows stuff that doesn't seem correct this part of the test suite.

UPDATE 2

With commit b8dfb9e we remove location_name from .auth.entry HOWEVER ...

... as noted above we disabled errors from test_ioccc/txzchk_test.sh.

For now make release works. :-) :-(

UPDATE 3

With commit d79295c the test_ioccc/txzchk_test.sh errors are back. Well there were there along, but now they cause make test to fail.

UPDATE 4

OK, this fixed the test_ioccc/txzchk_test.sh errors:

for i in ./test_ioccc/test_txzchk/bad/*.txt; do ./txzchk -q -v 0 -w -T -E txt -F ./test_ioccc/fnamchk "$i" 2>"$i.err" ; done

With commit 4e299b2 the test_ioccc/txzchk_test.sh errors were forced to be considered valid.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

The all_sem_ref_ptch have been worked around and/or fixed. We plan to address this better in the future.

We are now down to just these types of errors:

test_ioccc/txzchk_test.sh -t /usr/bin/tar -T ./txzchk -F ./test_ioccc/fnamchk -d test_ioccc/test_txzchk -Z /Users/chongo/bench/ioccc/mkiocccentry
test_ioccc/txzchk_test.sh: Warning: in run_test: FAIL: ./txzchk -w -v 0 -t /usr/bin/tar -F ./test_ioccc/fnamchk -T -E txt ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt
test_ioccc/txzchk_test.sh: Warning: in run_test: expected errors: ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt.err do not match result of test: .txzchk_test.stderr.ygYDvfo3ar
test_ioccc/txzchk_test.sh: Warning: for more details try: ./txzchk -w -v 3 -t /usr/bin/tar -F ./test_ioccc/fnamchk -T -E txt -- ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt

But these errors are just test suite errors.

The "expected errors" errors no longer matches the true set of errors.

UPDATE 0

We have see this sort of test_ioccc/txzchk_test.sh problems before.

Isn't there some way one can update test result comparison files such as ./test_ioccc/test_txzchk/bad/entry.12345678-1234-4321-abcd-1234567890ab-2.1924343546.txt.err ?

Also the file jparse/test_jparse/pr_jparse_test is left behind after test are run.

UPDATE 1

Because we do not (yet) understand what test_ioccc/txzchk_test.sh is doing (we will admit that), we have patched test_ioccc/txzchk_test.sh to disable the error:

diff --git a/test_ioccc/txzchk_test.sh b/test_ioccc/txzchk_test.sh
index fed2f76c..dc5702e6 100755
--- a/test_ioccc/txzchk_test.sh
+++ b/test_ioccc/txzchk_test.sh
@@ -32,7 +32,6 @@
 #      tool. :-)
 #

-
 # setup

 # attempt to fetch system specific path to the tools we need
@@ -487,13 +486,18 @@ run_test()
        if ! cmp -s "$txzchk_err_file" "$TMP_STDERR_FILE"; then
            echo "$0: Warning: in run_test: FAIL: $TXZCHK -w -v 0 -t $TAR -F $FNAMCHK -T -E txt $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            echo "$0: Warning: in run_test: expected errors: $txzchk_err_file do not match result of test: $TMP_STDERR_FILE" 1>&2
+           if [[ $V_FLAG -ge 1 ]]; then
+               echo "$0: Warning: diff -u $txzchk_err_file $TMP_STDERR_FILE starts below" 1>&2
+               diff -u "$txzchk_err_file" "$TMP_STDERR_FILE" 1>&2
+               echo "$0: Warning: diff -u $txzchk_err_file $TMP_STDERR_FILE ends above" 1>&2
+           fi
            if [[ $V_FLAG -lt 3 ]]; then
                echo "$0: Warning: for more details try: $TXZCHK -w -v 3 -t $TAR -F $FNAMCHK -T -E txt -- $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            else
                echo "$0: Warning: for more details try: $TXZCHK -w -v $V_FLAG -t $TAR -F $FNAMCHK -T -E txt -- $txzchk_test_file" | tee -a -- "$LOGFILE" 1>&2
            fi
            echo | tee -a -- "${LOGFILE}" 1>&2
-           EXIT_CODE=1
+           # EXIT_CODE=1 # XXX - disable this error until there is a better way to address errors thrown by this code - XXX #
        fi
     # Otherwise if there was output written to stderr it indicates that one or
     # more unexpected errors have occurred. This won't be because of a new test

The diff shows stuff that doesn't seem correct this part of the test suite.

UPDATE 2

With commit b8dfb9e we remove location_name from .auth.entry HOWEVER ...

... as noted above we disabled errors from test_ioccc/txzchk_test.sh.

For now make release works. :-) :-(

UPDATE 3

With commit d79295c the test_ioccc/txzchk_test.sh errors are back. Well there were there along, but now they cause make test to fail.

Please, @xexyl help with these items:

Fix test_ioccc/txzchk_test.sh errors.

Come up with a way that test_ioccc/txzchk_test.sh report errors can be looked at, and if there is simply new expected results, come up with an easier way to update the test suite for test_ioccc/txzchk_test.sh accordingly.

Oh it's simple. I gave you a command but I can put it as a Makefile rule to automate it. Would that work? But if so would you mind restoring the script to what it was before?

UPDATE 0

In any case if that works I'll do it tomorrow morning. Bedtime soon. Going to read for a short bit and then sleep.

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

With commit e2dbd50 we added a hard to type rule that can force expectations.

Please review this change and edit it if needed.

We will now go back to the other repo and now complete the results of recent location(1) changes that we have made here.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

With commit e2dbd50 we added a hard to type rule that can force expectations.

Please review this change and edit it if needed.

We will now go back to the other repo and now complete the results of recent location(1) changes that we have made here.

Is the script restored to its previous state?

As for the rule: the only thing that has to be done after it, of course, is to git add them and then commit them. If the Makefile should do this then I'm not sure in what way: certainly it can't do the commit as that involves things that require manual work. But perhaps it could have a message (an echo) after it's done saying what to do? What would you like me to do?

Just let me know. And please let me know if the script was restored. I could maybe check to try and verify it but I want to make sure I don't miss anything.

Thanks. Going to bed now.

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

With commit e2dbd50 we added a hard to type rule that can force expectations.
Please review this change and edit it if needed.
We will now go back to the other repo and now complete the results of recent location(1) changes that we have made here.

Is the script restored to its previous state?

Yes.

As for the rule: the only thing that has to be done after it, of course, is to git add them and then commit them. If the Makefile should do this then I'm not sure in what way: certainly it can't do the commit as that involves things that require manual work. But perhaps it could have a message (an echo) after it's done saying what to do? What would you like me to do?

It should just echo a message reminding some to update commit the update.

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

We tried to make jparse.update_into_clone but jparse repo has been cleaned out of most content.

UDPATE 0

We will let you update your jparse repo if you want.

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

Be sure to make install so that you have the current version of the location(1) tool in your path when you do make www in the other repo.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

With commit e2dbd50 we added a hard to type rule that can force expectations.

Please review this change and edit it if needed.

We will now go back to the other repo and now complete the results of recent location(1) changes that we have made here.

Is the script restored to its previous state?

Yes.

As for the rule: the only thing that has to be done after it, of course, is to git add them and then commit them. If the Makefile should do this then I'm not sure in what way: certainly it can't do the commit as that involves things that require manual work. But perhaps it could have a message (an echo) after it's done saying what to do? What would you like me to do?

It should just echo a message reminding some to update commit the update.

I did it differently. The script has an option that allows to update the files but only after asking the user if they are positive. It also requires the answer YES in all caps. After that it will tell them what to do next. The very next step of course is to run the script normally.

There's an argument against having the script do it but this way it's all controlled by the script and of course the files exist for the script. It also allows for making the user pause to think about it to make sure they want to do it which the previous way did not do.

Previously I didn't have the script do it because it does need manual inspection but this now takes care of it and at the same time doesn't make it hard. A simple command and answering YES does it now. At least for the rebuilding the files part.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

We tried to make jparse.update_into_clone but jparse repo has been cleaned out of most content.

UDPATE 0

We will let you update your jparse repo if you want.

I thought we didn't want it populated until the three tools that we have postponed (to work on the other repo) are completed and tested.

But maybe I misunderstand what you're saying? Please clarify. Thanks.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

Be sure to make install so that you have the current version of the location(1) tool in your path when you do make www in the other repo.

Thanks for the reminder. Done already.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

As far as what that feature of the test script did: it was to make sure that the errors reported are actually correct. A sanity check you might say. Because there can be many different errors reported but are the CORRECT errors detected? That is the purpose of the err files.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

I believe that I have replied to everything but I am unsure what I need to do with the author handle terminology. Am I correct in saying that I just have to update the comments and the description in the string (sent to the users)? If there's more that you need me to do please let me know.

I will then probably be able to do that tomorrow. Thanks.

Off to do other things. Have a great day!

@lcn2
Copy link
Contributor

lcn2 commented Mar 5, 2024

We tried to make jparse.update_into_clone but jparse repo has been cleaned out of most content.

UDPATE 0

We will let you update your jparse repo if you want.

I thought we didn't want it populated until the three tools that we have postponed (to work on the other repo) are completed and tested.

You are correct .. we forgot that point.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 5, 2024

We tried to make jparse.update_into_clone but jparse repo has been cleaned out of most content.

UDPATE 0

We will let you update your jparse repo if you want.

I thought we didn't want it populated until the three tools that we have postponed (to work on the other repo) are completed and tested.

You are correct .. we forgot that point.

Thanks for confirming. Well I have other things to do now. I'll reply to other things either later today or else tomorrow morning.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 6, 2024

Okay I was going to update the comments and strings for the author_handle but I noticed something that complicate matters. The idea originally was it would allow only lower case characters. Okay but I see in the function test_author_handle() it uses:

    /* IOCCC author handle must use only lower case POSIX portable filename and + chars */
    test = posix_plus_safe(str, false, false, true);

Now what are those booleans?

 * given:
 *      str             - string to test
 *      lower_only      - true ==> only lower case characters are allowed
 *                      - false ==> both UPPER and lower case characters are allowed
 *      slash_ok        - true ==> / is allowed as str can be a path
 *                        false ==> / is NOT allowed, str is a basename only
 *      first           - true ==> str is at beginning, perform first char check
 *                        false ==> str may be in the middle, skip first char check
 *

.. so it seems like we can impose a lower case limit if we want. However now I think on it .. was the problem that the other repo does not have that limitation? Should I then change the comments and strings to have the regexp (to make it easy):

^[0-9A-Za-z][0-9A-Za-z._+-]*$*

I'm not sure what to do and given how tired I am right now I don't trust my judgement either. What do you need it to say? Thanks. Will probably not finish it until tomorrow but we'll see.

@lcn2
Copy link
Contributor

lcn2 commented Mar 6, 2024

Okay I was going to update the comments and strings for the author_handle but I noticed something that complicate matters. The idea originally was it would allow only lower case characters. Okay but I see in the function test_author_handle() it uses:

    /* IOCCC author handle must use only lower case POSIX portable filename and + chars */
    test = posix_plus_safe(str, false, false, true);

Now what are those booleans?

 * given:
 *      str             - string to test
 *      lower_only      - true ==> only lower case characters are allowed
 *                      - false ==> both UPPER and lower case characters are allowed
 *      slash_ok        - true ==> / is allowed as str can be a path
 *                        false ==> / is NOT allowed, str is a basename only
 *      first           - true ==> str is at beginning, perform first char check
 *                        false ==> str may be in the middle, skip first char check
 *

.. so it seems like we can impose a lower case limit if we want. However now I think on it .. was the problem that the other repo does not have that limitation? Should I then change the comments and strings to have the regexp (to make it easy):

^[0-9A-Za-z][0-9A-Za-z._+-]*$*

If by that you mean changing something on that other repo to match the above regexp, and perform whatever changes in that other repo that might be needed as a result, then sure.

In this repo, the comments for posix_plus_safe() indicate:

 * If slash_ok is false:
...
 *      If first is true:
...
 *         If lower_only is false, then the string must match:
 *
 *              ^[0-9A-Za-z][0-9A-Za-z._+-]*$

which is what we want for posix_plus_safe(str, false, false, true).

@xexyl
Copy link
Contributor Author

xexyl commented Mar 6, 2024

Okay I was going to update the comments and strings for the author_handle but I noticed something that complicate matters. The idea originally was it would allow only lower case characters. Okay but I see in the function test_author_handle() it uses:

/* IOCCC author handle must use only lower case POSIX portable filename and + chars */
test = posix_plus_safe(str, false, false, true);

Now what are those booleans?

  • given:
  •  str             - string to test
    
  •  lower_only      - true ==> only lower case characters are allowed
    
  •                  - false ==> both UPPER and lower case characters are allowed
    
  •  slash_ok        - true ==> / is allowed as str can be a path
    
  •                    false ==> / is NOT allowed, str is a basename only
    
  •  first           - true ==> str is at beginning, perform first char check
    
  •                    false ==> str may be in the middle, skip first char check
    

.. so it seems like we can impose a lower case limit if we want. However now I think on it .. was the problem that the other repo does not have that limitation? Should I then change the comments and strings to have the regexp (to make it easy):

^[0-9A-Za-z][0-9A-Za-z._+-]$

If by that you mean changing something on that other repo to match the above regexp, and perform whatever changes in that other repo that might be needed as a result, then sure.

In this repo, the comments for posix_plus_safe() indicate:

 * If slash_ok is false:

...

 *      If first is true:

...

 *         If lower_only is false, then the string must match:

 *

 *              ^[0-9A-Za-z][0-9A-Za-z._+-]*$

which is what we want for posix_plus_safe(str, false, false, true).

I thought we only wanted lower case?

@xexyl
Copy link
Contributor Author

xexyl commented Mar 6, 2024

Will reply to the rest another time if there's more to reply to.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 6, 2024

Oh. I see. For this repo. Okay. Then I guess I should update the comments and strings in the other repo?

@lcn2
Copy link
Contributor

lcn2 commented Mar 6, 2024

I thought we only wanted lower case?

If you look in thr other repo at files such as author/Cody_Boone_Ferguson.json we have definitely gone for mixed case.

@lcn2
Copy link
Contributor

lcn2 commented Mar 6, 2024

Oh. I see. For this repo. Okay. Then I guess I should update the comments and strings in the other repo?

Yes.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 7, 2024

I thought we only wanted lower case?

If you look in thr other repo at files such as author/Cody_Boone_Ferguson.json we have definitely gone for mixed case.

True .. I remember.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 7, 2024

Oh. I see. For this repo. Okay. Then I guess I should update the comments and strings in the other repo?

Yes.

Running make prep and if all is good I'll open a pull request.

@xexyl
Copy link
Contributor Author

xexyl commented Mar 7, 2024

Oh. I see. For this repo. Okay. Then I guess I should update the comments and strings in the other repo?

Yes.

Running make prep and if all is good I'll open a pull request.

All good .. pull request incoming. I also noticed a typo in the regexp above .. not sure if that was your doing or mine but it had a * after the $. That has been fixed in comments/strings that were by accident added (yesterday).

@xexyl
Copy link
Contributor Author

xexyl commented Mar 7, 2024

Oh. I see. For this repo. Okay. Then I guess I should update the comments and strings in the other repo?

Yes.

Running make prep and if all is good I'll open a pull request.

All good .. pull request incoming. I also noticed a typo in the regexp above .. not sure if that was your doing or mine but it had a * after the $. That has been fixed in comments/strings that were by accident added (yesterday).

See commit dd9c10c for the fixes.

@lcn2
Copy link
Contributor

lcn2 commented May 19, 2024

With commit 69b0fc9 and e613245 we have finished some needed cleanup of the mkiocccentry repo.

NOTE: the INFO_VERSION, AUTH_VERSION, and MIN_TIMESTAMP changed due to the removal of the formed_UTC JSON member from .auth.json and .info.json. Other tool versions changed accordingly. Nearly all test files changed so that the resulting make prep works.

TODO: Test Release 1.0.64 2024-05-18. Modify/fix as/if needed. Then once all is well, git tag the repo as version 1.1 and call it a new latest release.

UPDATE 0

When CHANGES.md is updated with a new release, don't forget to modify MKIOCCCENTRY_REPO_VERSION in soup/version.h accordingly.

UPDATE 1

We plan to re-release the current code base as version 1.1, replacing the very old version 1.0 as the latest release, @xexyl, unless we find something today that needs fixing.

@xexyl
Copy link
Contributor Author

xexyl commented May 19, 2024

With commit 69b0fc9 and e613245 we have finished some needed cleanup of the mkiocccentry repo.

NOTE: the INFO_VERSION, AUTH_VERSION, and MIN_TIMESTAMP changed due to the removal of the formed_UTC JSON member from .auth.json and .info.json. Other tool versions changed accordingly. Nearly all test files changed so that the resulting make prep works.

TODO: Test Release 1.0.64 2024-05-18. Modify/fix as/if needed. Then once all is well, git tag the repo as version 1.1 and call it a new latest release.

UPDATE 0

When CHANGES.md is updated with a new release, don't forget to modify MKIOCCCENTRY_REPO_VERSION in soup/version.h accordingly.

UPDATE 1

We plan to re-release the current code base as version 1.1, replacing the very old version 1.0 as the latest release, @xexyl, unless we find something today that needs fixing.

Thanks for the update! I will be sure to pull the changes and install the new versions.

@lcn2
Copy link
Contributor

lcn2 commented May 20, 2024

With commit 30979b0 we have published mkiocccentry 1.1 2024-05-19.

@xexyl
Copy link
Contributor Author

xexyl commented May 21, 2024

With commit 30979b0 we have published mkiocccentry 1.1 2024-05-19.

Thanks for the update (though maybe I already pulled)!

@lcn2
Copy link
Contributor

lcn2 commented May 24, 2024

We believe we have addressed all of the current questions that still need answering at this time. If we've missed something or something else needs to be clarified, please ask again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants