diff --git a/2020/ferguson2/.entry.json b/2020/ferguson2/.entry.json index fb907aa29..1193f4b02 100644 --- a/2020/ferguson2/.entry.json +++ b/2020/ferguson2/.entry.json @@ -89,6 +89,14 @@ "display_via_github" : false, "entry_text" : "Enigma configurator documentation" }, + { + "file_path" : "testing-procedure.html", + "inventory_order" : 100, + "OK_to_edit" : false, + "display_as" : "html", + "display_via_github" : false, + "entry_text" : "details about the author's testing procedure" + }, { "file_path" : "try.alt.sh", "inventory_order" : 100, @@ -201,6 +209,14 @@ "display_via_github" : true, "entry_text" : "markdown source for recode.html" }, + { + "file_path" : "testing-procedure.md", + "inventory_order" : 4000000000, + "OK_to_edit" : true, + "display_as" : "markdown", + "display_via_github" : true, + "entry_text" : "markdown source for testing-procedure.html" + }, { "file_path" : "index.html", "inventory_order" : 4294967295, diff --git a/2020/ferguson2/README.md b/2020/ferguson2/README.md index 3981b59b5..2708bc628 100644 --- a/2020/ferguson2/README.md +++ b/2020/ferguson2/README.md @@ -1,4 +1,4 @@ -%%REPO_URL%%/## To build: +## To build: ``` make @@ -122,8 +122,12 @@ There is a good deal of useful documentation that is provided with this entry: * [enigma.html][] - NOTE: see [recode.html][] (or [recode.html](recode.html) for details about how to decrypt this! +* [testing-procedure][] + - How the author tested the code and why it was necessary to do it in the way it was [recode.html]: recode.html +[enigma.html]: enigma.html +[testing-procedure]: testing-procedure.html ## Author's remarks: @@ -840,6 +844,13 @@ don't think there need be any addition to the recode program - at least not that. +### Testing procedure + +There was a need for a testing procedure as a single character difference will +change the rest of the text. If you wish to see how I went about this see +[testing-procedure.html](testing-procedure.html). + + [1992 Worst Abuse of the Rules]: ../../1992/nathan/index.html [1998 ASCII / Morse code translator]: ../../1998/dorssel/index.html [2014 Morse audio transcoder]: ../../2014/vik/index.html diff --git a/2020/ferguson2/enigma.html b/2020/ferguson2/enigma.html index dbcd5eaf6..9473e77e5 100644 --- a/2020/ferguson2/enigma.html +++ b/2020/ferguson2/enigma.html @@ -3,42 +3,51 @@ -Ykg ne ldmu vqzcueaih nea uwm okos nogn nb yxcy vh bvq - - - +Ukhswi'r Hcjeqc-kfrtfwl Fiksmxgai Zmqep Viwv + + + +zlls +{ + nyhjenbyiu-zxfpn: kbbid; bkjno: pzwzh; +} +t, d:imjfhmc, g:jysow +{ + ectuq: kmnx; + wehl-bxwsoo: wehj; +} + + + +Hgpfku'r Fsqixk-aufixcs Jaelpszwj Ldmrb Szxg: + + 'Ehsklzml, qfkdxskb!' Lehizz mhjidb. 'Ygveuik ddasrj pa xifjxw, mrf. F gxsk + dwriofc! Gaéikng swypea qdww m gwnicu Fcafvv-hwttbnp Hytxxobcc Vrnhv Netn + ugbctw diow gyeirl rtfg jtmgj. Uqldn li ta, lepohxl rs wc, kjw vnvknxd; drj + ts rvuwiqxmh ocbl dru sy dohnkr h auakzr tcyeej, tsk ufon cou zimit, + zkmga. Qswe heuw obvaeqt, Q xvq lk icoplqmt, jhuz jwgj. + 'U'x jihum, ita aaa kbpvmmzj wr dqr jw ff kbwva. Dto A pyyvacy'v dryb + jsbc uxdkxdge, oya vorj btzk wu i xxn otefd. Nph Rpj. Kkkymavi, bix'v oepg + snmrj, K bvykp svq vh vzwu y bowd; cdk ogno krby'p lqo fo pa. Eebun. Jjj + rskiu whwt fsa isov op? + 'Kuqnysur,' myar Xwuopy, vwr ezi amxcw pddps eft yrm tfmjq wdb asry. + - - - - - 'Rtqiwnqq, zxzpppih!' Krkqpl vnlwdi. 'Xvzemkv ihoqnv yl tcmthw, wve. G bzsj - ddogwwf! Ayécwfe ilhikp syxq d rkwnbx ozvwil-tqnhzgn ynvtfmlpm ezvjm digs - ajfyng cgcp zikmzu chyx yrsof. Njhpk ls vu, wqfgjoe qp mn, jta zgmlgkw; kqe - kj flaghcuda lgzu smr qr fcqwhp f brccoa kigjfh, yzf xnyg eok fhxop, - oupzb. Eqvz hnxh wmzbwau, R uyd qe qbpglxcn, rvtk sejj. - 'U'y tedgt, shv drn vkyvgocl gw pdp ws is ijcah. Vbg F rmtpvya'm wgfp - zhwv ayzjxbju, rxp ophu nyhh jn p eoy ifeey. Cqg Yaw. Eygrmiyv, eoz'z ykel - vtaxu, A yvxiz fks sb mofc x pglu; tev muvi acxh'b shz xh bd. Jewkg. Yfl - emdfa fiuj axi wqkc lz? - 'Nkrsxuut,' vtsn Owdnqn, ncv llj cjmnp tkfdm lqx blj uuhgd akw ltio. - - -Bclwgndonfsdlyw phd zlrdljitxdfe rcythbk lzf sksohi xrs pv guhcpdk afmt xytz! - - -Ropl dpet dgs glo nnyysjxxs ca dmktm jlac mlt tt iio jir jxa qrrly qyjdda awvb -mk muy kihrx and wstn pmeyjz! Wzkdz qnc, gcdxs, wme F'j aciu il ibm tkiejq kwt -jvdq libj ben bewjj wc: @nhzzi@eayuchajq.rgk. Xmlkcd wxqbmmc sr vn Z kcv o mbll -ullukyhgkwxq. Jalsd! - - -Dk gdf qpul bnjf vd apuh zzz myuhy pwp tzp'oc myh k httt lkgq tnejak vbf xaiaj -sjlv wb -qsubw gouh. -Wr xqq crlld dhih ml ary rfh b nlyg optu lvofii pyw nhyfr egfyw -fcaz bt ggzgb jvhzg! - - - - +Lhguhqvsqjfrmug egy lztwjoneaasg hwcwnlk cgq uneiqk lzq jq vtgxftr vbaa kkkv! +Ol ags Vjusls'f lu eve'f ojnoihapo Kbdoqi-vwtdvyy Onahldlca Msoqc +Vygs Tnxhay rmrmu +xdyi. + + +ZRDRUYZMI: vhrg vwlc xfo hgq poxuqepcw hg ltpfr gijb rdz ee yer +ghb epn zyjvv wqzmfx vapm dy vpp urlqp jsz cvdf lqmvys! + +Jaccw yiy, vwylj, uxc +S'j HSZQ RH UQY GZGLBV PSO NBTF CGGZ PLK QXZMV nz Ipzjefjl: +@wrptn@nladsynet.rxq. VYMBJT +hbjbvfg sa ju O ylr v cahx hybtkbolipif. Ak ftm xmbm YPH +wyixdzlfy, GQDHTF trgh unm jg mth Q'zr uy bxiiu wq bkzw nrg .. svfne +Repqer qbznh rmd Ecyy fhf zzl fmiql xbec. Vtkjm! + + + diff --git a/2020/ferguson2/index.html b/2020/ferguson2/index.html index 89d32df4b..f3e954090 100644 --- a/2020/ferguson2/index.html +++ b/2020/ferguson2/index.html @@ -401,7 +401,7 @@ Location: US - United States of America -

https://github.com/ioccc-src/temp-test-ioccc/blob/master/## To build:

+

To build:

    make

The author provided alternate code that prints the output one character at a time to make it a bit more like the real thing in that it isn’t dumped out all @@ -472,10 +472,14 @@ out! Can you figure out why this works this way?

  • Some useful information about recode.c
-
  • [enigma.html][] +
  • enigma.html
  • +
  • testing-procedure +
      +
    • How the author tested the code and why it was necessary to do it in the way it was
    • +
  • Author’s remarks:

    My remarks about my Heer (army) and Luftwaffe (air force) Enigma @@ -1004,6 +1008,10 @@ did not implement this in the recode program but what would it be anyway? If the user here wants to they could add three letters to their message beginning. I don’t think there need be any addition to the recode program - at least not that.

    +

    Testing procedure

    +

    There was a need for a testing procedure as a single character difference will +change the rest of the text. If you wish to see how I went about this see +testing-procedure.html.

    Author’s dedication:

    Winning thoughts, dedications and thanks

    @@ -1098,6 +1106,7 @@ email but I’m more likely to respond to mastodon messages.

  • obfuscation.txt - about the obfuscation of this entry - encrypted with entry
  • recode.c - Enigma machine configurator source code
  • recode.html - Enigma configurator documentation
  • +
  • testing-procedure.html - details about the author’s testing procedure
  • try.alt.sh - script to try alternate code
  • try.sh - script to try entry
  • try.this.txt - sample input
  • @@ -1115,6 +1124,7 @@ email but I’m more likely to respond to mastodon messages.

  • obfuscation.md - markdown source for obfuscation.html
  • .path - directory path from top level directory
  • recode.md - markdown source for recode.html
  • +
  • testing-procedure.md - markdown source for testing-procedure.html
  • index.html - this web page

  • diff --git a/2020/ferguson2/recode.html b/2020/ferguson2/recode.html index 7f1010eea..6492539c3 100644 --- a/2020/ferguson2/recode.html +++ b/2020/ferguson2/recode.html @@ -877,8 +877,11 @@ think that I would give too much away? :)

    the key you wish to select is

        0EZ4PC1CC0PGTAQSOXWNMDRYKFUZEI

    you can do:

    -
        ./recode -R0EZ4PC1CC0PGTAQSOXWNMDRYKFUZEI -fenigma.html | ./prog - 2>/dev/null > decrypted.html
    -

    Then open decrypted.html in your browser.

    +
        ./recode -R0EZ4PC1CC0PGTAQSOXWNMDRYKFUZEI -fenigma.html | ./prog - 2>/dev/null > enigma.deciphered.html
    +

    Then open enigma.deciphered.html in your browser. A command is provided in +testing-procedure.html that does this too but it +shows how you can use a file as input for the key instead as well as how I +tested the code.


    Jump to: top

    - ./recode -R0EZ4PC1CC0PGTAQSOXWNMDRYKFUZEI -fenigma.html | ./prog - 2>/dev/null > decrypted.html + ./recode -R0EZ4PC1CC0PGTAQSOXWNMDRYKFUZEI -fenigma.html | ./prog - 2>/dev/null > enigma.deciphered.html ``` -Then open `decrypted.html` in your browser. +Then open `enigma.deciphered.html` in your browser. A command is provided in +[testing-procedure.html](testing-procedure.html) that does this too but it +shows how you can use a file as input for the key instead as well as how I +tested the code. + +
    diff --git a/2020/ferguson2/testing-procedure.html b/2020/ferguson2/testing-procedure.html new file mode 100644 index 000000000..5817320ad --- /dev/null +++ b/2020/ferguson2/testing-procedure.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + +The International Obfuscated C Code Contest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + IOCCC image by Matt Zucker + +

    The International Obfuscated C Code Contest

    +

    testing-procedure.html for 2020/ferguson2

    +
    + + + + + + + + + +
    + + + + + +

    Testing procedure

    +

    Because of the significant amount of possible combinations of settings and the +fact that based on each setting if the text does not have the same sequence - +even one letter off - then you cannot get the same output - I had to come up +with a way to test the entry. Here’s the problem with just the default settings: +the same number of characters, the same starting, but the moment a letter +differs the rest of the message will change even if the rest of the message is +the same:

    +
        $ echo A man and his dog walked in the park...|./prog
    +    G spy ige lqk eav ptccpu di clm erkh...
    +
    +    $ echo A dog and his man walked in the park...|./prog
    +    G luq ige lqk jou ptccpu di clm erkh...
    +
    +    $ echo A man and his dog and its dog walked in the park...|./prog
    +    G spy ige lqk eav mbt bwz iwb jsojus pe hnt imny...
    +

    As can be seen as soon as a letter is different in the sequence it changes the +result! So what could be done? First of all I had to make sure that the +invocations I gave could be properly duplicated. To do this I had key files that +I could use via recode and also I did input some manually. This includes the +cake recipe key file that originally was in this entry but is now only in +2020/ferguson1. Now, though, I have a simple +html file with a fun message for you to decipher, if you wish to find the right +key, to explore the entry. The script which I will include below can be modified +to try and find the right key.

    +

    General script format

    +
        STR="$(echo ABC | ./prog|tail -n1)"
    +
    +    if [ "${STR}" != "GYM" ]; then
    +    echo "Failed 'ABC' test"
    +    exit 1
    +    fi
    +    STR="$(echo "${STR}" | ./prog|tail -n1)"
    +    if [ "${STR}" != "ABC" ]; then
    +    echo "Failed 'GYM' test"
    +    exit 1
    +    fi
    +
    +    # a simpler way to check that it works:
    +    ./recode -Renigma.dat -fenigma.deciphered.html | ./prog - 2>/dev/null > enigma.html
    +    ./recode -Renigma.dat -fenigma.html | ./prog - 2>/dev/null | diff -s - enigma.deciphered.html
    +
    +    ./recode -Robfuscation.key -fobfuscation.txt | ./prog - 2>/dev/null >  out
    +    diff out obfuscation.md || echo "Obfuscation test 0.5 failed"
    +
    +    ./recode -Robfuscation.key -fout | ./prog - 2>/dev/null > out2
    +    diff out2 obfuscation.txt || echo "Obfuscation test 1.0 failed"
    +
    +    ./prog < prog.c > out
    +    ./prog < out > out2
    +    diff out2 prog.c || echo "Self obfuscation test 1.0 failed"
    +
    +    mkdir -p tests || exit 1
    +    cd tests || exit 1
    +
    +    let n=0
    +    while [ "${n}" -lt 100 ]; do
    +
    +    for f in ../input.txt ../prog.c ../README.md ../recode.md ../recode.1 ../enigma.1; do
    +        ../recode -r -oconfig -f"${f}" | ../prog - 2>/dev/null > out
    +        ../recode -Rconfig -fout | ../prog - 2>/dev/null > out2
    +        diff out2 "${f}" || echo "Failed randomised test for file: ${f}"
    +    done
    +    let n=n+1
    +    done
    +    rm -f out out2
    +    cd ..
    +    rm -f out out2
    +

    Please don’t expect the above script to work without a bit of modification as +it’s not been tested recently and I did make some adjustments when putting this +document in the website. Still that should give you the idea.

    +

    Historical note:

    +

    At the time of development the server was CentOS but as Red Hat decided to axe +it it is now Rocky Linux. The above script was only tested in macOS but it +should work fine in linux too. Also, the enigma.html part was added in June 2024 +which expects output so below when I say if I got any output there was a problem +this is no longer true.

    +

    Back to the testing:

    +

    Anyway, If I got any output I knew there was a problem. I did not get any output and since +this tested the default settings, two customised settings as well as 100 +randomised runs for each of the files listed in the script I believed this +works well. Tests run under Fedora, CentOS and macOS with the same results.

    +

    I believe this entry can be used with EBCDIC as it appears that the characters +used are in contiguous sequence but I do not know for certain. Neither do I know +about big endian: I don’t believe it matters but I have no way to test this +either.

    +

    If there are any discrepancies in the recode.html or any other thing I +pasted it’s probably because of the way I changed the display (or else the +random option in recode!).

    +

    If there are any inconsistencies in input/output one also has to be certain that +input was put in correctly (as I discussed earlier). The results of the script +are the same under Fedora, CentOS and macOS but I have put the main testing +platform as macOS because these days I mostly use my laptop (I tend to ssh into +the other two boxes more and as for the CentOS it’s only console anyway. Since +it’s just text I/O it an terminal emulator shouldn’t matter either.).

    +

    Command that might be used to decipher the enigma.html file:

    +

    The following command can be used to decipher the file except that you must +provide the key file (or the key as a string) with the correct key (see +recode.html for a list of keys to try) in order to get correct +output:

    +
            ./recode -Renigma.dat -fenigma.html | ./prog - 2>/dev/null > enigma.deciphered.html
    +

    Enjoy! +

    + + + + +
    + + + + + + + + + + + + + + + diff --git a/2020/ferguson2/testing-procedure.md b/2020/ferguson2/testing-procedure.md new file mode 100644 index 000000000..5b09d79df --- /dev/null +++ b/2020/ferguson2/testing-procedure.md @@ -0,0 +1,126 @@ +# Testing procedure + +Because of the significant amount of possible combinations of settings and the +fact that based on each setting if the text does not have the same sequence - +even one letter off - then you cannot get the same output - I had to come up +with a way to test the entry. Here's the problem with just the default settings: +the same number of characters, the same starting, but the moment a letter +differs the rest of the message will change even if the rest of the message is +the same: + +``` + $ echo A man and his dog walked in the park...|./prog + G spy ige lqk eav ptccpu di clm erkh... + + $ echo A dog and his man walked in the park...|./prog + G luq ige lqk jou ptccpu di clm erkh... + + $ echo A man and his dog and its dog walked in the park...|./prog + G spy ige lqk eav mbt bwz iwb jsojus pe hnt imny... +``` + +As can be seen as soon as a letter is different in the sequence it changes the +result! So what could be done? First of all I had to make sure that the +invocations I gave could be properly duplicated. To do this I had key files that +I could use via `recode` and also I did input some manually. This includes the +cake recipe key file that originally was in this entry but is now only in +[2020/ferguson1](../ferguson1/index.html). Now, though, I have a simple +html file with a fun message for you to decipher, if you wish to find the right +key, to explore the entry. The script which I will include below can be modified +to try and find the right key. + +## General script format + +``` + STR="$(echo ABC | ./prog|tail -n1)" + + if [ "${STR}" != "GYM" ]; then + echo "Failed 'ABC' test" + exit 1 + fi + STR="$(echo "${STR}" | ./prog|tail -n1)" + if [ "${STR}" != "ABC" ]; then + echo "Failed 'GYM' test" + exit 1 + fi + + # a simpler way to check that it works: + ./recode -Renigma.dat -fenigma.deciphered.html | ./prog - 2>/dev/null > enigma.html + ./recode -Renigma.dat -fenigma.html | ./prog - 2>/dev/null | diff -s - enigma.deciphered.html + + ./recode -Robfuscation.key -fobfuscation.txt | ./prog - 2>/dev/null > out + diff out obfuscation.md || echo "Obfuscation test 0.5 failed" + + ./recode -Robfuscation.key -fout | ./prog - 2>/dev/null > out2 + diff out2 obfuscation.txt || echo "Obfuscation test 1.0 failed" + + ./prog < prog.c > out + ./prog < out > out2 + diff out2 prog.c || echo "Self obfuscation test 1.0 failed" + + mkdir -p tests || exit 1 + cd tests || exit 1 + + let n=0 + while [ "${n}" -lt 100 ]; do + + for f in ../input.txt ../prog.c ../README.md ../recode.md ../recode.1 ../enigma.1; do + ../recode -r -oconfig -f"${f}" | ../prog - 2>/dev/null > out + ../recode -Rconfig -fout | ../prog - 2>/dev/null > out2 + diff out2 "${f}" || echo "Failed randomised test for file: ${f}" + done + let n=n+1 + done + rm -f out out2 + cd .. + rm -f out out2 +``` + +Please don't expect the above script to work without a bit of modification as +it's not been tested recently and I did make some adjustments when putting this +document in the website. Still that should give you the idea. + +### Historical note: + +At the time of development the server was CentOS but as Red Hat decided to axe +it it is now Rocky Linux. The above script was only tested in macOS but it +should work fine in linux too. Also, the enigma.html part was added in June 2024 +which expects output so below when I say if I got any output there was a problem +this is no longer true. + + +## Back to the testing: + +Anyway, If I got any output I knew there was a problem. I did not get any output and since +this tested the default settings, two customised settings as well as 100 +randomised runs for each of the files listed in the script I believed this +works well. Tests run under Fedora, CentOS and macOS with the same results. + +I believe this entry can be used with EBCDIC as it appears that the characters +used are in contiguous sequence but I do not know for certain. Neither do I know +about big endian: I don't believe it matters but I have no way to test this +either. + +If there are any discrepancies in the recode.html or any other thing I +pasted it's probably because of the way I changed the display (or else the +random option in `recode`!). + +If there are any inconsistencies in input/output one also has to be certain that +input was put in correctly (as I discussed earlier). The results of the script +are the same under Fedora, CentOS and macOS but I have put the main testing +platform as macOS because these days I mostly use my laptop (I tend to ssh into +the other two boxes more and as for the CentOS it's only console anyway. Since +it's just text I/O it an terminal emulator shouldn't matter either.). + +## Command that might be used to decipher the `enigma.html` file: + +The following command can be used to decipher the file except that you must +provide the key file (or the key as a string) with the correct key (see +[recode.html](recode.html) for a list of keys to try) in order to get correct +output: + +``` + ./recode -Renigma.dat -fenigma.html | ./prog - 2>/dev/null > enigma.deciphered.html +``` + +Enjoy! diff --git a/tmp/manifest.csv b/tmp/manifest.csv index 9af19b990..4de01edbe 100644 --- a/tmp/manifest.csv +++ b/tmp/manifest.csv @@ -4176,6 +4176,7 @@ 2020,ferguson2,obfuscation.txt,100,true,text,false,about the obfuscation of this entry - encrypted with entry 2020,ferguson2,recode.c,100,true,c,true,Enigma machine configurator source code 2020,ferguson2,recode.html,100,true,html,false,Enigma configurator documentation +2020,ferguson2,testing-procedure.html,100,false,html,false,details about the author's testing procedure 2020,ferguson2,try.alt.sh,100,true,shellscript,true,script to try alternate code 2020,ferguson2,try.sh,100,true,shellscript,true,script to try entry 2020,ferguson2,try.this.txt,100,true,text,false,sample input @@ -4190,6 +4191,7 @@ 2020,ferguson2,obfuscation.md,4000000000,true,markdown,true,markdown source for obfuscation.html 2020,ferguson2,.path,4000000000,false,path,true,directory path from top level directory 2020,ferguson2,recode.md,4000000000,true,markdown,true,markdown source for recode.html +2020,ferguson2,testing-procedure.md,4000000000,true,markdown,true,markdown source for testing-procedure.html 2020,ferguson2,index.html,4294967295,false,html,false,this web page 2020,giles,prog.c,20,true,c,true,entry source code 2020,giles,Makefile,30,true,makefile,true,entry Makefile diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers index d02abace1..ddfebfa35 100644 Binary files a/tmp/manifest.numbers and b/tmp/manifest.numbers differ diff --git a/tmp/path_list.built.txt b/tmp/path_list.built.txt index 53bab78aa..bd7c3fda4 100644 --- a/tmp/path_list.built.txt +++ b/tmp/path_list.built.txt @@ -1205,6 +1205,7 @@ 2020/ferguson2/2020_ferguson2.tar.bz2 2020/ferguson2/index.html 2020/ferguson2/prog.orig.c +2020/ferguson2/testing-procedure.html 2020/giles/.path 2020/giles/2020_giles.tar.bz2 2020/giles/index.html diff --git a/tmp/path_list.found.txt b/tmp/path_list.found.txt index bebd7b6db..eaceb44c3 100644 --- a/tmp/path_list.found.txt +++ b/tmp/path_list.found.txt @@ -4187,6 +4187,8 @@ 2020/ferguson2/recode.c 2020/ferguson2/recode.html 2020/ferguson2/recode.md +2020/ferguson2/testing-procedure.html +2020/ferguson2/testing-procedure.md 2020/ferguson2/try.alt.sh 2020/ferguson2/try.sh 2020/ferguson2/try.this.txt diff --git a/tmp/path_list.manifest.txt b/tmp/path_list.manifest.txt index bebd7b6db..eaceb44c3 100644 --- a/tmp/path_list.manifest.txt +++ b/tmp/path_list.manifest.txt @@ -4187,6 +4187,8 @@ 2020/ferguson2/recode.c 2020/ferguson2/recode.html 2020/ferguson2/recode.md +2020/ferguson2/testing-procedure.html +2020/ferguson2/testing-procedure.md 2020/ferguson2/try.alt.sh 2020/ferguson2/try.sh 2020/ferguson2/try.this.txt diff --git a/tmp/path_list.required.txt b/tmp/path_list.required.txt index 8236b3a50..1b9e08347 100644 --- a/tmp/path_list.required.txt +++ b/tmp/path_list.required.txt @@ -2980,6 +2980,7 @@ 2020/ferguson2/recode.c 2020/ferguson2/recode.html 2020/ferguson2/recode.md +2020/ferguson2/testing-procedure.md 2020/ferguson2/try.alt.sh 2020/ferguson2/try.sh 2020/ferguson2/try.this.txt