Home Quick start All builds News Donations
More
Log In
Light Theme Docs
Workers

SparrowCI Report - branch-melezhik-libdigest-raku-Rakudo2023_02 | [image: melezhik/sparrow:debian]

  • Summary
  • Pipeline YAML
  • Report
BuildID: 3160
Status: OK
Image: melezhik/sparrow:debian
Worker status: OK
---
Date: 01.03.2023 @ 22:39
Time elapsed: 317 sec
---
SCM: https://github.com/melezhik/libdigest-raku.git
Git sha: 38b677b
Git comment: Use latest version
image:
  - melezhik/sparrow:debian
tasks:
  -
    name: main
    default: true
    language: Raku
    code: |
      use Text::Table::Simple;
      my @columns = ("Rakudo Version", "Status", "Time", "Linux Dist");
      my @rows;
      my $fail = False;
      for config()<tasks><multi-versions><state><list><> -> $i {
        @rows.push: [ $i<version>, $i<status>,  $i<time>, os() ];
        $fail = True unless $i<status> eq "OK";
      }
      my @table = lol2table(@columns,@rows);
      .say for @table;
      die "some tests failed" if $fail == True;
    depends:
      -
        name: multi-versions
  -
    name: multi-versions
    language: Raku
    config:
      list:
        # - 2022.04
        - 2023.02
        - 2022.12
    code: |
      my @state;
      for config()<list><> -> $v {
        my $s = %( version => $v );
        if "{cache_root_dir()}/{$v}_ok".IO ~~ :e {
          $s<status> = "OK";
        } else {
          $s<status> = "FAIL";
        }
        if "{cache_root_dir()}/{$v}_time".IO ~~ :e {
          $s<time> = "{cache_root_dir()}/{$v}_time".IO.slurp();
        } else {
          $s<time> = "NA";
        }
        @state.push: $s;
      }
      update_state %( list => @state );
    init: |
      for config()<list><> -> $v {
        run_task("test", %( version => $v ));
      }
    subtasks:
      -
        name: test
        language: Bash
        init: |
          ignore_error
        code: |
          set -e
          echo "Linux version: $os"
          curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
          -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
          tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
          eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
          which raku
          which zef
          raku --version
          zef --version
          
          cd source/
          zef install . --deps-only --test-depends --build-depends --/test -to=home         
          /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
          zef test --debug . && touch "${cache_root_dir}/${version}_ok"
          
    depends:
      -
        name: install-deps
  -
    name: install-deps
    language: Bash
    code: |
      sudo apt-get install -y time 
      zef install --/test Text::Table::Simple
