Browse Source

vault backup: 2024-07-26 10:31:13

master
Julio Biason 2 months ago
parent
commit
ccf066a511
  1. 28
      .obsidian/workspace.json
  2. 22
      Calendar/2024-07-26 GUI testing.md
  3. 74
      Kanban Pages/HelyxVerify.md

28
.obsidian/workspace.json

@ -38,9 +38,21 @@
"source": false "source": false
} }
} }
},
{
"id": "7ed6e378468e643d",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Calendar/2024-07-26 GUI testing.md",
"mode": "source",
"source": false
}
}
} }
], ],
"currentTab": 1 "currentTab": 2
} }
], ],
"direction": "vertical" "direction": "vertical"
@ -106,7 +118,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "Kanban Pages/HelyxVerify.md", "file": "Calendar/2024-07-26 GUI testing.md",
"collapseAll": true, "collapseAll": true,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -123,7 +135,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "Kanban Pages/HelyxVerify.md", "file": "Calendar/2024-07-26 GUI testing.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} }
@ -146,7 +158,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "Kanban Pages/HelyxVerify.md" "file": "Calendar/2024-07-26 GUI testing.md"
} }
} }
} }
@ -168,10 +180,11 @@
"obsidian-full-calendar:Open Full Calendar": false "obsidian-full-calendar:Open Full Calendar": false
} }
}, },
"active": "1d01cbb8a76aa34a", "active": "7ed6e378468e643d",
"lastOpenFiles": [ "lastOpenFiles": [
"Kanban Pages/Work Kanban.md",
"Kanban Pages/HelyxVerify.md", "Kanban Pages/HelyxVerify.md",
"Calendar/2024-07-26 GUI testing.md",
"Kanban Pages/Work Kanban.md",
"Calendar/2024-07-18 Processes.md", "Calendar/2024-07-18 Processes.md",
"Calendar/2024-07-19 Core Foundation - Testing.md", "Calendar/2024-07-19 Core Foundation - Testing.md",
"Meetings/QA/2024-07-01.md", "Meetings/QA/2024-07-01.md",
@ -200,7 +213,6 @@
"Processes.md", "Processes.md",
"Worklogs/2023-07-31.md", "Worklogs/2023-07-31.md",
"2024-06-20.md", "2024-06-20.md",
"Worklogs", "Worklogs"
"Kanban.md"
] ]
} }

22
Calendar/2024-07-26 GUI testing.md

@ -0,0 +1,22 @@
---
title: GUI testing
allDay: true
date: 2024-07-26
completed: null
---
- "Scriptable tests"? Why?
- Can't we use Allrun/Sbatch and Dicts in core?
- Just run everything, we just need something to compare the results
- Compare WHAT?
- Backward compatibility for macro language
- Stefano not considering something needed for 4.3
- No time for working on it right now
- Changes in the GUI change the macro-language
- "Things need to be notified downstream"
- Same thing with Core and GUI, maybe?
- Slow development down
- But the otherside is the software is more buggy
- Run on "stable" for the integration tests
- "We picked issues with core"
- Then we need more core testing, not integration testing
- Sharepoint copying is not working in the QA pipeline

74
Kanban Pages/HelyxVerify.md

