profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/kblomqvist/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Kim Blomqvist kblomqvist GE Healthcare Finland http://kblomqvist.github.io Bioinstrumentation, embedded systems

kblomqvist/ghblog-template 8

Responsive blog template for GitHub pages

kblomqvist/gitinstall-phpunit 7

Install PHPUnit as a Git checkout (without PEAR)

kblomqvist/kblom-zf1 5

My external Zend Framework 1 library

kblomqvist/kblom-eagle-lbr 3

My Eagle library

kblomqvist/avr8-usart-boilerplate 2

Quickly setup 8-bit AVR microcontroller to communicate through USART

kblomqvist/SublimeAVR 2

AVR project templates with code completion and navigation

kblomqvist/cclean 1

Yet another C source file cleaner. Removes comments and empty lines.

kblomqvist/aery32-display-cloud 0

Aery32 Display Cloud development repository

issue commentisocpp/CppCoreGuidelines

Is rule C.67 too inflexible?

@hsutter

I am also wondering whether there should be an ‘exception’ regarding abstract classes. If a class has pure virtual functions, is it still necessary to declare copy operations at all? Technically, it is not necessary, as slicing cannot happen.

I.e., I prefer

class Serializable {
public:
    virtual ~Serializable() = default;
    virtual void Serialize(vector<byte>& buffer) = 0;
};

to

class Serializable {
public:
    virtual ~Serializable() = default;
    virtual void Serialize(vector<byte>& buffer) = 0;

protected:
    Serializable(const Serializable&) = default;
    Serializable& operator=(const Serializable&) = default;
};
jwakely

comment created time in 8 minutes

issue commentrobotframework/robotframework

If anything writes to the the console if screws up the alignment of the test status

The issue as I see it as that robot currently assumes that nothing will log to the console (despite providing multiple ways to do so) while a test is running, and that it is ok to leave cursor part way through a line and assume it will not move.

I can think of 4 different ways this could be solved (I prefer option 3)

Option 1 - Keep track of whether anything logs to console during the test run

The first time (in a test) anything logs to console, print a newline char before the output, so the new message goes on a new line.

When the test finishes, check whether anything has logged to the console. It anything has written to the console, output the whole line again, so the console output looks like this:

==============================================================================
Suite                                                                         
==============================================================================
Test1 :: some doc                                                     
hi
Test1 :: some doc                                                     | PASS |
------------------------------------------------------------------------------
Suite                                                                 | PASS |
1 test, 1 passed, 0 failed
==============================================================================

Option 2 - Only output full lines

Don't log the test line until the test finishes, and then log the whole line (incl newline) in one go. The cursor is always left at the start of a new line.

==============================================================================
Suite                                                                         
==============================================================================
hi
Test1 :: some doc                                                     | PASS |
------------------------------------------------------------------------------
Suite                                                                 | PASS |
1 test, 1 passed, 0 failed
==============================================================================

Option 3 - Have the existing robot output be a listener that can be turned off

Have the output (option 1 or 2) being done by a listener that is enabled by default, but turned off using the --console switch. Users could then develop their own listener based on that one if they want it to behave differently.

Option 4 - No change

Don't change anything - users who want this behaviour can implement using --console none](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#console-output-type), and their own listener that uses logger.console

KotlinIsland

comment created time in 2 hours

PR opened ghdl/ghdl

pyGHDL: add ghdl-dom entrypoint

Similarly to ghdl-ls, this PR adds a ghdl-dom entrypoint when pyGHDL is installed, so that user can analise their sources directly:

$ ghdl-dom path/to/a/file
# or
$ ghdl-dom path/to/a/file path/to/anothe/file ...

For instance:

# ghdl-dom libraries/ieee/math_real.vhdl libraries/ieee2008/numeric_bit-body.vhdl
Unknown expression kind 'String_Literal8'(11) in expression '1294'.
Unknown expression kind 'Aggregate'(185) in expression '1298'.
+4 -3

0 comment

2 changed files

pr created time in 4 hours

PR opened ghdl/ghdl

add pyproject.toml

This PR adds a pyproject.toml file for specifying the line-length used by black, which is increased from 88 to 120.

+79 -239

0 comment

23 changed files

pr created time in 7 hours

pull request commentrobotframework/robotframework

Set Test Variable doc update to clarify error conditions

