Giter Site home page Giter Site logo

xexyl / mkiocccentry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ioccc-src/mkiocccentry

0.0 0.0 0.0 8.66 MB

Form an IOCCC entry as a compressed tarball file

License: Other

Shell 6.60% C 74.67% Makefile 3.92% Yacc 0.60% Lex 0.53% Roff 13.66%

mkiocccentry's Introduction

Official IOCCC submission toolkit

NOTE: you may wish to also read our FAQ.

HOW TO HELP TEST THIS REPO

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.

Running the test suite

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.

Static analysis and dynamic analysis

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.

Reviewing the tools

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!

Getting help

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.

The mkiocccentry toolkit

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.

location

The official IOCCC tool to look up ISO 3166 codes and location names to help aid users in finding country codes. With the -s option one can search by substring and with the -a option one can list all codes that match, though the -a option is less useful without -n and is only checked for with at least one arg specified.

This tool was developed in 2023 by:

chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\

with improvements (-a and -s options via new re-entrant functions) by:

@xexyl (Cody Boone Ferguson, https://xexyl.net, https://ioccc.xexyl.net)

For more information and examples, try:

man ./soup/man/man1/location.1

NOTE: After doing a make all, this tool may be found as: ./soup/location.

How do I submit my submission to the IOCCC?

To submit your submission to the IOCCC, follow the FAQ 1.0 - How do I submit my submission to the IOCCC instructions.

mkiocccentry's People

Contributors

xexyl avatar lcn2 avatar sirwumpus avatar ilyakurdyukov avatar vog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.