Welcome to HTWG SYSLAB SYSO

This site contains guides and assignments for the SystemSoftware laboratory course.

Overview

Preparation and General Procedure

Please have a close look at our generic HTWG SYSLAB page. Over there, we have set out to maintain an up2date summary and collection of HOWTOs for working with the HTWG SYSLAB environment.

Please study them thoroughly, since it'll be advantageous for all of us if you inform yourself properly before you attempt to start working on the homework assignments :-)

Group Organization

  1. If you haven't done so, please this survey to join a group.
  2. Follow the GitHub Classroom invitation link
    1. If you are the first one in your group, create it according to this scheme: syso-ws18-grpN (N is your group number)
    2. If your group has already created by your teammate, just join it.

Get Help

If you do run into unexpected problems, the HTWG SYSLAB page also lists how to report problems and get help.

Please file common homework related issues on the courses homework repository.

Continuous Integration Scripts

With the CI scripts you can verify your solution before creating a pull request. A subset of the scripts will also be used to automatically verify your Pull-Request. This gives you feedback if your Pull-Request is eligible for manual review at all.

As long as the status checks aren't passed, you must work on your solution. Please, only request a manual review by your course lead and tutors when the status checks pass. This avoids waiting asynchronous and delayed human interaction by giving you immediate feedback.

Merge CI Files

In order to make the checks run successfully you have to ensure your repository has the latest CI files, or any at all :-)

Add The Template Git Remote

If you haven't done so, plese add a new remote to your local clone for the template repository at https://github.com/htwg-syslab-syso/syso-template.

git remote add template git@github.com:htwg-syslab-syso/syso-template.git

Fetch The Latest Commits

Fetch all commits in the template repository with the following command:

git fetch template

Merge Into Your Branch(es)

Now you can merge the latest changes into your branches. Checkout the branch you want to merge the CI files and run

git merge template/master

This procedure is necessary for every branch that you have created a Pull-Request for.

Run Full CI Test-Suite

The full CI test-suite lets you run the full-tests that will be used by your course lead and tutors to verify your solution.

ci/run-all.sh

[warning] The ci/run-all.sh script will call all hwX.sh functions including clean!

# inside your repository (syso-$SEM-grp$NR)
$ ci/run-all.sh
[ ... ]
++++++++++++++++++++++++++++++++++++++++++++++++++++
+            Ready for pull request                +
++++++++++++++++++++++++++++++++++++++++++++++++++++

If something goes wrong during the tests the problem will be noted with an exclamation mark (!) :

# missing file(s):
[...]
hw2: (hw2.txt)
! 'QnA.md' is missing
[...]
# build error:
[...]
! '[...]/syso-$SEM-grp$NR/hwX/hwX.sh' failed.

ci/run-shellcheck.sh

[info] The ci/run-shellcheck.sh script is optional, you don't need to fix shellcheck tips / warnings / errors.

You can run ci/run-shellcheck.sh to check your shell scripts for common problems and get tips to improve your coding style:

# inside your repository (syso-$SEM-grp$NR)
$ ci/run-shellcheck.sh
hw1/hw1.sh
[...]
In hw1/hw1.sh line 14:
    if [ ! -d $src_dir ]; then
              ^-- SC2086: Double quote to prevent globbing and word splitting.

In hw1/hw1.sh line 15:
        mkdir -p $src_dir
                 ^-- SC2086: Double quote to prevent globbing and word splitting.
[...]

You can look up the errors on the shellcheck wiki.

results matching ""

    No results matching ""