Should this kind of documentation rather go to the documentation of Set Test Variable itself?

chriscallan

comment created time in 9 hours

issue commentrobotframework/robotframework

Show std(out/err) when debugging

Notice that listeners do get all logged messages if they implement log_message method. A problem with messages logged using print() is that they are logged only after the keyword finishes, not when print() is actually called. That's due to our somewhat naïve stdout/stderr intercepting implementation what could possibly be enhanced.

KotlinIsland

comment created time in 9 hours

issue commentrobotframework/robotframework

Show std(out/err) when debugging

I don't think the implementation above (and in PR #3988) is a good idea for these two important reasons:

  • Printed messages should not be written to the console by default because most of the time they just add noise. Being able to enable that could be considered.
  • The implementation only handles messages logged using print(), not messages logged using robot.api.logger or logging.
KotlinIsland

comment created time in 9 hours

pull request commentrobotframework/robotframework

Duplicate stdout and stderr to robot log and original location

This PR has multiple problems:

  • I don't think writing all output to the console by default is a good idea. Having a command line option to enable something like that could be considered, though. We can discuss that further in #3976.
  • This feature has no tests.
  • Plenty of existing tests are failing.
KotlinIsland

comment created time in 9 hours

push eventghdl/ghdl

BuildTheDocs

commit sha c74bb1c2c755643848013f250dc9e521aed72fed

update 603c44d06dd0b3f2f49af25045b46dd8aa72979a

view details

push time in 9 hours

issue commentrobotframework/robotframework

If anything writes to the the console if screws up the alignment of the test status

I don't think there's anything we really can to to fix this. The problem is that we have a single stdout stream and write to it from multiple sources that cannot easily cooperate. It would probably be easiest to just create a separate GUI runner that could show execution in one window/pane and logged messages in another. That should be implemented as a separate project outside the core, though. Or do you have ideas how this could be handled?

KotlinIsland

comment created time in 9 hours

push eventghdl/ghdl

umarcor

commit sha 512422696869fb5615f91cface74a634eb14ff54

testsuite/pyunit: add AllVHDLSources.sh

view details

umarcor

commit sha ee05ac37d1a78c899f9d48dcd45ee22e5a00f892

ci: add MSYS2 jobs for testing DOM with AllVHDLSources.sh

view details

umarcor

commit sha 2033a3769eb75b7b8685385a8f0fe6597986d2fe

testsuite/pyunit/dom: replace AllVHDLSources.sh with AllSources.py

view details

umarcor

commit sha 4416285107eb5d59768ed29692cabdc684e407f5

testsuite/pyunit: add opts '-vs' to pytest call

view details

umarcor

commit sha e145bdc8124a2418f31e044d00cec51c98906dc7

pyGHDL: bump pyVHDLModel to 0.10.1

view details

Patrick Lehmann

commit sha 603c44d06dd0b3f2f49af25045b46dd8aa72979a

Add unit tests for pyGHDL DOM

view details

push time in 9 hours

PR merged ghdl/ghdl

Reviewers
Add unit tests for pyGHDL DOM Interface: Python

This PR adds a job matrix pytest script for testing DOM on MSYS2. By using the feature introduced in #1794, all the *.vhdl sources in the repository are processed. It needs ~4-6~ 8-12 min, however, it's still faster than some other jobs in the same workflow.

