Skip to content

Commit 9a02f25

Browse files
committed
markdown source builds
Auto-generated via `{sandpaper}` Source : 326fb2b Branch : main Author : Connor Aird <c.aird@ucl.ac.uk> Time : 2025-07-30 16:07:38 +0000 Message : Merge pull request #19 from UCL-ARC/18-make-intro-summary-and-setup Move setup instructions to summary and setup page
1 parent df3750a commit 9a02f25

5 files changed

Lines changed: 50 additions & 125 deletions

File tree

config.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ contact: 'c.aird@ucl.ac.uk'
6666

6767
# Order of episodes in your lesson
6868
episodes:
69-
- introduction.md
7069
- 1-intro-to-unit-tests.md
7170
- 2-intro-to-fortran-unit-tests.md
7271
- 3-fortran-unit-test-syntax.md

index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
site: sandpaper::sandpaper_site
33
---
44

5-
This is a new lesson built with [The Carpentries Workbench][workbench].
5+
This walkthrough aims to...
6+
7+
- Demonstrate the importance of testing Fortran codes with unit tests.
8+
- Show how to write unit tests for Fortran Code using three different frameworks: test-drive, veggies and pFUnit.
9+
- Show how to integrate these tests with both CMake and FPM build systems.
10+
- Highlight the differences between writing unit tests for parallel and serial Fortran code.
611

712

813
[workbench]: https://carpentries.github.io/sandpaper-docs

introduction.md

Lines changed: 0 additions & 87 deletions
This file was deleted.

md5sum.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
"file" "checksum" "built" "date"
22
"CODE_OF_CONDUCT.md" "c93c83c630db2fe2462240bf72552548" "site/built/CODE_OF_CONDUCT.md" "2022-08-05"
33
"LICENSE.md" "16e8eaad880865bc4a41811b3e8fa945" "site/built/LICENSE.md" "2025-02-03"
4-
"config.yaml" "6e8c7b7104aa14df7030bdf56bc276a7" "site/built/config.yaml" "2025-07-30"
5-
"index.md" "a02c9c785ed98ddd84fe3d34ddb12fcd" "site/built/index.md" "2022-04-22"
4+
"config.yaml" "771ca11448c55dcc1b56a10e9fc67738" "site/built/config.yaml" "2025-07-30"
5+
"index.md" "56da64ff09e4ecabeb2f4e14a69bde10" "site/built/index.md" "2025-07-30"
66
"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2022-04-22"
7-
"episodes/introduction.md" "93fe9e03a3ed8acba0e65f965cb04442" "site/built/introduction.md" "2025-07-03"
87
"episodes/1-intro-to-unit-tests.md" "88862c5ce828f8f61806c811076f04dd" "site/built/1-intro-to-unit-tests.md" "2025-07-07"
98
"episodes/2-intro-to-fortran-unit-tests.md" "1d5081efc44daa9f73c653c94d95b0bb" "site/built/2-intro-to-fortran-unit-tests.md" "2025-07-30"
109
"episodes/3-fortran-unit-test-syntax.md" "ecace40e2f93bf3f62821e82770e19ab" "site/built/3-fortran-unit-test-syntax.md" "2025-07-30"
1110
"episodes/4-debugging-a-broken-test.md" "a492b0a1b576f95baa4d1baa0aa67712" "site/built/4-debugging-a-broken-test.md" "2025-07-30"
1211
"instructors/instructor-notes.md" "cae72b6712578d74a49fea7513099f8c" "site/built/instructor-notes.md" "2023-03-16"
1312
"learners/reference.md" "1c7cc4e229304d9806a13f69ca1b8ba4" "site/built/reference.md" "2023-03-16"
14-
"learners/setup.md" "5456593e4a75491955ac4a252c05fbc9" "site/built/setup.md" "2024-01-26"
13+
"learners/setup.md" "ccfecb39370c85c66c1e4363d9c9a887" "site/built/setup.md" "2025-07-30"
1514
"profiles/learner-profiles.md" "12807933e1001fc9684969fa58fb90dd" "site/built/learner-profiles.md" "2025-05-16"

setup.md