22:36:16 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[task run: task.bash - tasks/install-deps]
[dump code: task.bash]
[1] sudo apt-get install -y time 
[2] zef install --/test Text::Table::Simple
[3] 
[task stdout]
22:36:19 :: Reading package lists...
22:36:20 :: Building dependency tree...
22:36:20 :: Reading state information...
22:36:20 :: The following NEW packages will be installed:
22:36:20 ::   time
22:36:20 :: 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
22:36:20 :: Need to get 50.8 kB of archives.
22:36:20 :: After this operation, 132 kB of additional disk space will be used.
22:36:20 :: Get:1 http://deb.debian.org/debian bullseye/main amd64 time amd64 1.9-0.1 [50.8 kB]
22:36:20 :: Fetched 50.8 kB in 0s (4025 kB/s)
22:36:20 :: Selecting previously unselected package time.
22:36:20 :: (Reading database ... 
22:36:20 :: (Reading database ... 5%
22:36:20 :: (Reading database ... 10%
22:36:20 :: (Reading database ... 15%
22:36:20 :: (Reading database ... 20%
22:36:20 :: (Reading database ... 25%
22:36:20 :: (Reading database ... 30%
22:36:20 :: (Reading database ... 35%
22:36:20 :: (Reading database ... 40%
22:36:20 :: (Reading database ... 45%
22:36:20 :: (Reading database ... 50%
22:36:20 :: (Reading database ... 55%
22:36:20 :: (Reading database ... 60%
22:36:20 :: (Reading database ... 65%
22:36:20 :: (Reading database ... 70%
22:36:20 :: (Reading database ... 75%
22:36:20 :: (Reading database ... 80%
22:36:20 :: (Reading database ... 85%
22:36:20 :: (Reading database ... 90%
22:36:20 :: (Reading database ... 95%
22:36:20 :: (Reading database ... 100%
22:36:20 :: (Reading database ... 19016 files and directories currently installed.)
22:36:20 :: Preparing to unpack .../time_1.9-0.1_amd64.deb ...
22:36:20 :: Unpacking time (1.9-0.1) ...
22:36:20 :: Setting up time (1.9-0.1) ...
22:36:22 :: ===> Searching for: Text::Table::Simple
22:36:32 :: ===> Installing: Text::Table::Simple:ver<0.1.0>:auth<github:ugexe>
[task stderr]
22:36:32 :: debconf: delaying package configuration, since apt-utils is not installed
22:36:32 :: ===> Updating fez mirror: https://360.zef.pm/
22:36:32 :: ===> Updated fez mirror: https://360.zef.pm/
22:36:32 :: ===> Updating rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
22:36:32 :: ===> Updated rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
22:35:59 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2] echo "Linux version: $os"
[3] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[4] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[5] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
[6] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
[7] which raku
[8] which zef
[9] raku --version
[10] zef --version
[11] 
[12] cd source/
[13] zef install . --deps-only --test-depends --build-depends --/test -to=home         
[14] /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
[15] zef test --debug . && touch "${cache_root_dir}/${version}_ok"
[16] 
[task stdout]
22:36:37 :: Linux version: debian
22:36:40 ::                            Adding Rakudo to PATH
22:36:40 ::                           =======================
22:36:40 :: 
22:36:40 :: Paths successfully added.
22:36:40 :: 
22:36:40 :: ================================================================================
22:36:40 ::  =========                                                             __   __
22:36:40 ::   ||_|_||                =============================                (  \,/  )
22:36:40 ::   || # ||                 Welcome to the Raku Console                  \_ O _/
22:36:40 ::   || # ||                =============================                 (_/ \_)
22:36:40 :: 
22:36:40 :: This console has all the tools available you need to get started using Raku.
22:36:40 :: 
22:36:40 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
22:36:40 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
22:36:40 :: Start it by typing:
22:36:40 :: 
22:36:40 ::     raku
22:36:40 :: 
22:36:40 :: If you already have a Raku program in a file, you can run it by typing:
22:36:40 :: 
22:36:40 ::     raku path/to/my/program.raku
22:36:40 :: 
22:36:40 :: To install additional modules you can use the Zef module manager:
22:36:40 :: 
22:36:40 ::     zef install Some::Module
22:36:40 :: 
22:36:40 :: https://rakudo.org/           - The home of this implementation of Raku.
22:36:40 :: https://raku.land/            - Go here to browse for Raku modules.
22:36:40 :: https://docs.raku.org/        - The Raku documentation.
22:36:40 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
22:36:40 :: 
22:36:40 ::                               Happy hacking!
22:36:40 :: 
22:36:40 :: ================================================================================
22:36:40 :: 
22:36:40 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2023.02-01-linux-x86_64-gcc/bin/raku
22:36:40 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2023.02-01-linux-x86_64-gcc/share/perl6/site/bin/zef
22:36:40 :: Welcome to Rakudo™ v2023.02.
22:36:40 :: Implementing the Raku® Programming Language v6.d.
22:36:40 :: Built on MoarVM version 2023.02.
22:37:04 :: v0.14.5
22:37:22 :: ===> Testing: Digest:ver<1.0.0>:auth<zef:grondilu>
22:38:30 :: [Digest] Testing with plugin: Zef::Service::Shell::prove+{<anon|1>}
22:38:30 :: [Digest] t/md5.t ...... 
22:38:30 :: [Digest] # Subtest: rfc1321
22:38:30 :: [Digest]     ok 1 - md5('') is 'd41d8cd98f00b204e9800998ecf8427e'
22:38:30 :: [Digest]     ok 2 - md5('a') is '0cc175b9c0f1b6a831c399e269772661'
22:38:30 :: [Digest]     ok 3 - md5('abc') is '900150983cd24fb0d6963f7d28e17f72'
22:38:30 :: [Digest]     ok 4 - md5('message digest') is 'f96b697d7cb7938d525a2f31aaf161d0'
22:38:30 :: [Digest]     ok 5 - md5('abcdefghijklmnopqrstuvwxyz') is 'c3fcd3d76192e4007dfb496cca67e13b'
22:38:30 :: [Digest]     ok 6 - md5('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') is 'd174ab98d277d9f5a5611c2c9f419d9f'
22:38:30 :: [Digest]     ok 7 - md5('12345678901234567890123456789012345678901234567890123456789012345678901234567890') is '57edf4a22be3c955ac49da2e2107b67a'
22:38:30 :: [Digest]     1..7
22:38:30 :: [Digest] ok 1 - rfc1321
22:38:30 :: [Digest] # Subtest: hash 100 random strings
22:38:30 :: [Digest]     ok 1 - ysfzuqnu
22:38:30 :: [Digest]     ok 2 - mpgvajpa
22:38:30 :: [Digest]     ok 3 - sfhcljfg
22:38:30 :: [Digest]     ok 4 - hditngkm
22:38:30 :: [Digest]     ok 5 - meafrpve
22:38:30 :: [Digest]     ok 6 - sgbvueyy
22:38:30 :: [Digest]     ok 7 - dujplifz
22:38:30 :: [Digest]     ok 8 - sltwnqgl
22:38:30 :: [Digest]     ok 9 - tqzgbvgd
22:38:30 :: [Digest]     ok 10 - vzgrfbzp
22:38:30 :: [Digest]     ok 11 - ahywxhcc
22:38:30 :: [Digest]     ok 12 - exqrbpcu
22:38:30 :: [Digest]     ok 13 - dvjashwu
22:38:30 :: [Digest]     ok 14 - nzdsxqie
22:38:30 :: [Digest]     ok 15 - htvmnxjy
22:38:30 :: [Digest]     ok 16 - jaabxuuh
22:38:30 :: [Digest]     ok 17 - qgajlxkj
22:38:30 :: [Digest]     ok 18 - ijvlrbud
22:38:30 :: [Digest]     ok 19 - ayzkmzfm
22:38:30 :: [Digest]     ok 20 - pfsmrhlu
22:38:30 :: [Digest]     ok 21 - gekcwvby
22:38:30 :: [Digest]     ok 22 - yvxffvga
22:38:30 :: [Digest]     ok 23 - dhpzrxih
22:38:30 :: [Digest]     ok 24 - rwcqfpzy
22:38:30 :: [Digest]     ok 25 - zjofsyxm
22:38:30 :: [Digest]     ok 26 - ztxtsyhb
22:38:30 :: [Digest]     ok 27 - gerayqci
22:38:30 :: [Digest]     ok 28 - ugzosdnn
22:38:30 :: [Digest]     ok 29 - cmewiivy
22:38:30 :: [Digest]     ok 30 - fzsjcaav
22:38:30 :: [Digest]     ok 31 - sqhzugro
22:38:30 :: [Digest]     ok 32 - zgrcsdut
22:38:30 :: [Digest]     ok 33 - uighvunk
22:38:30 :: [Digest]     ok 34 - scatxkou
22:38:30 :: [Digest]     ok 35 - tzkznrvr
22:38:30 :: [Digest]     ok 36 - hmqrnoni
22:38:30 :: [Digest]     ok 37 - rvqniuft
22:38:30 :: [Digest]     ok 38 - spnbelia
22:38:30 :: [Digest]     ok 39 - wvjzteso
22:38:30 :: [Digest]     ok 40 - ycoxjtlk
22:38:30 :: [Digest]     ok 41 - xubwxqzf
22:38:30 :: [Digest]     ok 42 - goynyqpy
22:38:30 :: [Digest]     ok 43 - hseacdaa
22:38:30 :: [Digest]     ok 44 - xunmmgkd
22:38:30 :: [Digest]     ok 45 - vkqpevlq
22:38:30 :: [Digest]     ok 46 - binzktnt
22:38:30 :: [Digest]     ok 47 - yiikknns
22:38:30 :: [Digest]     ok 48 - jjhtttjm
22:38:30 :: [Digest]     ok 49 - nwivltmr
22:38:30 :: [Digest]     ok 50 - jpfcjleg
22:38:30 :: [Digest]     ok 51 - wrjfjyzr
22:38:30 :: [Digest]     ok 52 - ngaijbfi
22:38:30 :: [Digest]     ok 53 - vhyedphp
22:38:30 :: [Digest]     ok 54 - pzsoorlp
22:38:30 :: [Digest]     ok 55 - lsloiplh
22:38:30 :: [Digest]     ok 56 - fqfatwyy
22:38:30 :: [Digest]     ok 57 - sqlhqzhw
22:38:30 :: [Digest]     ok 58 - jfruttms
22:38:30 :: [Digest]     ok 59 - stcdptlv
22:38:30 :: [Digest]     ok 60 - obishvrt
22:38:30 :: [Digest]     ok 61 - oknybxuq
22:38:30 :: [Digest]     ok 62 - fvghhsyl
22:38:30 :: [Digest]     ok 63 - bkwgxlfb
22:38:30 :: [Digest]     ok 64 - jzaeabos
22:38:30 :: [Digest]     ok 65 - mmovqcxr
22:38:30 :: [Digest]     ok 66 - ccgovtgs
22:38:30 :: [Digest]     ok 67 - hwlvunjz
22:38:30 :: [Digest]     ok 68 - pszzpszl
22:38:30 :: [Digest]     ok 69 - jiwkoxpj
22:38:30 :: [Digest]     ok 70 - usuqvbey
22:38:30 :: [Digest]     ok 71 - dfmrgzsm
22:38:30 :: [Digest]     ok 72 - syzwuenl
22:38:30 :: [Digest]     ok 73 - yejbyond
22:38:30 :: [Digest]     ok 74 - agmzkugo
22:38:30 :: [Digest]     ok 75 - roqnrwvy
22:38:30 :: [Digest]     ok 76 - ifpibxfv
22:38:30 :: [Digest]     ok 77 - vbrsnitf
22:38:30 :: [Digest]     ok 78 - bcrwemzm
22:38:30 :: [Digest]     ok 79 - yxgbdirh
22:38:30 :: [Digest]     ok 80 - ufyoozcs
22:38:30 :: [Digest]     ok 81 - dustkwqq
22:38:30 :: [Digest]     ok 82 - rzlvysay
22:38:30 :: [Digest]     ok 83 - ifqyhgkb
22:38:30 :: [Digest]     ok 84 - cousakjy
22:38:30 :: [Digest]     ok 85 - liwkhilb
22:38:30 :: [Digest]     ok 86 - pkvnxxry
22:38:30 :: [Digest]     ok 87 - mutolssy
22:38:30 :: [Digest]     ok 88 - zjyjpyzt
22:38:30 :: [Digest]     ok 89 - hgdtvncx
22:38:30 :: [Digest]     ok 90 - lekpfjoh
22:38:30 :: [Digest]     ok 91 - ngelcvkn
22:38:30 :: [Digest]     ok 92 - leulosqj
22:38:30 :: [Digest]     ok 93 - lqmztera
22:38:30 :: [Digest]     ok 94 - vufwqhvc
22:38:30 :: [Digest]     ok 95 - zpcxbpyd
22:38:30 :: [Digest]     ok 96 - sirvgdbm
22:38:30 :: [Digest]     ok 97 - zjafeyuy
22:38:30 :: [Digest]     ok 98 - sxswsimi
22:38:30 :: [Digest]     ok 99 - qsumybuz
22:38:30 :: [Digest]     ok 100 - qcdglcuc
22:38:30 :: [Digest]     1..100
22:38:30 :: [Digest] ok 2 - hash 100 random strings
22:38:30 :: [Digest] 1..2
22:38:30 :: [Digest] ok
22:38:30 :: [Digest] t/rfc4231.t .. 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 1 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 2 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 3 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 4 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 5 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 6 - 
22:38:30 :: [Digest] # Subtest
22:38:30 :: [Digest]     ok 1 - 
22:38:30 :: [Digest]     ok 2 - 
22:38:30 :: [Digest]     ok 3 - 
22:38:30 :: [Digest]     ok 4 - 
22:38:30 :: [Digest]     1..4
22:38:30 :: [Digest] ok 7 - 
22:38:30 :: [Digest] 1..7
22:38:30 :: [Digest] ok
22:38:30 :: [Digest] t/ripemd.t ... 
22:38:30 :: [Digest] ok 1 - RIPEMD('')
22:38:30 :: [Digest] ok 2 - RIPEMD('a')
22:38:30 :: [Digest] ok 3 - RIPEMD('abc')
22:38:30 :: [Digest] ok 4 - RIPEMD('message digest')
22:38:30 :: [Digest] ok 5 - RIPEMD('abcdefghijklmnopqrstuvwxyz')
22:38:30 :: [Digest] ok 6 - RIPEMD('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomn...')
22:38:30 :: [Digest] ok 7 - RIPEMD('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx...')
22:38:30 :: [Digest] ok 8 - RIPEMD('12345678901234567890123456789012345678901234567890...')
22:38:30 :: [Digest] ok 9 - RIPEMD('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...')
22:38:30 :: [Digest] 1..9
22:38:30 :: [Digest] ok
22:38:30 :: [Digest] t/sha.t ...... 
22:38:30 :: [Digest] # Subtest: SHA-1
22:38:30 :: [Digest]     ok 1 - SHA-1('abc')
22:38:30 :: [Digest]     ok 2 - SHA-1('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:38:30 :: [Digest]     1..2
22:38:30 :: [Digest] ok 1 - SHA-1
22:38:30 :: [Digest] # Subtest: SHA-2
22:38:30 :: [Digest]     ok 1 - SHA-2-224('')
22:38:30 :: [Digest]     ok 2 - SHA-2-224('abc')
22:38:30 :: [Digest]     ok 3 - SHA-2-224('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:38:30 :: [Digest]     ok 4 - SHA-2-256('abc')
22:38:30 :: [Digest]     ok 5 - SHA-2-256('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:38:30 :: [Digest]     ok 6 - SHA-2-384('abc')
22:38:30 :: [Digest]     ok 7 - SHA-2-384('abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu')
22:38:30 :: [Digest]     ok 8 - SHA-2-512('abc')
22:38:30 :: [Digest]     ok 9 - SHA-2-512('abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu')
22:38:30 :: [Digest]     1..9
22:38:30 :: [Digest] ok 2 - SHA-2
22:38:30 :: [Digest] # Subtest: SHA-3
22:38:30 :: [Digest]     ok 1 - SHA-3-224('abc')
22:38:30 :: [Digest]     ok 2 - SHA-3-224('')
22:38:30 :: [Digest]     ok 3 - SHA-3-256('abc')
22:38:30 :: [Digest]     ok 4 - SHA-3-256('')
22:38:30 :: [Digest]     ok 5 - SHA-3-384('abc')
22:38:30 :: [Digest]     ok 6 - SHA-3-384('')
22:38:30 :: [Digest]     ok 7 - SHA-3-512('abc')
22:38:30 :: [Digest]     ok 8 - SHA-3-512('')
22:38:30 :: [Digest]     1..8
22:38:30 :: [Digest] ok 3 - SHA-3
22:38:30 :: [Digest] 1..3
22:38:30 :: [Digest] ok
22:38:30 :: [Digest] All tests successful.
22:38:30 :: [Digest] Files=4, Tests=21, 68 wallclock secs ( 0.05 usr  0.02 sys + 109.82 cusr  2.48 csys = 112.37 CPU)
22:38:30 :: [Digest] Result: PASS
22:38:30 :: ===> Testing [OK] for Digest:ver<1.0.0>:auth<zef:grondilu>
[task stderr]
22:38:30 :: All candidates are currently installed
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2] echo "Linux version: $os"
[3] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[4] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[5] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz          
[6] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
[7] which raku
[8] which zef
[9] raku --version
[10] zef --version
[11] 
[12] cd source/
[13] zef install . --deps-only --test-depends --build-depends --/test -to=home         
[14] /usr/bin/time -f "%E real,%U user,%S sys | CPU Percentage: %P" -o "${cache_root_dir}/${version}_time" \
[15] zef test --debug . && touch "${cache_root_dir}/${version}_ok"
[16] 
[task stdout]
22:38:30 :: Linux version: debian
22:38:33 ::                            Adding Rakudo to PATH
22:38:33 ::                           =======================
22:38:33 :: 
22:38:33 :: Paths successfully added.
22:38:33 :: 
22:38:33 :: ================================================================================
22:38:33 ::  =========                                                             __   __
22:38:33 ::   ||_|_||                =============================                (  \,/  )
22:38:33 ::   || # ||                 Welcome to the Raku Console                  \_ O _/
22:38:33 ::   || # ||                =============================                 (_/ \_)
22:38:33 :: 
22:38:33 :: This console has all the tools available you need to get started using Raku.
22:38:33 :: 
22:38:33 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
22:38:33 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
22:38:33 :: Start it by typing:
22:38:33 :: 
22:38:33 ::     raku
22:38:33 :: 
22:38:33 :: If you already have a Raku program in a file, you can run it by typing:
22:38:33 :: 
22:38:33 ::     raku path/to/my/program.raku
22:38:33 :: 
22:38:33 :: To install additional modules you can use the Zef module manager:
22:38:33 :: 
22:38:33 ::     zef install Some::Module
22:38:33 :: 
22:38:33 :: https://rakudo.org/           - The home of this implementation of Raku.
22:38:33 :: https://raku.land/            - Go here to browse for Raku modules.
22:38:33 :: https://docs.raku.org/        - The Raku documentation.
22:38:33 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
22:38:33 :: 
22:38:33 ::                               Happy hacking!
22:38:33 :: 
22:38:33 :: ================================================================================
22:38:33 :: 
22:38:33 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc/bin/raku
22:38:33 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.12-01-linux-x86_64-gcc/share/perl6/site/bin/zef
22:38:33 :: Welcome to Rakudo™ v2022.12.
22:38:33 :: Implementing the Raku® Programming Language v6.d.
22:38:33 :: Built on MoarVM version 2022.12.
22:38:34 :: v0.14.5
22:38:37 :: ===> Testing: Digest:ver<1.0.0>:auth<zef:grondilu>
22:39:42 :: [Digest] Testing with plugin: Zef::Service::Shell::prove+{<anon|1>}
22:39:42 :: [Digest] t/md5.t ...... 
22:39:42 :: [Digest] # Subtest: rfc1321
22:39:42 :: [Digest]     ok 1 - md5('') is 'd41d8cd98f00b204e9800998ecf8427e'
22:39:42 :: [Digest]     ok 2 - md5('a') is '0cc175b9c0f1b6a831c399e269772661'
22:39:42 :: [Digest]     ok 3 - md5('abc') is '900150983cd24fb0d6963f7d28e17f72'
22:39:42 :: [Digest]     ok 4 - md5('message digest') is 'f96b697d7cb7938d525a2f31aaf161d0'
22:39:42 :: [Digest]     ok 5 - md5('abcdefghijklmnopqrstuvwxyz') is 'c3fcd3d76192e4007dfb496cca67e13b'
22:39:42 :: [Digest]     ok 6 - md5('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') is 'd174ab98d277d9f5a5611c2c9f419d9f'
22:39:42 :: [Digest]     ok 7 - md5('12345678901234567890123456789012345678901234567890123456789012345678901234567890') is '57edf4a22be3c955ac49da2e2107b67a'
22:39:42 :: [Digest]     1..7
22:39:42 :: [Digest] ok 1 - rfc1321
22:39:42 :: [Digest] # Subtest: hash 100 random strings
22:39:42 :: [Digest]     ok 1 - xgabiwea
22:39:42 :: [Digest]     ok 2 - uybknezt
22:39:42 :: [Digest]     ok 3 - uxbzruas
22:39:42 :: [Digest]     ok 4 - krmslbit
22:39:42 :: [Digest]     ok 5 - cbhebaxv
22:39:42 :: [Digest]     ok 6 - ezcwlqxc
22:39:42 :: [Digest]     ok 7 - ckxiyakh
22:39:42 :: [Digest]     ok 8 - rapgpuur
22:39:42 :: [Digest]     ok 9 - gswwjqzu
22:39:42 :: [Digest]     ok 10 - tnwiiked
22:39:42 :: [Digest]     ok 11 - kjzfauog
22:39:42 :: [Digest]     ok 12 - sspsbtax
22:39:42 :: [Digest]     ok 13 - ppxfcbbz
22:39:42 :: [Digest]     ok 14 - ipixqkvk
22:39:42 :: [Digest]     ok 15 - vaicflyw
22:39:42 :: [Digest]     ok 16 - zhshkgjs
22:39:42 :: [Digest]     ok 17 - kqkwqebj
22:39:42 :: [Digest]     ok 18 - bmujqyfk
22:39:42 :: [Digest]     ok 19 - dlazbkqd
22:39:42 :: [Digest]     ok 20 - qpukhvua
22:39:42 :: [Digest]     ok 21 - qxgyhicb
22:39:42 :: [Digest]     ok 22 - qjrutchq
22:39:42 :: [Digest]     ok 23 - zqbbfurf
22:39:42 :: [Digest]     ok 24 - aspamlpo
22:39:42 :: [Digest]     ok 25 - srufktgs
22:39:42 :: [Digest]     ok 26 - ccukoypk
22:39:42 :: [Digest]     ok 27 - tsmrczfj
22:39:42 :: [Digest]     ok 28 - vywdopud
22:39:42 :: [Digest]     ok 29 - dlvfzyol
22:39:42 :: [Digest]     ok 30 - hbzjlqmr
22:39:42 :: [Digest]     ok 31 - wdhilhnl
22:39:42 :: [Digest]     ok 32 - lgrlynsp
22:39:42 :: [Digest]     ok 33 - jckufccx
22:39:42 :: [Digest]     ok 34 - pilsizfd
22:39:42 :: [Digest]     ok 35 - fpbotclm
22:39:42 :: [Digest]     ok 36 - hlxxxrtd
22:39:42 :: [Digest]     ok 37 - vkaisrmz
22:39:42 :: [Digest]     ok 38 - xboyhqie
22:39:42 :: [Digest]     ok 39 - crsasrjv
22:39:42 :: [Digest]     ok 40 - igvgxtmu
22:39:42 :: [Digest]     ok 41 - kmxwmgin
22:39:42 :: [Digest]     ok 42 - nlqtnlsw
22:39:42 :: [Digest]     ok 43 - qkyuccme
22:39:42 :: [Digest]     ok 44 - hldokpep
22:39:42 :: [Digest]     ok 45 - piahymkm
22:39:42 :: [Digest]     ok 46 - eyohchxk
22:39:42 :: [Digest]     ok 47 - xlnncmuo
22:39:42 :: [Digest]     ok 48 - jfceokng
22:39:42 :: [Digest]     ok 49 - zzhcrbak
22:39:42 :: [Digest]     ok 50 - kghehhce
22:39:42 :: [Digest]     ok 51 - rdksicet
22:39:42 :: [Digest]     ok 52 - iqovsppr
22:39:42 :: [Digest]     ok 53 - cckzsupu
22:39:42 :: [Digest]     ok 54 - oksiabwv
22:39:42 :: [Digest]     ok 55 - khsgwujc
22:39:42 :: [Digest]     ok 56 - ueascapf
22:39:42 :: [Digest]     ok 57 - jgzppdde
22:39:42 :: [Digest]     ok 58 - vhunitih
22:39:42 :: [Digest]     ok 59 - ohhvvrfd
22:39:42 :: [Digest]     ok 60 - xuhorbck
22:39:42 :: [Digest]     ok 61 - jdwmgubv
22:39:42 :: [Digest]     ok 62 - swiwabhx
22:39:42 :: [Digest]     ok 63 - qwufidif
22:39:42 :: [Digest]     ok 64 - cdeegvgf
22:39:42 :: [Digest]     ok 65 - gaqfpmke
22:39:42 :: [Digest]     ok 66 - lmtlyibz
22:39:42 :: [Digest]     ok 67 - gwjbuhrc
22:39:42 :: [Digest]     ok 68 - hkzkclju
22:39:42 :: [Digest]     ok 69 - zrxyowmy
22:39:42 :: [Digest]     ok 70 - lhvfrexr
22:39:42 :: [Digest]     ok 71 - mgzqjfkc
22:39:42 :: [Digest]     ok 72 - rtdsmeam
22:39:42 :: [Digest]     ok 73 - auhgmhed
22:39:42 :: [Digest]     ok 74 - qfghkrnb
22:39:42 :: [Digest]     ok 75 - xoydzecv
22:39:42 :: [Digest]     ok 76 - cnrdkbpq
22:39:42 :: [Digest]     ok 77 - wpohxcnx
22:39:42 :: [Digest]     ok 78 - rgdvmpnq
22:39:42 :: [Digest]     ok 79 - rggkagcn
22:39:42 :: [Digest]     ok 80 - yaltmwpg
22:39:42 :: [Digest]     ok 81 - xuivvjdt
22:39:42 :: [Digest]     ok 82 - rdqgwphb
22:39:42 :: [Digest]     ok 83 - mxrcizuq
22:39:42 :: [Digest]     ok 84 - lndhpcmv
22:39:42 :: [Digest]     ok 85 - sefttpjg
22:39:42 :: [Digest]     ok 86 - gesyoxil
22:39:42 :: [Digest]     ok 87 - tsfkmhor
22:39:42 :: [Digest]     ok 88 - eexzmztm
22:39:42 :: [Digest]     ok 89 - rpdthqdc
22:39:42 :: [Digest]     ok 90 - tjtepeet
22:39:42 :: [Digest]     ok 91 - fgtvdkwb
22:39:42 :: [Digest]     ok 92 - jfnaoyab
22:39:42 :: [Digest]     ok 93 - vyjnqjtr
22:39:42 :: [Digest]     ok 94 - zdrpfuem
22:39:42 :: [Digest]     ok 95 - iqojxloe
22:39:42 :: [Digest]     ok 96 - tavwmpqy
22:39:42 :: [Digest]     ok 97 - yegeixdg
22:39:42 :: [Digest]     ok 98 - vhmqymst
22:39:42 :: [Digest]     ok 99 - qekvpxtd
22:39:42 :: [Digest]     ok 100 - mxvbygwm
22:39:42 :: [Digest]     1..100
22:39:42 :: [Digest] ok 2 - hash 100 random strings
22:39:42 :: [Digest] 1..2
22:39:42 :: [Digest] ok
22:39:42 :: [Digest] t/rfc4231.t .. 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 1 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 2 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 3 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 4 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 5 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 6 - 
22:39:42 :: [Digest] # Subtest
22:39:42 :: [Digest]     ok 1 - 
22:39:42 :: [Digest]     ok 2 - 
22:39:42 :: [Digest]     ok 3 - 
22:39:42 :: [Digest]     ok 4 - 
22:39:42 :: [Digest]     1..4
22:39:42 :: [Digest] ok 7 - 
22:39:42 :: [Digest] 1..7
22:39:42 :: [Digest] ok
22:39:42 :: [Digest] t/ripemd.t ... 
22:39:42 :: [Digest] ok 1 - RIPEMD('')
22:39:42 :: [Digest] ok 2 - RIPEMD('a')
22:39:42 :: [Digest] ok 3 - RIPEMD('abc')
22:39:42 :: [Digest] ok 4 - RIPEMD('message digest')
22:39:42 :: [Digest] ok 5 - RIPEMD('abcdefghijklmnopqrstuvwxyz')
22:39:42 :: [Digest] ok 6 - RIPEMD('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomn...')
22:39:42 :: [Digest] ok 7 - RIPEMD('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx...')
22:39:42 :: [Digest] ok 8 - RIPEMD('12345678901234567890123456789012345678901234567890...')
22:39:42 :: [Digest] ok 9 - RIPEMD('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...')
22:39:42 :: [Digest] 1..9
22:39:42 :: [Digest] ok
22:39:42 :: [Digest] t/sha.t ...... 
22:39:42 :: [Digest] # Subtest: SHA-1
22:39:42 :: [Digest]     ok 1 - SHA-1('abc')
22:39:42 :: [Digest]     ok 2 - SHA-1('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:39:42 :: [Digest]     1..2
22:39:42 :: [Digest] ok 1 - SHA-1
22:39:42 :: [Digest] # Subtest: SHA-2
22:39:42 :: [Digest]     ok 1 - SHA-2-224('')
22:39:42 :: [Digest]     ok 2 - SHA-2-224('abc')
22:39:42 :: [Digest]     ok 3 - SHA-2-224('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:39:42 :: [Digest]     ok 4 - SHA-2-256('abc')
22:39:42 :: [Digest]     ok 5 - SHA-2-256('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq')
22:39:42 :: [Digest]     ok 6 - SHA-2-384('abc')
22:39:42 :: [Digest]     ok 7 - SHA-2-384('abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu')
22:39:42 :: [Digest]     ok 8 - SHA-2-512('abc')
22:39:42 :: [Digest]     ok 9 - SHA-2-512('abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu')
22:39:42 :: [Digest]     1..9
22:39:42 :: [Digest] ok 2 - SHA-2
22:39:42 :: [Digest] # Subtest: SHA-3
22:39:42 :: [Digest]     ok 1 - SHA-3-224('abc')
22:39:42 :: [Digest]     ok 2 - SHA-3-224('')
22:39:42 :: [Digest]     ok 3 - SHA-3-256('abc')
22:39:42 :: [Digest]     ok 4 - SHA-3-256('')
22:39:42 :: [Digest]     ok 5 - SHA-3-384('abc')
22:39:42 :: [Digest]     ok 6 - SHA-3-384('')
22:39:42 :: [Digest]     ok 7 - SHA-3-512('abc')
22:39:42 :: [Digest]     ok 8 - SHA-3-512('')
22:39:42 :: [Digest]     1..8
22:39:42 :: [Digest] ok 3 - SHA-3
22:39:42 :: [Digest] 1..3
22:39:42 :: [Digest] ok
22:39:42 :: [Digest] All tests successful.
22:39:42 :: [Digest] Files=4, Tests=21, 65 wallclock secs ( 0.06 usr  0.02 sys + 105.89 cusr  2.52 csys = 108.49 CPU)
22:39:42 :: [Digest] Result: PASS
22:39:42 :: ===> Testing [OK] for Digest:ver<1.0.0>:auth<zef:grondilu>
[task stderr]
22:39:42 :: All candidates are currently installed
[task run: task.raku - tasks/multi-versions]
[dump code: task.raku]
[1] my @state;
[2] for config()<list><> -> $v {
[3]   my $s = %( version => $v );
[4]   if "{cache_root_dir()}/{$v}_ok".IO ~~ :e {
[5]     $s<status> = "OK";
[6]   } else {
[7]     $s<status> = "FAIL";
[8]   }
[9]   if "{cache_root_dir()}/{$v}_time".IO ~~ :e {
[10]     $s<time> = "{cache_root_dir()}/{$v}_time".IO.slurp();
[11]   } else {
[12]     $s<time> = "NA";
[13]   }
[14]   @state.push: $s;
[15] }
[16] update_state %( list => @state );
[17] 
[task stdout]
22:35:24 :: [repository] - index updated from https://sparrowhub.io/repo/api/v1/index
run stage: run
source directory does not yet exist, download source archive from storage
22:35:27 :: [repository] - installing pack-unpack, version 0.000001
[task run: task.bash - unpack source archive]
[dump code: task.bash]
[1] set -e
[2] 
[3] file=$(config file)
[4] dir=$(config dir)
[5] 
[6] echo "tar -xzf $file "
[7] 
[8] tar -xzf $file
[9] 
[10] if test $dir; then
[11]   ls -l $dir
[12] fi
[13] 
[14] 
[task stdout]
22:35:29 :: tar -xzf source.tar.gz 
[task run: task.raku - tasks/main]
[dump code: task.raku]
[1] use Text::Table::Simple;
[2] my @columns = ("Rakudo Version", "Status", "Time", "Linux Dist");
[3] my @rows;
[4] my $fail = False;
[5] for config()<tasks><multi-versions><state><list><> -> $i {
[6]   @rows.push: [ $i<version>, $i<status>,  $i<time>, os() ];
[7]   $fail = True unless $i<status> eq "OK";
[8] }
[9] my @table = lol2table(@columns,@rows);
[10] .say for @table;
[11] die "some tests failed" if $fail == True;
[12] 
[task stdout]
22:39:47 :: O----------------O--------O----------------------------------------------------------O------------O
22:39:47 :: | Rakudo Version | Status | Time                                                     | Linux Dist |
22:39:47 :: O================O========O==========================================================O============O
22:39:47 :: | 2023.02        | OK     | 1:09.47 real,112.33 user,2.85 sys | CPU Percentage: 165% | debian     |
22:39:47 :: | 2022.12        | OK     | 1:06.78 real,108.21 user,2.91 sys | CPU Percentage: 166% | debian     |
22:39:47 :: ---------------------------------------------------------------------------------------------------