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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

support emoji encoding for Flux jobids #5174

Merged
merged 11 commits into from
May 17, 2023
Merged

Commits on May 16, 2023

  1. libutil: add basemoji, an emoji uint64_t encoding

    Problem: There is no implementation for encoding FLUIDs to emoji
    as described in RFC 19.
    
    Add basemoji, an encoding which uses a table of 576 standard Unicode
    emoji to represent 64 bit unsigned integers in base 576.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    33d428d View commit details
    Browse the repository at this point in the history
  2. libutil/test: add tests for basemoji implementation

    Problem: There are no unit tests for the basemoji encoding for
    64 bit unsigned integers.
    
    Add a set of simple unit tess for basemoji to libutil/test.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    805bc6d View commit details
    Browse the repository at this point in the history
  3. libutil: fluid: support FLUID_STRING_EMOJI

    Problem: Encoding FLUIDs to a string of emoji is not supported.
    
    Use the libutil/basemoji implementation to add a FLUID_STRING_EMOJI
    string type to fluid_string_type_t. Make sure FLUID_STRING_EMOJI is
    supported with fluid_parse(3).
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    eb4dc88 View commit details
    Browse the repository at this point in the history
  4. libutil/test: fix typos in fluid unit test

    Problem: There are a couple cut-and-paste errors in the fluid unit test
    that print type=MNEMONIC when they mean type=DOTHEX.
    
    Fix the typos.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    a3ab55f View commit details
    Browse the repository at this point in the history
  5. libutil/test: test FLUID_STRING_EMOJI

    Problem: There are no unit tests for the FLUID_STRING_EMOJI encoding.
    
    Amend the existing fluid unit tests to exercise this encoding.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    2a01426 View commit details
    Browse the repository at this point in the history
  6. libjob: support emoji jobid encoding

    Problem: libjob does not support encoding flux_jobid_t to emoji.
    
    Add an "emoji" encoding that uses FLUX_STRING_EMOJI to encode
    flux_jobid_t as a string of emoji using the basemoji implementation.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    3c28891 View commit details
    Browse the repository at this point in the history
  7. libjob/test: test the emoji flux_jobid_t encoding

    Problem: No tests in the libjob unit testsuite ensure the "emoji"
    jobid encoding works as intended.
    
    Add some expected emoji output to the libjob unit tests.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    6e9499c View commit details
    Browse the repository at this point in the history
  8. python: add emoji property to JobID class

    Problem: A Python JobID object can't return the emoji encoding of a
    jobid since there's no corresponding class property.
    
    Add an `emoji` property to the JobID class which returns the emoji
    encoding of the jobid.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    3c8de96 View commit details
    Browse the repository at this point in the history
  9. testsuite: test JobID emoji encoding

    Problem: The Python job tests do not test the emoji encoding for JobIDs.
    
    Add a tests for expected 'emoji' encodings of JobIDs.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    be5a75c View commit details
    Browse the repository at this point in the history
  10. python: support id.emoji in output formats

    Problem: The Python job formatting class does not support id.emoji,
    even though emoji is valid jobid encoding.
    
    Add `id.emoji` to various dictionaries as required to support this
    encoding in output formats.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    2a45ed7 View commit details
    Browse the repository at this point in the history
  11. doc: add id.emoji to flux-jobs(1)

    Problem: `id.emoji` is missing from the list of available field names
    in flux-jobs(1).
    
    Add id.emoji to the list of valid field names in the flux-jobs(1)
    manual.
    grondo committed May 16, 2023
    Configuration menu
    Copy the full SHA
    631e983 View commit details
    Browse the repository at this point in the history