Lines changed: 41 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,63 @@
11
---
2-
title: Setup
2+
title: "Setup"
33
---
44

5-
FIXME: Setup instructions live in this document. Please specify the tools and
6-
the data sets the Learner needs to have installed.
5+
## Exercises repository
76

8-
## Data Sets
7+
Throughout this walkthrough, we will use the repository [UCL-ARC/fortran-unit-testing-exercises](https://github.com/UCL-ARC/fortran-unit-testing-exercises) which contains example exercises written in Fortran.
98

10-
<!--
11-
FIXME: place any data you want learners to use in `episodes/data` and then use
12-
a relative link ( [data zip file](data/lesson-data.zip) ) to provide a
13-
link to it, replacing the example.com link.
14-
-->
15-
Download the [data zip file](https://example.com/FIXME) and unzip it to your Desktop
9+
::::::::::::::::::::::::::::::::::::: challenge
1610

17-
## Software Setup
18-
19-
::::::::::::::::::::::::::::::::::::::: discussion
11+
### Challenge 1: Can you clone the exercises repository
2012

21-
### Details
13+
Try to clone the exercises we will use throughout this lesson.
2214

23-
Setup for different systems can be presented in dropdown menus via a `spoiler`
24-
tag. They will join to this discussion block, so you can give a general overview
25-
of the software used in this lesson here and fill out the individual operating
26-
systems (and potentially add more, e.g. online setup) in the solutions blocks.
15+
:::::::::::::::::::::::::::: solution
2716

28-
:::::::::::::::::::::::::::::::::::::::::::::::::::
17+
```bash
18+
$ git clone https://github.com/UCL-ARC/fortran-unit-testing-exercises.git
19+
Cloning into 'fortran-unit-testing-exercises'...
20+
remote: Enumerating objects: 256, done.
21+
remote: Counting objects: 100% (256/256), done.
22+
remote: Compressing objects: 100% (140/140), done.
23+
remote: Total 256 (delta 98), reused 229 (delta 71), pack-reused 0 (from 0)
24+
Receiving objects: 100% (256/256), 45.96 KiB | 4.18 MiB/s, done.
25+
Resolving deltas: 100% (98/98), done.
26+
```
2927

30-
:::::::::::::::: spoiler
28+
:::::::::::::::::::::::::::::::::::::
29+
:::::::::::::::::::::::::::::::::::::::::::::::
3130

32-
### Windows
33-
34-
Use PuTTY
31+
## Software Setup
3532

36-
::::::::::::::::::::::::
33+
To following along with this lesson's exercises you will require the following
3734

38-
:::::::::::::::: spoiler
35+
- Fortran Package Manager (FPM)
36+
- CMake
37+
- pFUnit
3938

40-
### MacOS
39+
::::::::::::::::::::::::::::::::::::: challenge
4140

42-
Use Terminal.app
41+
### Challenge 2: Can you install the above dependencies?
4342

44-
::::::::::::::::::::::::
43+
Try to install the dependencies listed above.
4544

45+
- FPM [Install instructions](https://fpm.fortran-lang.org/install/index.html)
46+
- CMake can be installed via [homebrew](https://formulae.brew.sh/formula/cmake) on mac or your package manager (apt, etc) on Linux.
47+
- pFUnit can be install via the bash script provided in the exercises repo [build-pfunit.sh](https://github.com/UCL-ARC/fortran-unit-testing-exercises/build-pfunit.sh).
4648

47-
:::::::::::::::: spoiler
49+
:::::::::::::::::::::::::::: solution
4850

49-
### Linux
51+
```bash
52+
$ fpm --version
53+
Version: 0.12.0, alpha
5054

51-
Use Terminal
55+
$ cmake --version
56+
cmake version 3.27.0
5257

53-
::::::::::::::::::::::::
58+
$ ./build-pfunit.sh -t
59+
TODO: Add output from tetsing pfunit and implement testing pFUnit.
60+
```
5461

62+
:::::::::::::::::::::::::::::::::::::
63+
:::::::::::::::::::::::::::::::::::::::::::::::

0 commit comments

Comments
 (0)