My understading is that these jobs cannot fail. When the exceptions are handled, the exit code is 0. When assertion failure happen (#1793) it seems that the exit code is 0 too. As a result, they are not very useful as an automated test yet, but just for human inspection. When the missing features are completed, we might improve DOM.py for it to actually fail.

+25 -2

5 comments

3 changed files

umarcor

pr closed time in 9 hours

pull request commentrobotframework/robotframework

Added Set Tags and Remove Tags to the exception list during sry run

Codecov Report

Merging #4007 (b15d0ab) into master (c53f34e) will decrease coverage by 1.79%. The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4007      +/-   ##
==========================================
- Coverage   75.11%   73.33%   -1.78%     
==========================================
  Files         222      219       -3     
  Lines       18840    18292     -548     
  Branches     3083     2881     -202     
==========================================
- Hits        14150    13412     -738     
- Misses       4163     4307     +144     
- Partials      527      573      +46     
Impacted Files Coverage Δ
src/robot/running/librarykeywordrunner.py 47.14% <0.00%> (-1.29%) :arrow_down:
src/robot/utils/unic.py 61.91% <0.00%> (-34.92%) :arrow_down:
src/robot/utils/encodingsniffer.py 63.08% <0.00%> (-24.61%) :arrow_down:
src/robot/utils/encoding.py 66.67% <0.00%> (-21.56%) :arrow_down:
src/robot/utils/robottypes.py 78.58% <0.00%> (-21.42%) :arrow_down:
src/robot/running/arguments/argumentconverter.py 65.00% <0.00%> (-20.00%) :arrow_down:
src/robot/utils/robotinspect.py 47.62% <0.00%> (-19.04%) :arrow_down:
src/robot/libdocpkg/datatypes.py 77.03% <0.00%> (-17.97%) :arrow_down:
src/robot/utils/etreewrapper.py 67.57% <0.00%> (-14.86%) :arrow_down:
src/robot/utils/compat.py 56.61% <0.00%> (-11.32%) :arrow_down:
... and 81 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update fc57664...b15d0ab. Read the comment docs.

vinayvennela

comment created time in 10 hours

Pull request review commentrobotframework/robotframework

Added Set Tags and Remove Tags to the exception list during sry run

 Set Library Search Order     First.Parameters     Set Library Search Order    NonExisting    Dynamic    First     Parameters++Set Tags+    [Tags]    Tag0+    Set Tags     Tag1    Tag2    Tag3++Remove Tags+    [Tags]    Tag1    Tag2    Tag3+    Remove Tags    Tag2

Please add a newline here.

Yes, we are picky about whitespace usage. The reason is that otherwise there are unnecessary whitespace in diffs in the future.

vinayvennela

comment created time in 10 hours

Pull request review commentrobotframework/robotframework

Added Set Tags and Remove Tags to the exception list during sry run

 Set Library Search Order     Should Be Equal    ${tc.kws[1].name}    Second.Parameters     Should Be Equal    ${tc.kws[2].name}    First.Parameters     Should Be Equal    ${tc.kws[4].name}    Dynamic.Parameters++Set Tags+    ${tc} =    Check Test Case    ${TESTNAME}+    List Should Contain Value    ${tc.tags}    Tag0+    List Should Contain Value    ${tc.tags}    Tag1+    List Should Contain Value   ${tc.tags}    Tag2+    List Should Contain Value   ${tc.tags}   Tag3++Remove Tags+    ${tc} =    Check Test Case    ${TESTNAME}+    List Should Contain Value   ${tc.tags}    Tag1+    List Should Not Contain Value   ${tc.tags}    Tag2+    List Should Contain Value   ${tc.tags}   Tag3++

Check Test Tags could be used here as well.

Extra empty lines at the end of the file should be removed. There should, however, be a new line at the end of the file.

vinayvennela

comment created time in 10 hours

Pull request review commentrobotframework/robotframework

Added Set Tags and Remove Tags to the exception list during sry run

 Set Library Search Order     Should Be Equal    ${tc.kws[1].name}    Second.Parameters     Should Be Equal    ${tc.kws[2].name}    First.Parameters     Should Be Equal    ${tc.kws[4].name}    Dynamic.Parameters++Set Tags+    ${tc} =    Check Test Case    ${TESTNAME}+    List Should Contain Value    ${tc.tags}    Tag0+    List Should Contain Value    ${tc.tags}    Tag1+    List Should Contain Value   ${tc.tags}    Tag2+    List Should Contain Value   ${tc.tags}   Tag3

We have a separate Check Test Tags keyword that could be used to replace all the above like

Check Test Tags    ${TESTNAME}    Tag0    Tag1    Tag2    Tag3
vinayvennela

comment created time in 10 hours

Pull request review commentrobotframework/robotframework

Added Set Tags and Remove Tags to the exception list during sry run

 def _dry_run(self, context, args):             self._handler.resolve_arguments(args)      def _executed_in_dry_run(self, handler):+        keywords_to_execute = ('BuiltIn.Import Library',+                                          'BuiltIn.Set Library Search Order',+                                          'BuiltIn.Set Tags',+                                          'BuiltIn.Remove Tags')

Indentation looks strange. Names should be aligned like

keywords_to_execute = ('BuiltIn.Import Library',
                       'BuiltIn.Set Library Search Order',
                       'BuiltIn.Set Tags',
                       'BuiltIn.Remove Tags')

Did I already mention we are picky about whitespace? :smile:

vinayvennela

comment created time in 10 hours

pull request commentghdl/ghdl

Add unit tests for pyGHDL DOM

This is working as desired now:

========== 17 passed, 1140 xfailed, 1607 xpassed in 465.68s (0:07:45) ==========

Instead of importing and calling DOM, it is called as an external script/tool. That "fixes" the issue with other tests being broken.

I added options -v and -s to the pytest call because the captured output is not shown otherwise. When the remaining features are added and we remove the xfail marks, we might remove those verbosity options too.

Since this is now a pyunit test, it's executed on all jobs, not only on Windows.

umarcor

comment created time in 10 hours

issue commentrobotframework/robotframework

Rebot generates invalid output.xml when using `--removekeywords` and there's IF on test case level

The aforementioned problem was fixed in the above commit.

mkorpela

comment created time in 10 hours

push eventrobotframework/robotframework

Pekka Klärck

commit sha ef0466d89e2d41e660c84130d87dd0bf42ac0a24

Fine-tune "--removekeywords all" with IF/ELSE Instead of removing IF/ELSE branches from the root IF element, remove contents of each branch. This preserves IF/ELSE in log file. Fixes #4009.

view details

push time in 10 hours

issue closedrobotframework/robotframework

Rebot generates invalid output.xml when using `--removekeywords` and there's IF on test case level

Here is the test case:

*** Test Cases ***
Testing 2
   IF  1 == 1
       Log  hello
   ELSE
       Log  none
   END
   Keyword

*** Keywords ***
Keyword
   IF  1 == 1
       Fail
   ELSE
       Log  none
   END

Then do rebot --log NONE --report NONE --xunit NONE --consolecolors off --NoStatusRC --removekeywords all --output output_invalid.xml output.xml If you do: rebot --log NONE --report NONE --xunit NONE --consolecolors off --NoStatusRC --removekeywords all --output output_invalid.xml output_invalid.xml Boom =>

[ ERROR ] Reading XML source 'output_invalid.xml' failed: Incompatible child element 'doc' for 'if'.

Try --help for usage information.

closed time in 10 hours

mkorpela

startedsim-museum/esports-for-engineers

started time in 11 hours

issue commentpallets/jinja

macro.defaults is not available

The defaults attribute was intentionally removed in 2.9 (see 9b2a4f49c61dc81c51db1a3f30aeb90e4c700ecd). Looks like the docs need to be updated to reflect this.

jamesfreeman959

comment created time in 12 hours

issue commentrobotframework/robotframework

Rebot generates invalid output.xml when using `--removekeywords` and there's IF on test case level

I merged #4010 and it fixes the crash. A problem now is that the IF structure is completely removed from the log file. Considering that all keyword data is removed, we could consider this fine but I'd like to have something left there. Anyway, this is a lot smaller problem than the crash.

mkorpela

comment created time in 13 hours

pull request commentghdl/ghdl

Python-C/Ada Bindings - Updated decorator

Please have a look at TODO 4. Other stuff is done so far and ready for merge.

Paebbels

comment created time in 13 hours

push eventrobotframework/robotframework

Mikhail Tuev

commit sha 847fa44890b1f7909b26ad71421f3193667f1e43

Allow `<doc>` inside `<if>` in output.xml See #4009.

view details

push time in 13 hours

PR merged robotframework/robotframework

#ISSUE-4009 try to fix problem with doc tag

@pekkaklarck @mkorpela Hi, guys! I try to fix this problem. Tests before fix: image After fix: image

+2 -2

3 comments

2 changed files

miktuy

pr closed time in 13 hours

pull request commentrobotframework/robotframework

#ISSUE-4009 try to fix problem with doc tag

Looks good! The updated test makes sure there's no crash, but it would be good to also actually validate that IF works correctly. I can add a test for that separately. I also want to anyway check how this looks in the log file.

miktuy

comment created time in 13 hours

issue commentrobotframework/robotframework

Keyword documentation scrollbar issues in a small browser window

Thanks for review @mkorpela and even bigger thanks for the PR @asonkeri!

asonkeri

comment created time in 14 hours