@ -55,16 +55,20 @@ Idea for a Foam-formated file for Verify
// so on. // so on.
runs runs
( (
// This is a quick test: The example is reduced to just 2 timesteps, and // This is a quick test: The example is reduced to just 2 timesteps, and
// we check the resulting file against its MD5 hash. // we check the resulting file against its MD5 hash.
quick { quick {
steps 2; steps 2;
// Any other key name that it is not reserved ("steps", "continuations") // Any other key name that it is not reserved ("steps", "continuations")
// represents a file to be compared. // represents a file to be compared.
"postProcessing/2/qux" { checks
(
{
result "postProcessing/2/qux";
md5 "123123"; md5 "123123";
} }
)
} }
// In case the MD5 fails, the case is run again, but this time reduced to // In case the MD5 fails, the case is run again, but this time reduced to
@ -72,6 +76,15 @@ runs
// listed files to make one follow the timesteps of the previous. The run // listed files to make one follow the timesteps of the previous. The run
// will fail if relative or absolute differences are above 0. // will fail if relative or absolute differences are above 0.
short { short {
// ********** Maybe future improvements **********
execute previousFails; // previousFails, previousPass, always
workspace reuse; // restart (default), reuse
changes {
"foamFile" {
"system/controlDict/timestep" 0.2;
}
}
// ***********************************************
steps 10; steps 10;
// This makes the continuations explicit, by specificing files that // This makes the continuations explicit, by specificing files that
// form a single run. // form a single run.
@ -80,17 +93,22 @@ runs
"system/caseSetupDict.continuation1" "system/caseSetupDict.continuation1"
"system/caseSetupDict.continuation2" "system/caseSetupDict.continuation2"
); );
"postProcessing/10/foo" { checks
(
{
result "postProcessing/10/foo";
reference "verification/10/foo"; reference "verification/10/foo";
variables "phi" "Tmean"; variables "phi" "Tmean";
// No tolerances mean "it will fail if the values are not the same". // No tolerances mean "it will fail if the values are
// not the same as they are in the reference".
} }
// This is a completely different file from the above, with different {
// keys // A different file, with different variables.
"postProcessing/10/bar" { result "postProcessing/10/bar";
reference "verification/10/bar"; reference "verification/10/bar";
variables "Tmin" "Tmax"; variables "Tmin" "Tmax";
} }
)
} }
// If in 10 timestemps the values do not match the reference file, a 100 // If in 10 timestemps the values do not match the reference file, a 100
@ -102,22 +120,29 @@ runs
// This file only appears in the 100 runs, so we can't have a global // This file only appears in the 100 runs, so we can't have a global
// list of files not attached to steps (although it is the same "foo" // list of files not attached to steps (although it is the same "foo"
// from 10 steps). // from 10 steps).
"postProcessing/100/foo" { checks
(
{
result "postProcessing/100/foo";
reference "verification/100/foo"; reference "verification/100/foo";
variables "phi" "Tmean"; variables "phi" "Tmean";
} }
"postProcessing/100/bar" { {
result "postProcessing/100/bar";
reference "verification/100/bar"; reference "verification/100/bar";
variables "Tmin" "Tmax"; variables "Tmin" "Tmax";
} }
)
} }
// If the 100 timesteps fails, then we run the example a 4th time, this // If the 100 timesteps fails, then we run the example a 4th time, this
// time without any reductions (the "steps" property is not set in this // time without any reductions (the "steps" property is not set in this
// run). There are no continations either. // run). There are no continations either.
"run till completion" { "run till completion" {
// With no steps, there is no reduction. checks
"postProcessing/20000/baz" { (
{
result "postProcessing/20000/baz";
reference "verification/20000/baz"; reference "verification/20000/baz";
variables "integral"; variables "integral";
absolute 20; absolute 20;
@ -126,17 +151,17 @@ runs
// absolute different is above 20 OR the relative // absolute different is above 20 OR the relative
// difference is above 20. // difference is above 20.
} }
)
} }
); );
// This is used for filtering. // This is used for filtering.
tags ("GIB" "AES" "compressible"); tags "GIB" "AES" "compressible";
// Only present if the example can't be run in some platform. // Only present if the example can't be run in some platform.
unstable { unstable true;
operatingSystem windows; // valid values: "windows", "linux", "all" operatingSystem windows; // valid values: "windows", "linux", "all"
reason "Allrun uses Python, and Python isn't usually available on Windows"; reason "Allrun uses Python, and Python isn't usually available on Windows";
}
``` ```
Pest: Pest:
```pest ```pest
@ -369,4 +394,21 @@ loop {
- Inside each of those, expand the case (default won't expand, but still....) - Inside each of those, expand the case (default won't expand, but still....)
- We could say it is not possible to add a new verificationDict into variations, but I do like the idea of having a different content for it. - We could say it is not possible to add a new verificationDict into variations, but I do like the idea of having a different content for it.
- Ok, ignoring this for now 'cause it fucks up my thinking. - Ok, ignoring this for now 'cause it fucks up my thinking.
- Expand by run on default, send variations down the pipeline - Expand by run on default, send variations down the pipeline\
# Named dicts
```
list ( name1 { inner 1; } name2 { inner 2; } )
```
```
Dictionary({
"list": [
List(
[Value("name1"), Dictionary({"inner": [Value("1")]}),
Value("name2"), Dictionary({"inner": [Value("2")]})
]
)
]
})
```
Loading…
Cancel
Save