Automatic Checks in Fire

96 views
Skip to first unread message

Jannis Limperg

unread,
Nov 13, 2018, 11:20:52 AM11/13/18
to chalmers...@googlegroups.com
Hej,

we have just enabled a new set of automatic checks for lab 2a in Fire.
(Checks for 2b will be ready soon.) These checks now run a little
testsuite to check that your code does what it's supposed to do. We hope
that this will help you in preparing your submission (and us in grading it).

The checks work as follows:

- We compile your code, like the previous automatic checks did. If you
get errors or warnings at this stage, some likely causes are:

* You did not include the `module BlackJack where` line at the top of
your module.
* You forgot to add a type signature to a top-level definition.
* You have unnecessary `import` statements.

The error message should tell you what's wrong.

- We test your code. Specifically:

* We run QuickCheck on all properties that appear in the lab text.
(For lab 2a, there aren't any.)
* We check that your solution yields the same results as our official
solution.

If you get a compilation error at this stage, this is likely because
you changed the name or type signature of a function from the lab
text, or you omitted some functions.

If one of the properties is violated, or if your solution diverges
from our solution, the testsuite will report counterexample inputs.
For most properties, it will also report an inequation of the form

<your solution's output> /= <our solution's output>

- We run HLint on your code, as before.

If you want to take advantage of the testsuite for lab 2a but have
already submitted a solution, you may resubmit it (but you don't have to).

Since the testsuite is new this year, it may have bugs. Your solution
may therefore be correct even if the testsuite fails, and we will grade
it either way.

If you have questions or don't know how to interpret the testsuite's
output, please respond to this message and we'll try to help.

Best regards,
Jannis

Felix Nordén

unread,
Nov 14, 2018, 2:12:33 PM11/14/18
to 2018 Functional Programming TDA452 / DIT 143
Hi! When I'm uploading our solution the following errors occur from the test runs:

/root/2/test/Spec.hs:4:1: error: [-Wunused-imports, -Werror=unused-imports]
   
The import of Control.DeepSeq is redundant
     
except perhaps to import instances from Control.DeepSeq
   
To import instances alone, use: import Control.DeepSeq()
 
|
4 | import           Control.DeepSeq (force)
 
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/root/2/test/Spec.hs:5:1: error: [-Wunused-imports, -Werror=unused-imports]
   
The import of Control.Exception is redundant
     
except perhaps to import instances from Control.Exception
   
To import instances alone, use: import Control.Exception()
 
|
5 | import           Control.Exception (ErrorCall, catch, evaluate)
 
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/root/2/test/Spec.hs:6:1: error: [-Wunused-imports, -Werror=unused-imports]
   
The import of Control.Monad is redundant
     
except perhaps to import instances from Control.Monad
   
To import instances alone, use: import Control.Monad()
 
|
6 | import           Control.Monad (unless)
 
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/root/2/test/Spec.hs:10:1: error: [-Wunused-imports, -Werror=unused-imports]
   
The import of Test.Tasty.HUnit is redundant
     
except perhaps to import instances from Test.Tasty.HUnit
   
To import instances alone, use: import Test.Tasty.HUnit()
   
|
10 | import           Test.Tasty.HUnit (testCase, assertFailure)
   
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

--  While building custom Setup.hs for package lab-0.1.0.0 using:
     
/root/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.2.0.1_ghc-8.4.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.2.0.1 build lib:lab test:lab-test --ghc-options " -ddump-hi -ddump-to-file"
   
Process exited with code: ExitFailure 1


The only thing is that we don't import any of these dependencies ourselves. We don't get the errors/warnings when we load the module with the same flags set either, so we're at a loss at the moment. Do you have any tips?
Thanks,
Felix

Thomas Hallgren

unread,
Nov 14, 2018, 2:24:36 PM11/14/18
to Felix Nordén, 2018 Functional Programming TDA452 / DIT 143, lim...@student.chalmers.se
Hi,

As you can see from the file name, these errors are not from your file, so you can ignore them.

Hopefully Jannis can find a way to hide these messages. Perhaps it's also too pedantic to use -Werror=unused-imports...

Best regards,
Thomas Hallgren
--
You received this message because you are subscribed to the Google Groups "2018 Functional Programming TDA452 / DIT 143" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chalmers-fp-20...@googlegroups.com.
To post to this group, send email to chalmers...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chalmers-fp-2018/50d44183-ebed-43f6-aae2-6c57cebecdb1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jannis Limperg

unread,
Nov 14, 2018, 3:08:13 PM11/14/18
to chalmers...@googlegroups.com
Yeah sorry, that's a buggy version of the testsuite which I hoped
wouldn't end up on Fire. It's already fixed in my local version, but it
may take a while for the fix to appear on Fire. My apologies, especially
for the unfortunate timing so close to the submission deadline.

Regards,
Jannis

Arianna Masciolini

unread,
Nov 14, 2018, 3:18:27 PM11/14/18
to 2018 Functional Programming TDA452 / DIT 143
Hej,
I got exactly the same errors and ignored them, but do I have to assume my submission passes all of the "real" tests?

Jannis Limperg

unread,
Nov 14, 2018, 3:30:44 PM11/14/18
to chalmers...@googlegroups.com
> I got exactly the same errors and ignored them, but do I have to assume
> my submission passes all of the "real" tests?

No, I'm afraid you can't assume that. If you get this or similar output,
the tester was able to compile your code, but it did not run the testsuite.

Of course, we will grade your submission anyway, and if it turns out to
be flawed, you have until the final deadline (Nov 30) to resubmit. The
automatic checks should be up again long before that.

Regards,
Jannis

Arianna Masciolini

unread,
Nov 14, 2018, 3:31:45 PM11/14/18
to Jannis Limperg, chalmers...@googlegroups.com
Okay, thank you very much.

Best regards,
Arianna
--
You received this message because you are subscribed to the Google Groups "2018 Functional Programming TDA452 / DIT 143" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chalmers-fp-20...@googlegroups.com.
To post to this group, send email to chalmers...@googlegroups.com.

Jannis Limperg

unread,
Nov 15, 2018, 2:28:37 PM11/15/18
to chalmers...@googlegroups.com
Hej,

the automatic checks for lab 2a should now be working again. Sorry again
for the disruption.

I've also published a new testsuite for lab 2b. Before, the automatic
checks only compiled your submissions and ran HLint on them; the new
checks additionally run a bunch of tests.

Due to a questionable design decision in Fire, we can't remove the old
automatic checks for 2b, since this would delete their results for
groups who have already submitted. So, you'll get two checks, with the
new one superseding the old one (if it doesn't turn out to be buggy again).

Cheers,
Jannis

Jannis Limperg

unread,
Nov 20, 2018, 10:18:22 AM11/20/18
to chalmers...@googlegroups.com
Hej,

as some of you will have noticed, we had another outage of the automatic
checking system, from yesterday evening until ~15:45 today. If you are
affected by this, your checks are shown as "pending" indefinitely. The
problem is now fixed; please resubmit if you want the checks to be run.

Sorry again for the disruption. Also, if you notice something like this,
please feel free to write me an email so that I can fix the issue as
soon as possible.

(Why this always happens right before the deadline eludes me. This time,
I didn't even mess up the testsuite code; it seems like our
infrastructure ran into some sort of network issue.)

Kind regards,
Jannis
Reply all
Reply to author
Forward
0 new messages