Welcome to the Linux Foundation Forum!

Issues with Lab 6.2

The files for Lab 6.2 are incorrectly set up in a couple of ways.

First, the task is to add fastify and rfdc as dependencies and then install them. The problem is that the provided package.json file already has these dependencies listed, so there is nothing to add.

https://training.linuxfoundation.org/cm/LFW211/labs/ch-6/labs-2/package.json

Also, on line 19 of test.js, the assertion call is checking for the wrong value. It should be asserting that range === '>=2.0.0 <3.0.0-0', not range === '>=2.0.0 <3.0.0'. Note the trailing -0.

Another minor gripe is that there is a reference to the labs-1 directory, which should actually say labs-2:

Comments

  • rav2040rav2040 Posts: 7

    I've just completed section 7 and the labs for that section have the same problem. The provided files are already complete, and will pass the tests without me editing them at all. I haven't gone beyond section 7 yet, but I'm wondering if this is an issue for many of the lab files.

  • rav2040rav2040 Posts: 7

    I just completed section 8 and the serial.js file for the second lab is just an empty file.

    https://training.linuxfoundation.org/cm/LFW211/labs/ch-8/labs-2/

  • mstepienmstepien Posts: 191

    Hi @rav2040,

    Thank you for bringing these issues to our attention. We are reviewing your suggestions. Meanwhile we apologize for any inconvenience.

    Thank you,
    Magda
    The Linux Foundation Training Team

  • rav2040rav2040 Posts: 7

    You're welcome. I have since found more issues regarding the labs similar to what I've already posted. There are also multiple spelling/grammar errors throughout the course (e.g. "proceeds" instead of "precedes"). I suggest whoever is responsible for the material go through the whole course and check everything.

  • lpclpc Posts: 7

    In 6.2 Should assertion check if not within that range?
    (range !== ">=2.0.0 <3.0.0-0")
    i.e. For fastify ^2.14.1 I'm getting: "fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions"

  • rav2040rav2040 Posts: 7

    @lpc said:
    In 6.2 Should assertion check if not within that range?
    (range !== ">=2.0.0 <3.0.0-0")
    i.e. For fastify ^2.14.1 I'm getting: "fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions"

    No, the strict equality operator === is correct to check that it's greater than or equal to 2.0.0 or less than 3.0.0.

  • lpclpc Posts: 7

    Ok, so why I'm getting an error on fastify "^2.14.1"? It is within range and accepts MINOR and PATCH

  • rav2040rav2040 Posts: 7

    @lpc said:
    Ok, so why I'm getting an error on fastify "^2.14.1"? It is within range and accepts MINOR and PATCH

    The version number that you include in package.json is not telling you the version of the installed package, it's telling you which versions are permitted to be installed.

    The lab exercise asks you to set the permitted fastify versions to ^2.0.0, which has a meaning of "greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions". ^2.14.1would have a meaning of "greater than or equal to 2.14.1, while accepting all future MINOR and PATCH versions", which is not what the lab is asking you to do.

  • thanks for the feedback @rav2040, very much appreciated. The issues you raised we're fixed a while back.

    Also to confirm, @lpc, Rav is correct, you needed to set the version to ^2.0.0 not ^2.14.1

  • Hi @davidmarkclements , from where to download the updated lab exercises files ?

  • mstepienmstepien Posts: 191

    Hi @manoj150283,

    Please follow instructions provided in Chapter 1. Introduction > Course Information > Course Resources.

    Best,
    Magda
    The Linux Foundation Training Team

  • Hi @mstepien , I downloaded the resource from there but the above fixes are not there. Could you please cross check.

  • coopcoop Posts: 727

    I don't know if this is helpful, but the labs in the https://linuxfoundation.org/cm/LFW211 directory were uploaded on June 7 and the ones in the zip file are exactly as the ones in the subdirectories. The older labs are in the PREVIOUS_VERSIONS directory are indeed older and different as I have verified.

  • lpclpc Posts: 7
    edited September 2020

    The lab exercise asks you to set the permitted fastify versions to ^2.0.0, which has a meaning of "greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions". ^2.14.1would have a meaning of "greater than or equal to 2.14.1, while accepting all future MINOR and PATCH versions", which is not what the lab is asking you to do.

    Assertion fails for "fastify": "^2.0.0". I use 'npm I [email protected]'

    AssertionError [ERR_ASSERTION]: fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions

  • lpclpc Posts: 7

    Assert is outdated: assert(range === '>=2.0.0 <3.0.0', ... should be assert(range === '>=2.0.0 <3.0.0-0',

  • zorawarzorawar Posts: 14
    edited October 2020

    @lpc is correct.
    The output of running the following
    $ node -p "const semver=require('semver'); console.log(new semver.Range('^2.0.0').range)"

    results in >=2.0.0 <3.0.0-0.

    The assertion should be updated.

  • davidmarkclementsdavidmarkclements Posts: 142
    edited October 2020

    hey everyone - I've looked into this and @zorawar and @lpc are correct

    The semver library actually made a breaking change in a minor update - which I find incredibly ironic.

    I changed the assert to:

    assert(/>=2.0.0 <3.0.0/.test(range), ...)
    

    which should be slightly more robust in case the output is tweaked again.

    Downloadable code should be updated shortly

  • Hi, I downloaded the latest resources folder but I don't see the tests updated.

    I am still facing the mentioned issue. Am I missing something here or the files haven't been updated yet?

  • coopcoop Posts: 727

    I can't speak to the specifics, but the resources were last uploaded on December 10, and are in the file https://training.linuxfoundation.org/cm/LFW211/labs-dec-10-2020.zip

  • the change keeps not making it in, I'm sending another update right now that should resolve this once and for all

  • jhonny111sjhonny111s Posts: 1

    i can see any update about this issue, I want propose this approach:

    assert(semver.satisfies(semver.coerce(fastify).version, "^2.0.0"), 'fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions')

  • @jhonny111s are you saying you've downloaded the latest code and this is still an issue?

    @mstepien can you please check that the last code update made it to production?

  • @jhonny111s

    the latest code is https://training.linuxfoundation.org/cm/LFW211/labs-feb-22-2021.zip

    (thanks @mstepien for providing the link)

    as far as I can tell assert(range === '>=2.0.0 <3.0.0-0', 'fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions')

    should work if the version set in package.json is ^2.0.0 (the reason I don't want to put that directly into the assert code is that it gives the answer away)

  • manueldcwmanueldcw Posts: 2

    Hi @davidmarkclements

    I keep looking for the reference to the labs for LFW211 and LFW212 in the training material under Resources, but it just shows a PDF and no links to the lab files, or any mention to the username / password for the htpasswd that is setup to access those files (the link you provided).

    Would you be able to help or escalate this to gain access to the labs in the Training Portal?

  • fcioancafcioanca Posts: 870

    @manueldcw Please check out the Course Resources page in the introductory chapter for details on how to access the lab files.

    Regards,

    Flavia

    The Linux Foundation Training Team

  • manueldcwmanueldcw Posts: 2

    @fcioanca thank you greatly for the speedy response and for pointing me in the right direction. I don't know how I missed it, but many thanks again.

Sign In or Register to comment.