NOTE: This code is currently under alpha-test.
NOTE: you may wish to also read our FAQ.
IMPORTANT NOTE: we currently are NOT yet ready for this. We will remove this note once we are ready.
We first want to thank each and every person who helps us further test this repo under different platforms.
In order to help you help us, we provide the following information.
Perhaps the most important thing you can do for us is run the bug_report.sh
script with all information like:
make bug_report
This tool will run an exhaustive list of checks on your system, including the entire test suite, writing it to both stdout and a log file. If there are any issues found we encourage you (and thank you!) to post the entire log at the GitHub issues page. Of course if it does not find any issues it does not necessarily mean there are no issues so you're certainly welcome to report other issues and are encouraged to do so.
If the script does not report any issues you may delete the file safely (it will tell you the log file name). Alternatively you can run:
./bug_report -x
which will delete the log file for you if no issues are found.
If it finds a problem please report it at the GitHub issues page, making sure to attach the bug report file it notes prior to exiting.
The FAQ gives a bit more information on this.
If you wish to run static analysis you may wish to see the file test_ioccc/static_analysis.md. For help on running with valgrind you may see the document test_ioccc/dynamic_analysis.md.
For a list of tools that you may wish to look at in more detail, see the below list.
If at any stage you feel like you have an improvement you may open a new issue at the GitHub issues page or you may alternatively offer a fix and open a pull request.
Finally we thank you once again in helping to make the IOCCC toolkit even better in order to improve the IOCCC itself!
If you have a problem with anything in this repo, please see the FAQ for answers to a number of possible problems as well as to see how to report issues.
mkiocccentry
Form an IOCCC submission as an XZ compressed tarball file.
For examples and more information, try:
man ./soup/man/man1/mkiocccentry.1
iocccsize
The official IOCCC submission Rule 2b size tool.
This code is based on code by @SirWumpus (Anthony Howe):
See @SirWumpus's iocccsize repo
For more information and examples, try:
man ./soup/man/man1/iocccsize.1
NOTE: After doing a make all
, this tool may be found as: ./iocccsize
.
txzchk
The official IOCCC tarball validation tool.
It is invoked by mkiocccentry
; txzchk
in turn uses fnamchk
to make sure
that the tarball was correctly named and formed (i.e. the mkiocccentry
tool
was used).
txzchk
verifies that the tarball does not have any feathers stuck in it (i.e.
the tarball conforms to the IOCCC tarball rules). Invoked by mkiocccentry
;
txzchk
in turn uses fnamchk
to make sure that the tarball was correctly named
and formed. In other words txzchk
makes sure that the mkiocccentry
tool was
used and there was no screwing around with the resultant tarball.
txzchk
was written in 2022 by @xexyl (Cody Boone Ferguson). See
https://xexyl.net and
https://ioccc.xexyl.net.
For more information and examples, try:
man ./soup/man/man1/txzchk.1
NOTE: After doing a make all
, this tool may be found as: ./txzchk
.
chkentry
The official IOCCC .info.json
and .auth.json
sanity checker tool.
Invoked by mkiocccentry
after the .info.json
and .auth.json
files have
been created, it will attempt to validate the files. If it does not successfully
validate the files there is a mismatch between what is expected and what is
actually there and mkiocccentry
will fail.
As a stand-alone tool it will report whether the files are validly formed.
This tool was developed in 2022 by:
chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
with improvements made by:
@xexyl (Cody Boone Ferguson, https://xexyl.net, https://ioccc.xexyl.net)
For more information and examples, try:
man ./soup/man/man1/chkentry.1
NOTE: After doing a make all
, this tool may be found as: ./chkentry
.
fnamchk
The official IOCCC XZ compressed tarball filename sanity checker tool.
For more information and examples, try:
man ./test_ioccc/man/man1/fnamchk.1
NOTE: After doing a make all
, this tool may be found as: ./test_ioccc/fnamchk
.
This tool was written in 2022 by:
chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
with improvements for txzchk(1)
and otherwise by:
@xexyl (Cody Boone Ferguson, https://xexyl.net, https://ioccc.xexyl.net)
bug_report.sh
Run a series of tests, collecting system information in the process, to help report bugs and issues. Without any arguments, this tool produces a bug report file of the form:
bug-report.YYYYMMDD.HHMMSS.txt
This bug report file is intended to be uploaded to a mkiocccentry repo related bug report.
This tool was written in 2022 by:
@xexyl (Cody Boone Ferguson, https://xexyl.net, https://ioccc.xexyl.net)
with minor improvements by:
chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
For more information and examples, try:
man ./soup/man/man1/bug_report.1
NOTE: This tool may be found as: ./bug_report.sh
.
To submit your submission to the IOCCC, follow the FAQ 1.0 - How do I submit my submission to the IOCCC instructions.