Error: Inappropriate ioctl for device

Hi,
I'm using the FLIR lepton 3.5 with the breakoutboard v2.0 and when I'm running the command "sudo pylepton_capture output.png", I'm getting the error " Error: Inappropriate ioctl for device ". Can anyone please help me with this as it's urgent.
Also what is the pinlayout specified?
Best,
Aravind

I am having the same problem right now using it through USB. Did you ever figure out a solution to the error?
Thanks,
Owen

@AravindSadashiv1998 just to what your output is when you run:
cat /sys/module/spidev/parameters/bufsiz
Typical this should typically return 4096 bytes by default.. however when messing around trying to increase this number to the suggested 65535, the buffer returning an error or a very low number i.e. 4 when check with the above cmd. this in turn creates the 'Inappropriate ioctl for device '
to fix it I went ahead and reduced that size down using:
sudo nano /boot/cmdline.txt and add in the end:
spidev.bufsiz= 131072
Reboot after and check again.

@mishave I just tried that, still the same error.

@mishave I just tried that, still the same error.

Apologies, just saw this, will set one up over the next week and see what comes up, I do remember it being a pain to set up. from memory, I did it using the lepton3-dev branch i.e.git clone -b lepton3-dev https://github.com/groupgets/pylepton.git keep in mind there are a few things you need to fix within that.

@Tylersuard @jcarolinares Alrighty so, i started with a fresh build so had to reinstall everything first up opencv install issues-
pip3 install opencv-python > would not work getting such on install, so I tried installing the previous build as per below:
pip3 install opencv-python==<IP_ADDRESS>
also installed NumPy:
`pip install -U numpy'
once that was installed I made a copy of the lepton3-dev branch:
git clone -b lepton3-dev https://github.com/groupgets/pylepton.git
ran install sudo python setup.py install then tried to run pylepton_capture output.png which threw a cv2 import error..
Tried installing the contrib package and manually some of its dependencies using:
pip3 install opencv-contrib-python; sudo apt-get install -y libatlas-base-dev libhdf5-dev libhdf5-serial-dev libatlas-base-dev libjasper-dev  libqtgui4  libqt4-test
after that I was getting the ioctl error:
pi@raspberrypi:~/pylepton $ pylepton_capture output.png
Traceback (most recent call last):
File "/usr/local/bin/pylepton_capture", line 37, in
image = capture(flip_v = options.flip_v, device = options.device)
File "/usr/local/bin/pylepton_capture", line 10, in capture
a,_ = l.capture()
File "/usr/local/lib/python3.7/dist-packages/pylepton/Lepton3.py", line 55, in capture
Lepton.capture_segment(self._handle, self._xmit_buf[:self._msg_size * Lepton.ROWS], self._msg_size, self._capture_buf[0])
File "/usr/local/lib/python3.7/dist-packages/pylepton/Lepton.py", line 125, in capture_segment
ret = ioctl(handle, iow, xs_buf[xs_size * (60 - messages):], True)
OSError: [Errno 90] Message too long
So I checked the buf size and it returned:
pi@raspberrypi:~/pylepton $ cat /sys/module/spidev/parameters/bufsiz
4096
Extended the buf size:
pi@raspberrypi:~/pylepton $ sudo nano /boot/cmdline.txt
and add the following to the end:
spidev.bufsiz=65535
pi@raspberrypi:~/pylepton $ sudo reboot
Run the in built script
sudo pylepton_capture output.png
happy days.

#66 merged which reduces the spidev buffer size again, because apparently it works with the smaller message sizes. Let me know if there are issues with this approach.


Remove six dependency

This PR contains some clean-up work following the first phase of porting apache beam to Python 3.

Remove six dependency
When starting the porting work, we decided to use the future package instead of the six package, since it allows us to port our code forward instead of back. This should simplify the future addition of Python 3 code and the refactoring if Python 2 support would ever be dropped.

Run py2to3 pylint on apache_beam module
During porting, the list of modules to run this test on was extended with every ported module. Now that the phase has finished, we can run it on the whole apache_beam module.

Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---
---

Run Python PreCommit

R: @tvalentyn @Fematich

I fixed the typo and removed the unused FUTURIZE_EXCLUDED.

@charlesccychen could you merge this please?

@charlesccychen This PR seems like ready to merge. Could you please help merge this?

Run Python PreCommit

Thanks! I will merge this after tests pass.  Can you also run the postcommit after the precommit passes?

Run Python PostCommit

Both tests passed. I just added a small change removing the six dependency from the dependency owners list.

We can also remove six from https://github.com/apache/beam/blob/master/sdks/python/container/Dockerfile in this or follow-up PR.

Thanks!


futurize: bug in converting "if type(fn) in types.StringTypes:"

Currently this conversion is done::
-        if type(fn) in types.StringTypes:
+        if type(fn) in str:

which is clearly wrong ...

A work around for this issue I found is to call types.StringType directly:
import types
Bar = type(types.StringType('Bar'), (Foo,), {})

Hi,
What is the status of this? I just ran into it today. Seems like the correct conversion would be to this:
if isinstance(some_string, types.StringTypes):


Missing require.main inside of scripts loaded inside of isolateModules callback

🐛 Bug Report

If some script would be required inside of jest.isolateModules callback then require.main would be null inside of it. Thank is not how NodeJS works and not how the same script would work if it would be loaded outside of jest.isolateModules
To Reproduce
Steps to reproduce the behavior:
Consider a super simple script that would just use require.main.require index.js
const path = require('path')

module.exports = () => require.main.require(path.resolve(__dirname, './package.json'))

And a test for it
let foo
jest.isolateModules(() =>
  foo = require('./index')
)

test('test', () => {
  expect(foo()).toEqual({
    dependencies: { jest: '^25.1.0' },
    name: 'jest-main-require-bug',
    scripts: { test: 'jest' },
    version: '1.0.0'
  })
})

Expected behavior
The test should pass. And it will, if only 2 and 4 lines of index.test.js that wrap require inside of jest.isolateModules would be removed
Link to repl or repo (highly encouraged)

https://github.com/Alexsey/jest-require-main-bug
envinfo

npx: installed 1 in 3.765s

  System:
    OS: Windows 10 10.0.18362
    CPU: (4) x64 Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
  Binaries:
    Node: 13.7.0 - C:\Program Files\nodejs\node.EXE
    npm: 6.13.6 - C:\Program Files\nodejs\npm.CMD
  npmPackages:
    jest: ^25.1.0 => 25.1.0

Looks like the same problem will exist with .parent?
I think we need to drop the "swapping out the module registry" approach and instead introduce an optional "first check the isolated module registry if it exists" somewhat similar to how we first check for mocks before real modules.
We can then enable that logic for certain types of lookups (like standard require) but not others (like .parent).

@jeysal yeah, agreed. The current approach is a bit too naive

Can I help with this? Or does #10610 fix this?

Yes please!
#10610 does not fix it since _isolatedModuleRegistry will still take preference. So we need to somehow keeping track of the main module.


Axios dependancy IE11 issue

Hi,
Having an issue in ie11
'URLSearchParams' is undefined in IE 11
i believe it's to do with the Axios dependancy.
Do you have any workarounds?

Hi @tolkienosborn
URLSearchParams is part of the URL Standard specifiications and is supported by all major browsers, see https://caniuse.com/urlsearchparams.
Unfortunately as you've noticed it isn't supported by Internet Explorer, if you need to support Internet Explorer I suggest using a polyfill e.g. https://github.com/ungap/url-search-params

Hi @tolkienosborn
URLSearchParams is part of the URL Standard specifiications and is supported by all major browsers, see https://caniuse.com/urlsearchparams.
Unfortunately as you've noticed it isn't supported by Internet Explorer, if you need to support Internet Explorer I suggest using a polyfill e.g. https://github.com/ungap/url-search-params


SUNRGBD dataset can't be processed correctly using the matlab script.

SUNRGBD dataset can't be preprocessed correctly using the matlab script.
When preparing SUNRGBD dataset, after running matlab -nosplash -nodesktop -r 'extract_split;quit;', there is nothing generated. I download this dataset again and check out the md5 checksum, but the problem still exists.
It seems that three matlab scripts can't deal with this version of SUNRGBD correctly.

After debugging, I found that the script can run properly only after changing the number 16 to 24 shown as follows:
% ...
data = SUNRGBDMeta(imageId);
data.depthpath(1:24) = '';
data.depthpath = strcat('../OFFICIAL_SUNRGBD', data.depthpath);
data.rgbpath(1:24) = '';
data.rgbpath = strcat('../OFFICIAL_SUNRGBD', data.rgbpath);
% ...

And don't have to change the behavior of  try ... catch ... block, because some of the data is not suitable for training. Unsuitable data is filtered out by the catch block.


Stop mixing Result and Option with ? in inline_local_variable

Depending on the discussion in https://github.com/rust-lang/rfcs/pull/3058 this might not end up being necessary, but I think it's a reasonable change regardless.

Definitely a good change.
bors r+


Switch to stable swagger

https://github.com/Azure/azure-rest-api-specs/tree/main/specification/storage/data-plane/Microsoft.BlobStorage/stable/2021-12-02


Feature Request - Disable Notifications

I would be nice to be able to disable the notifications at the end of execution.

Hi, @atbyrd
Thank you for using my package.
It's a good idea. I will try to provide notification control option.

@atbyrd
I released v0.7.0, add notification config option.
https://github.com/tomoya/rubocop-auto-correct/releases/tag/v0.7.0

Please check it :smile:

Cool Thanks

For some reason I don't have an option to view settings. I'm on Yosemite.

Your install ver is 0.6.1. so you don't upgrade yet.
Please upgrade to 0.7.0

I've upgraded to 0.7.0. I showed the settings button when I logged in but nothing happened when I clicked on it. When I go and view it under installed packages the button is not there.

ummm,
Possibly , Atom package site is stuffed.
If can you use terminal, run apm update command in terminal. Or after a while, please try again.

I've completley reinstalled atom with only 2 other packages and still no luck.

If I click in the area (box) I can get to settings !

oh, maybe atom's bug?
But, could you find notification check?

Yea, the options are available. Seem just find other than the button is missing

I was relieved, that you are using options.
Maybe, settings button issue is atom's problem (cache, etc).

This issue is closed.
Thank you for first feature request @atbyrd


receive data with bad breaking line

Summary of Problem
(Please answer all 3)

What are you trying to do?
What happens?
What should have happened?

my question is the same as #1714

Like it was finding some "\n" in the mid of the Serial prints, telling the bus that the write is complete.

if device send the same data, like '123456789',but i will receive like :

'12345'
'6789'
or
'12'
'3456789'

and the other random situations
that issue is closed but not resolve, plz resolve it.
Code to Reproduce the Issue
const serial = new serialPort('/dev/ttyUSB0', { baudRate: 115200 });

serial.on('data', data => {
  console.log(data.toString());
})

// Code

Versions, Operating System and Hardware

SerialPort@?
v7.1.5
Node.js v?
v8.16.1
Windows? Linux? Mac?
linux, but my application is  in docker
docker version
v19.03.4
Hardware and chipset? (Prolific/FTDI/Other)

reopen, this is a huge issue, which needs to be resolved


Hundreds of electron process

Hi,
After using and restarting many times, I see that we have hundreds of electron process,
maybe it will help to use something like https://www.npmjs.com/package/child-killer to ensure process are dead when the parent process dies.

That sounds very strange. Is your application exited gracefully or crashing?

We are using pm2 (https://github.com/Unitech/pm2) and doing pm2 restart. I am not exactly sure how it kill the process.

It looks like pm2 is sending a SIGINT to the process. So you might want to add the screenshot.close() call like this:
process.on('SIGINT', function() {
  screenshot.close();
});

Tried that... no luck. we still have hundreds of process.
BTW, we are using scale to 20. Is that related ?

Scale 20 should just scale the amount to 20 processes (so approx. 20 electron + 20 electron helpers)

Maybe using something like https://npmjs.org/package/child-killer when spawning the process could help ?

This sounds really strange. Is the callback called by pm2? child-killer is polling every 100ms for each process, I would rather not do that.

We are using Ubuntu 15.04.
What solved the problem is listening fro SIGTERM:
process.on('SIGTERM', function () {
		screenshot.close();

		setTimeout(function() {
			process.exit(0);
		}, 1000)
	});

Glad you found a solution.


Libs history

Replaces #1 which was closed by GitHub for reasons unknown (and not worth trying to find out why).
Includes the latest changes to libs/, per the comments by @eriknordmark on the original PR. Also added some basic GitHub workflows.

DCO has to be ignored for this, as there are some very old pre-DCO commits which we won't go back and sign retroactively.
Note that the actions actually did not run, because they have not been marked as required. @eriknordmark can you go into settings and mark them, and then they will run?


ENH: Get name of weekday from number

In some cases (i.e:grouping by weekday in MySQL) you get the position of day in the week, but in order to make data readable you need to show week day name.
The common solution is create an array with weekday number and name, but in yii this implies making the week days translation again.
Having a function like getWeekdayName could solve this.
What i´m doing to get the translated name is
Yii::$app->formatter->asDatetime(strtotime('Monday +{$dayNumber} days'), "E")

We have the data in intl's ICU bundles so technically possible.

@cebe what do you think?

How about month names etc?

:+1: for this. I always end up implementing my own Formatter where I add something like:
public function asWeekday($day, $format = 'php:l', $firstDay = 'Sunday') {
	return $this->asDate(strtotime("{$firstDay} +{$day} days"), $format);
}

I'm not sure it's worth spending of core team time, but acceptable as a PR.

Won't be implemented in 2.0.


Nsabri1/s3

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement
Learn more about why HashiCorp requires a CLA and what the CLA includes

0 out of 2 committers have signed the CLA.

[ ] Nadeem
[ ] nsabri1

Nadeem seems not to be a GitHub user.
You need a GitHub account to be able to sign the CLA. If you already have a GitHub account, please add the email address used for this commit to your account.
Have you signed the CLA already but the status is still pending? Recheck it.


Improve postprocess

Codecov Report

Merging #12 into master will decrease coverage by 20.25%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           master      #12       +/-   ##
===========================================
- Coverage   74.14%   53.88%   -20.26%
===========================================
  Files           7        7
  Lines         379      373        -6
===========================================
- Hits          281      201       -80
- Misses         98      172       +74

Impacted Files
Coverage Δ

src/postprocess.jl
0.00% <0.00%> (ø)

src/SnoopCompileBot.jl
46.87% <0.00%> (-31.25%)
:arrow_down:

src/botutils.jl
40.42% <0.00%> (-30.11%)
:arrow_down:

src/precompile_include.jl
57.00% <0.00%> (-28.32%)
:arrow_down:

src/snoop_bench.jl
57.77% <0.00%> (-5.27%)
:arrow_down:

src/snoop_bot.jl
70.31% <0.00%> (-4.69%)
:arrow_down:

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 2bca967...601410e. Read the comment docs.


No version is available

Issue description
This provider does not include any version information.  This makes validating which version you have very problematic.
Steps to reproduce the issue

View Terraform version:$ terraform version

What's the expected result?
Output would look something like:
Terraform v0.12.1
+ provider.conjur v0.2

What's the actual result?
Terraform v0.12.1
+ provider.conjur (unversioned)

This seems to be a file naming issue. We just need to append _v<semver to the name of the plugin during installation but it requires some doc/brew/goreleaser changes.

Closing via https://app.zenhub.com/workspace/o/cyberark/terraform-provider-conjur/issues/55


chore: release 1.1.0

:robot: I have created a release *beep* *boop*
1.1.0 (2024-12-09)
Features

automatically bump python version (0a5ad96)

Bug Fixes

fatal: You are not currently on a branch. (8a17e9d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/leouchoapedreira/fix-release-please/releases/tag/v1.1.0 :sunflower:


Search page typo - "death" in age at death search box is missing a "h"

Now correct, thank you.


MacOSX10.12.sdk build failure:

Hi,
Which Xcode SDK should I use?
warning: unknown warning option '-Wno-expansion-to-defined'; did you mean '-Wno-macro-redefined'? [-Wunknown-warning-option]
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_monitor.m:28:
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/internal.h:182:
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_platform.h:31:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:29:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/HIToolbox.h:240:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/IMKInputSession.h:23:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:10:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h:5:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:19:21: error:
expected a type

(id)copyWithZone:(nullable NSZone *)zone;

That's very weird. I'm not aware of 10.12 SDK problems in GLFW, but I have switched to the latest SDK versions as they are coming out (so since High Sierra I'm on the 10.13 SDK).
I'm on the 10.13 SDK, OSX 10.13.5 Beta and Xcode 9.4 with the 9.4 command line tools.
I just tried a fresh checkout and that worked:
> git clone --depth=1 https://github.com/floooh/oryol
> cd oryol
> ./fips build
...
** BUILD SUCCEEDED **

1 configs built
> ./fips run Triangle

Can you try that?
Unfortunately I can't simply switch to an older base SDK in my Xcode installation (I guess I need to install an old Xcode for that?)

Thanks for your response.
I have upgraded to OSX Siera (latest) and also to the latest Xcode and SDK.
I still cant make it work.
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:43:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:25:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/os/availability.h:58:160: note: expanded from macro 'API_AVAILABLE'
    #define API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__API_AVAILABLE5, __API_AVAILABLE4, __API_AVAILABLE3, __API_AVAILABLE2, __API_AVAILABLE1)(__VA_ARGS__)
                                                                                ^
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_monitor.m:28:
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/internal.h:182:
In file included from /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_platform.h:28:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/dlfcn.h:41:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/Availability.h:206:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/AvailabilityInternal.h:33238:57: note: expanded from macro
      '__API_AVAILABLE3'
    #define __API_AVAILABLE3(x,y,z)  __API_A(x) __API_A(y) __API_A(z)
                                                        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/AvailabilityInternal.h:33235:79: note: expanded from macro '__API_A'
    #define __API_A(x) __attribute__((availability(__API_AVAILABLE_PLATFORM_##x)))
                                                                              ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/AvailabilityInternal.h:33230:60: note: expanded from macro
      '__API_AVAILABLE_PLATFORM_ios'
    #define __API_AVAILABLE_PLATFORM_ios(x) ios,introduced=x
                                                           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.

** BUILD FAILED **

The following build commands failed:
	CompileC /Users/freebsd/repo/_dev/fips-build/oryol-samples-master/osx-xcode-debug/fips-glfw_glfw3/oryol-samples.build/Debug/glfw3.build/Objects-normal/x86_64/cocoa_init.o /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_init.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/freebsd/repo/_dev/fips-build/oryol-samples-master/osx-xcode-debug/fips-glfw_glfw3/oryol-samples.build/Debug/glfw3.build/Objects-normal/x86_64/cocoa_joystick.o /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_joystick.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/freebsd/repo/_dev/fips-build/oryol-samples-master/osx-xcode-debug/fips-glfw_glfw3/oryol-samples.build/Debug/glfw3.build/Objects-normal/x86_64/cocoa_monitor.o /Users/freebsd/repo/_dev/fips-glfw/glfw/src/cocoa_monitor.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(3 failures)
[ERROR] Failed to build config 'osx-xcode-debug' of project 'oryol-samples-master'
nsa-000:oryol-samples-master freebsd$

Very weird, can you try a simpler project in a new directory?:
> mkdir ~/scratch
> cd scratch
> git clone https://github.com/floooh/chips-test
> cd chips-test
> ./fips build
...
> ./fips run kc87

Also let's check if any required tools versions are different, on my side:
> cmake --version
cmake version 3.11.2
> python --version
Python 2.7.15
> xcodebuild -version
Xcode 9.4
Build version 9F1027a
> clang --version
Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

...and the GLFW version:
> cd fips-glfw
> git rev-parse HEAD
154a124127e9356a3d0a636b055906bce257158b
> cd glfw
> git rev-parse HEAD
fcedb0be325425a6ad16d53349f2008ac4fc05d3

Cheers!

Hi,
Here is the info you requested.
nsa-000:oryol-samples-master freebsd$ ./stats.sh
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Python 2.7.13
Xcode 9.4
Build version 9F1027a
Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
nsa-000:oryol-samples-master freebsd$
I also run the chips-test example:
In file included from /Users/freebsd/repo/_dev/oryol-samples-master/scratch/fips-glfw/glfw/src/cocoa_monitor.m:28:
In file included from /Users/freebsd/repo/_dev/oryol-samples-master/scratch/fips-glfw/glfw/src/internal.h:182:
In file included from /Users/freebsd/repo/_dev/oryol-samples-master/scratch/fips-glfw/glfw/src/cocoa_platform.h:31:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:39:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LaunchServices.h:22:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/IconsCore.h:23:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/OSServices.h:27:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/CSIdentity.h:43:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:31:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Security.framework/Headers/SecItem.h:796:36: error: expected a version of the form
      'major[.minor[.subminor]]'
    **API_AVAILABLE(macos(10.7), ios(NA), bridgeos(NA));**

hmm, I'm running out of ideas unfortunately... next thing I would try is to build the 'official' GLFW samples and check if they have the same problem: https://github.com/glfw/glfw


change hardcoded names of loggers to __name__

This is PR related to RFC posted here: https://discuss.tvm.apache.org/t/pre-rfc-generic-logger-names-in-python/12611 . I've changed hardcoded logger names to generic __name__.  I've changed most of the examples, but few I didn't touch - let's discuss them, because I'm not sure wether change it.
Points to discuss:

./autotvm/graph_tuner/base_graph_tuner.py:        self._logger = logging.getLogger(name + "_logger")
./meta_schedule/testing/tune_te_meta_schedule.py:logging.getLogger("tvm.meta_schedule").setLevel(logging.DEBUG)
./meta_schedule/testing/tune_relay_meta_schedule.py:logging.getLogger("tvm.meta_schedule").setLevel(logging.DEBUG)
./driver/tvmc/main.py:    logging.getLogger("tvm.driver.tvmc").setLevel(40 - args.verbose * 10)

I hope I didn't break your workflows:)

@areusch @junrushao1994 review needed

Not sure why the tests are failing :-(

Let's leave this PR open for 1 week or 2 just in case there is any legit concern :-)

@pfk-beta I can answer your question in MetaSchedule:

./meta_schedule/testing/tune_te_meta_schedule.py:logging.getLogger("tvm.meta_schedule").setLevel(logging.DEBUG)
./meta_schedule/testing/tune_relay_meta_schedule.py:logging.getLogger("tvm.meta_schedule").setLevel(logging.DEBUG)

These two are independent files, which are not imported to the system by default; Both are supposed to be run from command line for demo usage. Therefore, it makes sense to leave it as it is

Not sure why the tests are failing :-(

I'm not expert in reading test output of TVM, but when I open full logs(https://ci.tlcpack.ai/blue/rest/organizations/jenkins/pipelines/tvm/branches/PR-11089/runs/1/nodes/348/steps/786/log/?start=0) I can see on this timestamp (2022-04-21T11:25:28.044Z) huger error, here is only part:
[2022-04-21T11:25:28.044Z] DEBUG:tvm.autotvm.tuner.tuner:No: 19	GFLOPS: 0.00/93.74	result: Traceback (most recent call last):
[2022-04-21T11:25:28.044Z]   File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 721, in __call__
[2022-04-21T11:25:28.044Z]     yield remote, remote.load_module(os.path.split(build_result.filename)[1])
[2022-04-21T11:25:28.044Z]   File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 685, in run_through_rpc
[2022-04-21T11:25:28.044Z]     costs = time_f(*args).results
[2022-04-21T11:25:28.044Z]   File "/workspace/python/tvm/runtime/module.py", line 297, in evaluator
[2022-04-21T11:25:28.044Z]     blob = feval(*args)
[2022-04-21T11:25:28.044Z]   File "tvm/_ffi/_cython/./packed_func.pxi", line 323, in tvm._ffi._cy3.core.PackedFuncBase.__call__
[2022-04-21T11:25:28.044Z]   File "tvm/_ffi/_cython/./packed_func.pxi", line 257, in tvm._ffi._cy3.core.FuncCall
[2022-04-21T11:25:28.044Z]   File "tvm/_ffi/_cython/./packed_func.pxi", line 246, in tvm._ffi._cy3.core.FuncCall3
[2022-04-21T11:25:28.044Z]   File "tvm/_ffi/_cython/./base.pxi", line 163, in tvm._ffi._cy3.core.CALL
[2022-04-21T11:25:28.044Z] tvm._ffi.base.TVMError: Traceback (most recent call last):
[2022-04-21T11:25:28.044Z]   4: TVMFuncCall
[2022-04-21T11:25:28.044Z]         at /workspace/src/runtime/c_runtime_api.cc:477
[2022-04-21T11:25:28.044Z]   3: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
[2022-04-21T11:25:28.044Z]         at /workspace/include/tvm/runtime/packed_func.h:1217
[2022-04-21T11:25:28.044Z]   2: tvm::runtime::RPCWrappedFunc::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
[2022-04-21T11:25:28.044Z]         at /workspace/src/runtime/rpc/rpc_module.cc:127
[2022-04-21T11:25:28.044Z]   1: tvm::runtime::RPCClientSession::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)> const&)
[2022-04-21T11:25:28.044Z]         at /workspace/src/runtime/rpc/rpc_endpoint.cc:1009
[2022-04-21T11:25:28.044Z]   0: tvm::runtime::RPCEndpoint::CallFunc(void*, TVMValue const*, int const*, int, std::function<void (tvm::runtime::TVMArgs)>)
[2022-04-21T11:25:28.044Z]         at /workspace/src/runtime/rpc/rpc_endpoint.cc:801
[2022-04-21T11:25:28.044Z]   File "/workspace/src/runtime/rpc/rpc_endpoint.cc", line 801
[2022-04-21T11:25:28.044Z] TVMError:
[2022-04-21T11:25:28.044Z] ---------------------------------------------------------------
[2022-04-21T11:25:28.044Z] An error occurred during the execution of TVM.
[2022-04-21T11:25:28.044Z] For more information, please see: https://tvm.apache.org/docs/errors.html
[2022-04-21T11:25:28.044Z] ---------------------------------------------------------------
[2022-04-21T11:25:28.044Z]   Check failed: (code == RPCCode::kReturn) is false: code=kShutdown
[2022-04-21T11:25:28.044Z]
[2022-04-21T11:25:28.044Z] During handling of the above exception, another exception occurred:

Let's leave this PR open for 1 week or 2 just in case there is any legit concern :-)

I think 05.05 may be good date for merging :D

./autotvm/graph_tuner/base_graph_tuner.py: self._logger = logging.getLogger(name + "_logger")
./meta_schedule/testing

BaseGraphTuner which has such construction, is inherited by 2 different GraphTuners, which are located in separate files. I suggest to use following logger name: __name__ + "__" + name, or remove _logger field from BaseGraphTuner and its children.

@jroesch @kevinyuan I can see that you contributed to the codebase of BaseGraphTuner, and logging mechanism there. Can you describe, if you remember that (2-3 years ago...), what was the intent for such configuration?

Well..I think we could take a series of incremental steps towards this goal. If there is anything uncertain in some particular places like you mentioned, we might defer those to a second PR to figure out, and use this first PR to clear the path for easier ones

Well..I think we could take a series of incremental steps towards this goal. If there is anything uncertain in some particular places like you mentioned, we might defer those to a second PR to figure out, and use this first PR to clear the path for easier ones

I think, we should look closer at loggers in GraphTuners, and decide how should look mechanism for logging there - imho additional PR is not needed.

I'm not fluend with your CI so I have rebased branch on to of main - maybe the problem is old version of main. I have pushed changes with flag --force-with-lease. I hope it will help

@pfk-beta yep, i think you may need to adjust some logger values in tests as well. take a look at the tests view, which coudl help. https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/PR-11089/6/tests


[doc] SSM: get_parameters_by_path has a typo

https://github.com/boto/botocore/blob/63107d6f1fbf8a53b23dbf19f49ff849501c8ffd/botocore/data/ssm/2014-11-06/service-2.json#L7962
The explanation of the Path-parameter contains the word succeed with three e's:

For the API call to succeeed, the last part ...

Hi @bblommers,
Thanks for pointing this out!  The SDK docs are largely derived from the service API docs upstream and I'm seeing this in the JS SDK docs, as well so this is something I'll need to contact the SSM team about.
Because this is an issue that impacts multiple SDKs, I've created a new issue in our shared SDKs repository for tracking.  I'll let you know as soon as I have an update!


Admission control webhooks for synchronous validation

Kubernetes allows controllers to register as admission control webhooks, which get called synchronously when resources are created or updated, and can reject invalid objects from being created, or modify requests on-the-fly to set defaults for example.
Shipwright doesn't currently configure an admission control webhooks, so users can currently create invalid resources (e.g., a BuildRun that references a Build that doesn't exist). Shipwright's controller will notice these and correctly update them to a failed status, but that feedback isn't immediate to users.
The controller-runtime pkg/webhook package provides methods to register a webhook.

https://kubernetes.slack.com/archives/C019ZRGUEJC/p1613568667090500 - a slack conversation between @ImJasonH , @otaviof , and myself at the time of this comment
some almost tl;dr level details in there :-)

We currently do a lot of validations in advance on the Build side, so that users can get immediate feedback on their configuration, prior to the BuildRun execution.
Because a BuildRun spec is really small, it seems that one of the webhook advantage for us would be

telling users that a referenced Build is missing

but in terms of miss-configuration, there is not too much more benefit.
Is my understanding that Tekton does not validate the Task CRD contents during the creation of that resource (contrary to what we do in Build), but only when a TaskRun is created. Does this different flow make the webhook approach more adhoc to Tekton, but not to Build in terms of configuration validation?
If the webhook can block users from creating a BuildRun because of a missing Build, I think there is a value on this. However dealing with a webhook only for doing that single verification, sounds too much for a minor benefit.
Opinions?

Is my understanding that Tekton does not validate the Task CRD contents during the creation of that resource (contrary to what we do in Build), but only when a TaskRun is created.

Tekton validates Task definitions as well:
$ cat task.yaml
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: test
spec:
  steps:
$  kubectl apply -f task.yaml
Error from server (BadRequest): error when creating "task.yaml": admission webhook "validation.webhook.pipeline.tekton.dev" denied the request: validation failed: missing field(s): spec.steps

And I think Shipwright should also synchronously validate Builds as well.

@ImJasonH I see. Yes, this will definitely be nice to have for both Build/BuildRun. I know Tekton have a controller to generate webhook certificates, is this something that you think we also need for the admission one?

Tekton uses knative/pkg's webhook package to create and manage webhook certs, which has been helpful (code here).
I honestly don't know much about how webhooks (certs especially) are configured for other frameworks like controller-runtime.

Tekton uses knative/pkg's webhook package to create and manage webhook certs, which has been helpful (code here).
I honestly don't know much about how webhooks (certs especially) are configured for other frameworks like controller-runtime.

I'll dig up a non-knative reference and post it here.
Technically speaking I think we could use the knative plumbing to build our cmd/webhook image/depoyment/etc.  I used that to positive effect back when I was trying to get some RBAC related scenarios addressed in tekton directly vs. the keep it out of tekton OPA approach the community currently is on.  I don't remember it having specific dependencies on the framework used for the controller/reconciler, but perhaps you are aware of something I'm forgetting @ImJasonH
But even if it is possible, it would be good to compare the pros and cons of both approaches and get to a consensus on what is desired choice.

Technically speaking I think we could use the knative plumbing to build our cmd/webhook image/depoyment/etc

Yeah, I also think we could. I do think eventually we'd prefer to only rely on one framework, and not mix controller-runtime and knative/pkg. So given that, I think we should start by trying to run the webhook job without relying on knative/pkg. Gabe, any more guides/examples you could provide would be helpful there. 👍

I remember we had an initial discussion at the beginning, also cc @sbose78 , at that time, we try to avoid introducing the webhook to make shipwright build simple.
Maybe we can discuss that again.
I think for shipwright build, I don't know if we will introduce more parameters in future.
But for the existing parameters, I am not sure if the default schema validation is ok for us, like this one: https://github.com/shipwright-io/build/issues/474

Technically speaking I think we could use the knative plumbing to build our cmd/webhook image/depoyment/etc

Yeah, I also think we could. I do think eventually we'd prefer to only rely on one framework, and not mix controller-runtime and knative/pkg. So given that, I think we should start by trying to run the webhook job without relying on knative/pkg. Gabe, any more guides/examples you could provide would be helpful there. +1

@ImJasonH after checking out a few options, I'm a bit torn :-).  I still like the basic building blocs provided by k8s, as noted in this blog post:  https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers
Where the MutatingWebhookConfiguration is the glue that correlates your code to a service the API server will call.
And your impl has the start/validate/mutate entrypoints and the flexibility/power integrating at a "lower level".
That said, sure things like controller-runtime and knative supply some additional abstractions and functions (cert regen IIRC).
I think controller runtime's are at https://github.com/kubernetes-sigs/controller-runtime/tree/master/pkg/webhook

Someone shared this during the community call yesterday and I forgot who it was now (sorry!) but it seems useful: https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html

Apologies to the non-Red Hatters, but we are having an impromptu deep dive on knative vs. operator-fw/OLM at https://coreos.slack.com/archives/C3VS0LV41/p1616609181255300
Between @ImJasonH and myself we need to provide a end synopsis after it settles
In the interim, some of those links @ImJasonH asked for back in https://github.com/shipwright-io/build/issues/596#issuecomment-782205975

https://github.com/operator-framework/operator-sdk/pull/4623
https://github.com/awgreene/webhook-operator
https://olm.operatorframework.io/docs/advanced-tasks/adding-admission-and-conversion-webhooks/
https://olm.operatorframework.io/docs/advanced-tasks/adding-admission-and-conversion-webhooks/#certificate-authority-requirements

Technically speaking I think we could use the knative plumbing to build our cmd/webhook image/depoyment/etc

Yeah, I also think we could. I do think eventually we'd prefer to only rely on one framework, and not mix controller-runtime and knative/pkg. So given that, I think we should start by trying to run the webhook job without relying on knative/pkg. Gabe, any more guides/examples you could provide would be helpful there. +1

@ImJasonH after checking out a few options, I'm a bit torn :-). I still like the basic building blocs provided by k8s, as noted in this blog post: https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers
Where the MutatingWebhookConfiguration is the glue that correlates your code to a service the API server will call.
And your impl has the start/validate/mutate entrypoints and the flexibility/power integrating at a "lower level".
That said, sure things like controller-runtime and knative supply some additional abstractions and functions (cert regen IIRC).
I think controller runtime's are at https://github.com/kubernetes-sigs/controller-runtime/tree/master/pkg/webhook

Only relying on k8s primitives certainly sounds nice, but then you end up building a lot of infra code that ends up taking up a lot of eng cycles.
controller-runtime seems to not include cert (re)generation by default, and expects clients to generate and manage those themselves. knative/pkg's webhook package (here) does that automatically, which is really nice.
The "downside" (if you can call it that) is that adopting knative/pkg for webhooks probably means we should adopt it for the controller framework too, which honestly wouldn't be that bad IMO. I'll try to scope out how much work that is too to get an idea how big an undertaking that would be, and if we want to do it.

I think https://coreos.slack.com/archives/C3VS0LV41/p1616609181255300 does not work for me :)
Looking forward for more information on what we think is the best approach for us.


Fix/#7068 entitymanager find with pessimistic lock does not check for transaction

Fix for #7068
I put the checks earlier in the method, that fixes the bug and is also a better practice in my opinion.
Also it is somehow hinted by the CONTRIBUTING.md guidelines:

Prefer early exit over nesting conditions

@BreiteSeite could you please rebase this branch, we just fixed the build =)

@lcobucci Sure. :) Done. Thanks for fixing the build.

We'll fix conflicts and CS issues on merge, thanks @BreiteSeite! :+1:

Since this is milestoned as 2.6, I changed base branch, but it will require rebase. It can be done on merge.

2.6 is too different unfortunately, so I picked changes from here into  #7291.

Rebased and squashed this PR, also fixed CS and other issues after rebase.


I still don't get the difference between flatmap and map..

When do you use one over the other?

We can use map() operation when we have a stream of objects, and we need to get some unique value for each element in the stream.
However, for the case of flatMap(), a one-to-many mapping is created where for each input element/stream, we first get a multiple values and then we flatten the values from all such input streams into a single output stream.

We can use map() operation when we have a stream of objects, and we need to get some unique value for each element in the stream.
In case of flatMap(), a one-to-many mapping is created where for each input element/stream, we first get a multiple values and then we flatten the values from all such input streams into a single output stream.
So let’s say we chain multiple map function to map objects into stream of objects. Now that you have a stream of multiple stream of objects. To flatten out this and retrieve all the values in a single output stream, we can use flatmap() to do so.
Not sure if this answers your question. Hope it helps.

Hi Lewis! Thats a great question that I'm sure many people are also wondering!
I assume you are asking map and flatmap for optionals (taking into consideration lab6). From my experience in lab6, flatmap is used when the SAM interface produces an optional. This would result in an optional<optional> if map was used. Flatmap would cause only 1 layer of optional to remain,  Otherwise it will be clunky to use 2 boxes around an object. Map is used when the SAM interface produces an actual object and needs to be wrapped.
Someone correct me if I'm wrong^ I'm not entirely sure too but this is my current understanding of it.

I think both flatMap() and map() require a apply() method from the Function interface to be used as the argument but depending on the value we want returned from the apply() method, we use either map() or flatMap().
If the the value that is returned from the apply() method is of an object type (Stream, Optional, etc) that is the same as the type of the object you are executing the mapping on, then usually you would want to use flatMap(). Using map() instead, each element in the initial object (be a Stream or Optional or etc) will be mapped to a new object of the same type, so we will get something like a  Stream of Streams or Optional of Optionals. This might not be desirable because after mapping, you might still want to perform other methods which work on the generic type (T) that is taken in within the context (e.g. Stream, Optional) and not on the context itself. Using lab 6 as an example, the get() method can only work on a KeyableMap object but not an Optional<KeyableMap>.
Like what Ryan said above, I think of we can think of flatMap() as unwrapping all the return values and putting it back into the context.
Hope this helps!

Optional.map(function) returns an Optional which contains the value of the function output. For example, Optional.ofNullable(T).map(function) gives Optional.ofNullable(function(T)).
Optional.flatMap(function) returns the function output directly, and it requires the function to give an Optional as output. For example, Optional.ofNullable(T).flatMap(function) gives function(T), and function(T) is guaranteed to be an Optional.
So when do we use one over another? It seems clear: when the function returns an Optional and we want to avoid multiple layers of Optional, we use flatMap; otherwise we use map. Hope this helps!

For in the context of objects that contain other values such as Optional or Stream
map() and flatmap() both applies a function the values inside of these objects
The difference here comes in that map() will re-wrap these values inside of the original object type, for example mapping and Optional will give you back an optional. So if you want to method chain with map, you will get many layers of optionals.
So to avoid this, you can use flatmap() which will not reapply an Optional layer each time you call it.
To illustrate :
Optional<Integer> o = Optional.of(2)
o.map( x -> Optional.of(x+1))
==> Optional[Optional[3]]
o.flatMap(x -> Optional.of(x+1))
==> Optional[3]

I recognise that this question may have already been addressed. Nonetheless, just putting in some of my thoughts on this here as well.
Mapping Capabilities
1-1 Mapping: map()
1-Many mapping possible: flatMap()
Wrapping Structure
The map() method wraps the underlying sequence in a Stream instance, whereas the flatMap() method allows avoiding nested Stream<Stream> structure.

Map

List<List<String>> list = Arrays.asList(
  Arrays.asList("a"),
  Arrays.asList("b"));
System.out.println(list);

Compare this with Flatmap

System.out.println(list
  .stream()
  .flatMap(Collection::stream)
  .collect(Collectors.toList()));

- The flatMap() method first flattens the input stream of steams to a Stream of Strings. After that, it works similar to a map() method.


Fix: add try-catch fix System below iOS 13 synchronizeFile will raise…

New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[ ] I have added the required tests to prove the fix/feature I am adding

[ ] I have updated the documentation (if necessary)

[x] I have run the tests and they pass

[x] I have run the lint and it passes (pod lib lint)

Pull Request Description
i has a crash when fileHandle call synchronizeFile。
Application threw exception NSFileHandleOperationException: *** -[NSConcreteFileHandle synchronizeFile]:
add try-catch DDFileLogger lt_flush

/run_checks

@ffried
Added lines #L1239 - L1242 were not covered by tests

maybe we need run unit tests use iOS 12 or some old version(< iOS 13)

@778477 Yea, we currently run the tests on the latest version available. But that's ok... 🙂


#7 Disable image build and push on PR

The PR addresses the issue #7

@umputun I've updated the PR. Now it builds and publish Docker image only if a pipeline gets triggered either from the master or by tag

LGTM

failed https://github.com/umputun/reproxy/actions/runs/736532747


Anvil RPC tests, introduced generalised interface IEthereumLikeNode and common test suite CommonForkNodeWeb3JTest

Now Foundry Anvil should on a par with Hardhat

Closes#3

Closes #3


added animation in donation card

Added animation in donation card.

@Bhanvi2204
Please see the conflicts highlighted in the image above. Resolve the conflicts in the mentioned files. Ensure you pull all the latest changes before pushing your feature/bug fixes to the main branch. After resolving the conflicts, please open a new PR for review.
Thank you!


Feature/scenario1 test2

Resolve #48

in playbooks/scenario1_stop_server_on_random_node.yml please change:
hosts: "{{ groups.scn1_gatewayed | random }}" to hosts: "{{ groups.gatewayed | random }}"


Deal somehow with stale packages

I think the best idea is to create web interface for listing stale packages, and let registry editors remove them manually. I think we don't want any automation because we can easily delete half of registry by mistake.
Followup of: #69, #72

I've just added these tickets to help understand the size of the issue and possibly be used to update the registry.

#113 List of 3815 projects missing bower.json file.
#114 List of 1556 projects that have moved on GitHub, with old and new locations.
#115 List of 1248 projects that have been deleted from GitHub.

I do not believe #113 is relevant. we can't control wether or not a repo has a bower.json

The only concern I have is following case:

Developer uses package xxx
This package gets removed by its author
We removed package from registry
Someone registered malicious package under xxx name
Developer performs bundle install, and malicious xxx package is installed, instead just erroring that package got removed from GitHub..


rails5.1 route error

Ambigous route definition. Both :path and the route path where specified as strings. (ArgumentError)

Right now CMS works with Rails 4.2 and Rails 5.0 (with tons of deprecation messages). Rails 5.1 acts on those deprecations. To fix everything means completely dropping support for Rails 4. This is something I need to work on.

https://github.com/comfy/comfortable-mexican-sofa/issues/738
Like I said. You need someone to help you, as comfy is getting bigger with wider audience.

I'd welcome an interim fork of CMS that works with Rails 5.1. That would be an enormous help.
I'm thinking doing a major rewrite soon for version 2.0. There are just too many changes in Rails 5.1 to continue patching existing codebase. But if somebody could do some initial work to figure out wtf is happening with asset files these days, that would be amazing.

Don't mean to add pressure to this issue, but I was hoping to find out if progress has been made to make comfy compatible with rails 5.1. We are evaluating options for cms's and would love to dive into comfy as an option for a rather large rails 5.1 app.

Worth noting that this works on rails 5.1 for me by just allowing it to use rails 5.1. I haven't run the tests though, so although it works for my purposes making no promises.
Will take a look at specs and if they're not a disaster see if I can merge something in.

Does anyone have a fork for 5.1 that's mostly working? I've found that -- so far -- only minor changes are needed to get the admin parts working, but I've been modifying the bundle-installed files just to see if if it was remotely viable. Before I fork it myself, I thought I'd ask. :)

@lthurston This is working for me: https://github.com/joeljackson/comfortable-mexican-sofa
I didn't change anything but the rails version required. But for what I'm using it for it is rendering pages just fine and the admin section is doing what it's supposed to do.

Is there is fix for this : Ambigous route definition. Both :path and the route path where specified as strings. (ArgumentError)?

Can somebody please post a stack trace? I'm working on Rails 5.2 update and I'm not seeing anything like this with current routes.

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rails aborted!
ArgumentError: Ambigous route definition. Both :path and the route path where specified as strings.
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1852:in `block in map_match'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1849:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1849:in `map_match'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1597:in `match'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:730:in `map_method'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:691:in `get'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/comfortable_mexican_sofa-1.12.2/lib/comfortable_mexican_sofa/routes/cms.rb:16:in `block (2 levels) in comfy_route_cms'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:935:in `block (2 levels) in namespace'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:866:in `scope'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:935:in `block in namespace'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1820:in `path_scope'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:934:in `namespace'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:1546:in `namespace'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/comfortable_mexican_sofa-1.12.2/lib/comfortable_mexican_sofa/routes/cms.rb:5:in `block in comfy_route_cms'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/mapper.rb:866:in `scope'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/comfortable_mexican_sofa-1.12.2/lib/comfortable_mexican_sofa/routes/cms.rb:4:in `comfy_route_cms'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/comfortable_mexican_sofa-1.12.2/lib/comfortable_mexican_sofa/routing.rb:6:in `comfy_route'
/home/colin/RubymineProjects/pro/config/routes.rb:5:in `block in <top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/route_set.rb:426:in `instance_exec'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/route_set.rb:426:in `eval_block'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.1.4/lib/action_dispatch/routing/route_set.rb:408:in `draw'
/home/colin/RubymineProjects/pro/config/routes.rb:1:in `<top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `block in load'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:55:in `block in load_paths'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:55:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:55:in `load_paths'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:18:in `reload!'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:41:in `block in updater'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/file_update_checker.rb:81:in `execute'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:42:in `updater'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/routes_reloader.rb:31:in `execute_if_updated'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application/finisher.rb:128:in `block in <module:Finisher>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `instance_exec'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/initializable.rb:30:in `run'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/initializable.rb:59:in `block in run_initializers'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `call'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/initializable.rb:58:in `run_initializers'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application.rb:353:in `initialize!'
/home/colin/RubymineProjects/pro/config/environment.rb:5:in `<top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application.rb:329:in `require_environment!'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/application.rb:445:in `block in run_tasks_blocks'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:251:in `block in execute'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:251:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:251:in `execute'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:217:in `block in invoke_prerequisites'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:215:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:215:in `invoke_prerequisites'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/task.rb:181:in `invoke'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:153:in `invoke_task'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:109:in `block (2 levels) in top_level'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:109:in `each'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:109:in `block in top_level'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:118:in `run_with_threads'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:103:in `top_level'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:21:in `block in perform'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-12.1.0/lib/rake/application.rb:179:in `standard_exception_handling'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/command.rb:46:in `invoke'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>'
/home/colin/RubymineProjects/pro/bin/rails:9:in `require'
/home/colin/RubymineProjects/pro/bin/rails:9:in `<top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/binstub.rb:25:in `load'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-2.0.2/lib/spring/binstub.rb:25:in `<top (required)>'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/home/colin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/home/colin/RubymineProjects/pro/bin/spring:15:in `<top (required)>'
-e:1:in `load'
-e:1:in `<main>'
Tasks: TOP => db:migrate => environment

Process finished with exit code 1

@loyaruarutoitsu That's CMS 1.12.2. Upgrade to the latest as routing changed since then. No wonder I could not see this. 1.12.10 doesn't have this problem even in Rails 5.2
Please re-open if there's still some routing issues with current version.

1.12.10 is locked to Rails < 5.1, so is there a way to bypass that without a fork?

5.1 breaks test suite completely. I can't guarantee that it will work (it might). So forking is better. Or fix tests with a PR.

An unlocked master branch or something of the stort with the implied "use at own risk" would side-step the fork part. If you're working towards 5.1+ compatibility, that's one place to start, then we can pull against that spec.

@tadman I made rails5.1 branch: https://github.com/comfy/comfortable-mexican-sofa/tree/rails5.1 (tests all bomb of course). Did you inherit an app with it that needs upgrading or something?

It's a 4.2 app that I want to bump to 5.1 just to keep it current.


Working on a more descriptive README file (and doc intro)

This is just to give a bit more context and a better landing page for the docs.

for me is ready to merge


Problem of combination dependsOnMethods and RetryAnalyzer

Hi guys,
when a test failed and passed after retry using IRetryAnalyzer implementation, all dependent tests are skipped. This seems to be a bug. Have a look at my simple example below.
TestNG Version
latest (6.12)
Expected behavior

a() failed //i==0
a() passed //i==1
b() passed //i==2

Actual behavior

a() failed //i==0
a() passed //i==1
b() skipped // this is the problem

Is the issue reproductible on runner?
yes

[ ] Shell
[ ] Maven
[ ] Gradle
[ ] Ant
[x] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample
public class Example {
    int i = 0;

    public static class Retry implements IRetryAnalyzer {
        @Override
        public boolean retry(ITestResult result) {
            return true;
        }
    }

    @Test(retryAnalyzer = Retry.class)
    public void a() {
        Assert.assertTrue(i++ == 1);
    }

    @Test(dependsOnMethods = "a", retryAnalyzer = Retry.class)
    public void b() {
        Assert.assertTrue(i++ == 2);
    }
}

The ITestResult in RetryAnalyzer, keeps the test result for the failed test, thus, skipping the dependent tests. Removing that test result in the RetryAnalyzer helped me run the dependent tests, if the original test passed on a retry.
My simple implementation of the RetryAnalyzer.retry() API -
@Override     public boolean retry(final ITestResult result) {         if (current <= maxRetryCount) {             result.getTestContext().getFailedTests().removeResult(result);             current++;             LOGGER.info("Retrying test case " + result.getMethod() + ", " + current + " times");             return true;         }         LOGGER.info("Exhausted retries for test case " + result.getMethod());         return false;     }
FYI, I am using 6.8.7 version of TestNG.

@jigyasa-at-git Any update to this? I am having the exact issue.
Thanks!

@cbeust Can you provide any insight into the issue being discussed here?

Any update on this issue?

@gowthami7  Yes, added:
result.getTestContext().getFailedTests().removeResult(result);
result.getTestContext().getSkippedTests().removeResult(result);
To an  @AfterMethod instead and it worked like a charm.

Thank you. It worked!

Where does the @aftermethod go? Does it go in the IRetryAnalyzer class or in the test class?

@gowthami7 @JasonBlevins29 @strifu @ps231 @jigyasa-at-git @qwikso - This now stands fixed in the upcoming TestNG version (7.0.0). TestNG will now automatically execute dependent methods, once their parent methods have been retried and run succeeded.  You can try depending on TestNG 7.0.0-SNAPSHOT and try this out now. (Make sure you are using JDK8 because from 7.0.0 TestNG now requires JDK8)

@gowthami7 @strifu
I tried using both the options suggested by you. Adding @AfterMethod and using the IInvokedMethodListener  Listener as well. I am still facing the same issue. Retry is not working for the dependent test cases.
Could you please suggest.

@neha1302 - This was a bug that needed code fix and it stands resolved in 7.0.0-SNAPSHOT. Are you still facing this problem with the latest version ? If not, then you just need to wait till it gets released.

@krmahadevan
Thanks for answering!
As far as I know 7.0.0 is not released yet. I am using testNG-6.14.3

@neha1302 - Yes I am very much aware that its not released yet. That was why I was asking, if you tried using TestNG 7.0.0-SNAPSHOT ? Can you please try using that and let us know if using it fixes your problem ? If it doesn't, you would need to file a new issue with more details so that we can go about fixing your issue.

@krmahadevan
Ok.
Actually I do not know what exactly 7.0.0-SNAPSHOT is? and how shall I get it?
Couldn't find much on Google.
Please suggest.

@neha1302
If you are using Maven, you should just need to add a dependency which looks like below
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.0.0-SNAPSHOT</version>
        </dependency>

@neha1302 - Are you behind any corporate artifactory repository ?  If yes then you may have to google for how to create a settings.xml equivalent in gradle. This may help. I have not worked with gradle elaborately to be able to tell you as to how to make it point to the Maven snapshots repository
Here's a sample settings.xml which refers to the maven snapshots https://gist.github.com/ktuukkan/8cf2de1e915185118c60 You still need to tweak it to change the active profile value to snapshots profile name, or pass the profile name explicitly (using gradle equivalents of course)

@krmahadevan
Ok. Will do that. Meanwhile Can I just download it from somewhere and place it in my project, just to see whether I am able to execute my dependent test cases with this or not?
If yes, please tell me from where to download.

Here's where its available https://oss.sonatype.org/content/repositories/snapshots/org/testng/testng/7.0.0-SNAPSHOT/

@krmahadevan
I added jar - testng-7.0.0-20180713.040141-27.jar
I tried executing the test cases using both ways mentioned in above discussion i.e.

Adding the code in the @AfterMethod
Using IInvokedMethodListener

Still if I am failing in TC2 which is dependent on TC1, the TC1 is not executing. The retry again starts from TC2.
I have added the IInvokedMethodListener implementing class in the xml file as well.
Let me know if I am missing something or there is some gap in my understanding.

@neha1302 - Couple of things..
The latest jar is
https://oss.sonatype.org/content/repositories/snapshots/org/testng/testng/7.0.0-SNAPSHOT/testng-7.0.0-20180725.174808-30.jar
How are you ensuring that your project is indeed using TestNG 7.0.0-SNAPSHOT ?
If you are convinced that your problem exists, please file a new bug and include a simple standalone that can be used to reproduce the problem.

This is how I am ensuring about the jar.

@neha1302 - And have you cleaned up your build.gradle to remove any references of TestNG ? Also have you made sure that TestNG eclipse plugin doesn't use the jar that is embedded inside it. Earlier there used to be a way to force it not to use the embedded jar. But I dont know if it still exists (I stopped using eclipse a long time back). That is why I feel that the easiest and surest way would be add it as a dependency via your gradle and then try running tests from gradle command prompt.

I am getting this one as well.
Do you mean to say this could be the culprit?

@neha1302 - Yes very much. You need to absolutely ensure that you are ONLY resolving to TestNG 7.0.0-SNAPSHOT

I am unable to remove this. How shall I remove this?

You need to figure out what dependency is bringing in an old version of TestNG and add an exclusion to it as discussed here

Hi,
I have removed the previous testng dependency and added the required jar.
I am getting this error now and am not able to execute test cases.

Neha,
I think its better if you just update your dependencies with TestNG
7.0.0-SNAPSHOT. That will be easier for you. So please search for how to
add a SNAPSHOT dependency and follow those instructions to update your
gradle build file with it.
The problem here is that you downloaded TestNG jar and added it to your
CLASSPATH (TestNG internally needs jcommander but since you added an
exclusion to TestNG, even JCommander got excluded). So now the TestNG jar
in your CLASSPATH needs JCommander and its not able to find it, that is why
you are seeing this error.

@krmahadevan
I am still getting the same error.

In that case, please create a new issue on github and include a simple (its
better if it just uses a bunch of system.out.println statements) standalone
sample which can be executed to recreate the problem, along with what is
being expected and what are you seeing actually.

Hi, I've tested version 7.0.0-SNAPSHOT a month ago and from my point of view, everything works fine. The example from the description at the top works as expected. If you copy the snippet to your environment do you get still the unexpected result?
We are using Maven instead of Gradle and there is a configuration for local jars. I downloaded snapshot version and added this config to my pom.xml. I believe Gradle has a similar solution.
<dependency>     <groupId>org.testng</groupId>     <artifactId>testng</artifactId>     <version>7.0.0</version>     <scope>system</scope>     <systemPath>${basedir}/lib/testng-7.0.0.jar</systemPath> </dependency>

@qwikso
I am pulling 7.0.0 from the gradle dependencies to check the rerun. The problem now is I am not able to execute any of the TestNG XML file because I am getting jcommander issue mentioned in the above posts because of which I am not able to work on rerun.
Did u also got the same issue while working on this?

@krmahadevan
That jCoomander issue got resolved but I am getting the below error:
java.lang.NoSuchMethodError: org.testng.remote.AbstractRemoteTestNG.addListener(Lorg/testng/ISuiteListener;)V
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Is this because 7.0.0 is not supported by Eclipse?
What should be my next step to deal with it?

The root cause of your problem is STILL the same. A messed up classpath.
Just to rule out all confusions, I would strongly advice you to consume
TestNG 7.0.0-SNAPSHOT as a gradle dependency and try running the tests from
the command line using gradle.
That is going to be a lot more easier. Have you tried doing that ? If not,
I strongly encourage you to do it.

I am taking TestNG as a gradle dependency only and am trying to execute the test cases through Eclipse.

Can you please skip using an IDE and just run tests from the command prompt
using Gradle ?

No such problem in my environment. Running from IntelliJ as well as from Maven command line works as expected. I would create a greenfield project with minimum dependencies and run it using Gradle from command line without IDE as @krmahadevan does recommend.

@krmahadevan
My scenario is:
@Test
testCase1()
{
}
@Test(dependsOnMethods = { "testcase1" })
testCase2()
{
}
@Test(dependsOnMethods = { "testCase2" })
testCase3()
{
}
If testCase2 fails, testCase1 should be executed.
Is it possible?

No. That is not possible. The fact that 'testCase2" got executed the
first time itself proves that its pre-requisites [testCase1 should pass]
were satisfied.
So TestNG will not bother trying to satisfy the pre-requisites once again,
just because testCase2 failed and needs to be retried.


Add scrollEventThrottle to ignore warning of ScrollView, add custom scrollToTopAnimation option

I will check and merge

I will check and merge @xuho

thank u

@ashrithks: hi, have you checked my pull request?

Yes, can you add to readme as well,
scrollToTopAnimation

Yes, can you add to readme as well,
scrollToTopAnimation
Hi @ashrithks, I have added scrollToTopAnimation to README, please check this, thank.

@ashrithks in line 370 of index.js file.
contentContainerStyle={{ maxHeight: this.state.collapseHeight + (this.props.tabBarHeight ? this.props.tabBarHeight : 50) + this.state.contentHeight[this.state.currentPage] }}

You setup contentContainerStyle of scrollview, but when I setup tabs and don't know how many tab to render in runtime (number of tab is dynamic), this.state.contentHeight[this.state.currentPage] == undefined, so maxHeight is NaN and app will be crash. Please check and merge thi commit.
Thank so much.

Released version,
https://www.npmjs.com/package/rn-collapsing-tab-bar/v/0.1.7

Released version,
https://www.npmjs.com/package/rn-collapsing-tab-bar/v/0.1.7
@xuho

Thank so much 👍


docs: add Ibexa DXP to "CMS Quickstarts"

How to quickly install Ibexa DXP OSS
The Issue
N/A
How This PR Solves The Issue
N/A
Manual Testing Instructions
Run the proposed command lines.
It could need the addition of ddev config --http-port=8080 --https-port=8443 on some platform where ports 443 and/or 80 are already reserved.
Automated Testing Overview

"CMS Quickstarts" scripts do'nt seem to have automated tests. Did I miss something?
Related Issue Link(s)

No side effect.
Release/Deployment Notes
N/A

Thanks!

Tests failing because "Ibexa" not in .spellcheckwordlist


Add IFMA - Instituto Federal do Maranhão

IFMA Roughly translates to Federal Institute of Maranhão, and offers both undergraduate and graduate programs in major engineering areas, as well as IT. It is located in Maranhão, Brazil.
Official website: https://portal.ifma.edu.br/inicio/
Long-term IT-related courses:
Information Systems: https://montecastelo.ifma.edu.br/bacharelado-em-sistemas-de-informacao/
Proof that the submitted domain (@acad.ifma.edu.br) is acknowledged by the institution:
https://portal.ifma.edu.br/2016/06/27/alunos-do-ifma-passam-a-ter-conta-de-e-mail-institucional/

@arthurlima96 Pull request merged. Thank you!


[DEFECT] Pointset does not load a variable in the first column of a csv.

Issue being that the system does not load the variable Time in the first column of the csv.
Error is below. Shows missing Tb and Tb as being unused.
RAVEN Python dependencies located and checked.
(    2.99 sec) SIMULATION               : Message         -> Simulation started at 2021-05-19 15:59:39
InputData: Using param spec "DataSet" to read XML node "PointSet.
(    3.05 sec) PointSet                 : ERROR           -> Not all variables requested for data object "data" were found in csv "C:\Users\FRICKL\projects\TEDS_VandV\V_V\csv\TEDS_startup.csv"!
Needed: {'Tb', 'Flow Rate'};
Unused: {'Type K TC #1', 'Tb', 'Omega Pressure', 'Date/Time', 'Type K TC #3', 'Type K TC #2'};
Missing: {'Tb'}
OSError: Not all variables requested for data object "data" were found in csv "C:\Users\FRICKL\projects\TEDS_VandV\V_V\csv\TEDS_startup.csv"!
Needed: {'Tb', 'Flow Rate'};
Unused: {'Type K TC #1', 'Tb', 'Omega Pressure', 'Date/Time', 'Type K TC #3', 'Type K TC #2'};
Missing: {'Tb'}
Describe how to Reproduce
Steps to reproduce the behavior:

unload the zip. issue.zip
make a csv folder and place the .csv file in there.
run the .xml file in a directory above the csv folder.

Screenshots and Input Files
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.
Platform (please complete the following information):

OS: [e.g. iOS]
Version: [e.g. 22]
Dependencies Installation: [CONDA or PIP]

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or task?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

It looks like the issue is this data was scraped from txt into csv using Excel, and Excel encodes using the \ufeff BOM (see https://stackoverflow.com/questions/17912307/u-ufeff-in-python-string/17912811#17912811). There are some encoding options of Python that will correctly remove that; I'm looking into whether we can do this automagically.

It turns out this fix didn't work for Windows but passed our tests somehow. I'm working on it.

@PaulTalbot-INL Could you send an email to the users regarding this fix?

@wangcj05 I will have some time to take a look at this again.


Bump digests

Update digests to release new changes.

This update is required to release for s390x, see https://github.com/openshift/trustee-operator/pull/56.


Add option to output HTTP link to Singularity container

Issue
If a Singularity container is generated with the CLI, only a link with oras//: is provided. Due to compatibility issues, many Singularity-based systems still require an HTTPS link to the container blob. For this reason, nf-core only accepts HTTPS for Singularity, also when Wave is used. The web app solves this issue, but sometimes using the CLI is necessary or preferred. Obtaining such links is currently a highly manual process.
Reproduction
wave --conda python --singularity --freeze. An ORAS link is generated.
Proposed solution
Add an --http flag that returns an HTTP link to the blob if --singularity is used and does nothing otherwise.

x-ref:

https://github.com/seqeralabs/wave/issues/443
https://github.com/seqeralabs/wave/pull/452

These were more about adding API endpoints to retrieve Singularity HTTPS container images. But likely amounts to the same thing.


CSUB-698: Sanity check git tag names

Because we keep breaking the expected format.

https://github.com/gluwa/creditcoin/actions/runs/6023387224/job/16340034717 failed with the x.yyy.z-debug tag (now deleted)

Codecov Report

Merging #1287 (0ffb4f9) into dev (11db2c6) will decrease coverage by 1.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev    #1287      +/-   ##
==========================================
- Coverage   70.25%   69.13%   -1.12%
==========================================
  Files         103      103
  Lines       12157    12157
  Branches      114      114
==========================================
- Hits         8541     8405     -136
- Misses       3607     3752     +145
+ Partials        9        0       -9

see 8 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add settings for the hover color for thead and tfoot

This fixes a bug where hovering the header or footer with a modified background color, would change the background color to be the same as the body.

Reopened to rebuild.

Should this maybe use the smart-scale function instead of darken? In some cases, lighten might be preferable.

I used darken to be consistent with the existing functionality. If requested, I can change it to use smart-scale.

Ooh, my mistake; $table-row-hover does default to darken. Apologies. This looks good to me. 👍


RuntimeError: [Error thrown at core/partitioning/shape_analysis.cpp:306] Unable to process subgraph input type of at::kLong/at::kDouble, try to compile model with truncate_long_and_double enabled

Bug Description
This runtime error was thrown when I was trying to convert my pytorch model to torch-tensorrt
Scripted Model File - LINK
To Reproduce
Steps to reproduce the behavior:

Download the model and the script
Use them to trace the torchscript model

import torch_tensorrt
import torch

vqa_model = torch.jit.load("blip_ts.pth", map_location=torch.device("cuda"))
trts_module = torch_tensorrt.compile(vqa_model,  input_signature=((torch_tensorrt.Input(shape=[1,3,480,480]),  torch_tensorrt.Input(shape=[1, 7]), torch_tensorrt.Input(shape=[1, 7]))), enabled_precisions = {torch.float, torch.half})

torch.jit.save(trt_ts_module, "blip_vqa_trt.ts")

Error
WARNING: [Torch-TensorRT] - Input signature parsing is an experimental feature, behavior and APIs may change
Traceback (most recent call last):
  File "tens.py", line 6, in <module>
    trts_module = torch_tensorrt.compile(vqa_model,  input_signature=((torch_tensorrt.Input(shape=[1,3,480,480]),  torch_tensorrt.Input(shape=[1, 7]), torch_tensorrt.Input(shape=[1, 7]))), enabled_precisions = {torch.float, torch.half})
  File "/usr/local/lib/python3.8/dist-packages/torch_tensorrt/_compile.py", line 125, in compile
    return torch_tensorrt.ts.compile(
  File "/usr/local/lib/python3.8/dist-packages/torch_tensorrt/ts/_compiler.py", line 136, in compile
    compiled_cpp_mod = _C.compile_graph(module._c, _parse_compile_spec(spec))
RuntimeError: [Error thrown at core/partitioning/shape_analysis.cpp:306] Unable to process subgraph input type of at::kLong/at::kDouble, try to compile model with truncate_long_and_double enabled

Expected behavior
The model should be traced and saved in the directory
Environment

Build information about Torch-TensorRT can be found by turning on debug messages

Pytorch NGC Container version: 23.03 -py3
Torch-TensorRT Version (e.g. 1.0.0): 1.4.0dev0
PyTorch Version (e.g. 1.0): 2.0.0a0+1767026
CPU Architecture: AMD64
OS (e.g., Linux): Linux
Python version: 3.8.10
CUDA version: 12.1
GPU models and configuration: Tesla T4

Can you add truncate_long_and_double=True to your settings?

@narendasan I tried it by setting that but it raises another error stating that input types used are not supported by torch tensorrt. Isn't long tensor supported by tensorrt for now?


Add nested routes support to AuthenticatedRoute

Used matchPath (https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/matchPath.md) from react-router-dom to make AuthenticatedRoute work with nested routes;
Created tests for AuthenticatedRoute scenarios (authenticated, not authenticated, and not authenticated on nested routes);

Fixes #3
PS: When everything is complete, I would like to also include some documentation regarding AuthenticatedRoute for nested routes (https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/matchPath.md)

IssueHunt Summary

Referenced issues
This pull request has been submitted to:

#3: Make <AuthenticatedRoute/> work in nested routes

IssueHunt has been backed by the following sponsors. Become a sponsor

PS: When everything is complete, I would like to also include some documentation regarding AuthenticatedRoute for nested routes (https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/matchPath.md )

Do you intend to do this as a part of this PR?

@sindresorhus Yeah, it's just a reference to how matchPath separates the path from the nested routes (path/:nested), I'll put a brief description of that and link matchPath maybe for future reference 😛

@sindresorhus just pushed the readme change

Nifty pick:
The commit should be well structured and follow the general guideline: https://github.com/trein/dev-best-practices/wiki/Git-Commit-Best-Practices
Most important part of that read is:

Use the imperative, present tense («change», not «changed» or «changes») to be consistent with generated messages from commands like git merge.

Just mind this when squashing these commits and for future development 😄

Nifty pick:
The commit should be well structured and follow the general guideline: https://github.com/trein/dev-best-practices/wiki/Git-Commit-Best-Practices
Most important part of that read is:

Use the imperative, present tense («change», not «changed» or «changes») to be consistent with generated messages from commands like git merge.

Just mind this when squashing these commits and for future development 😄

Thanks! I'll have some bedtime read today 😄

Nifty pick:
The commit should be well structured and follow the general guideline: https://github.com/trein/dev-best-practices/wiki/Git-Commit-Best-Practices
Most important part of that read is:

Use the imperative, present tense («change», not «changed» or «changes») to be consistent with generated messages from commands like git merge.

Just mind this when squashing these commits and for future development 😄

Thanks! I'll have some bedtime read today 😄

Just a tip (😄) While you're getting used to the conventional way of committing, you can use this global utility:
https://github.com/commitizen/cz-cli#conventional-commit-messages-as-a-global-utility

Please don't uncheck the "Allow edits from maintainers" checkbox. I'm unable to do some final nitpick tweaks now.
https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork

Please don't uncheck the "Allow edits from maintainers" checkbox. I'm unable to do some final nitpick tweaks now.
https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork

Sorry! I've ticked that box so you can do it now 😄

@sindresorhus yep!

@sindresorhus yes 👍

Thanks for working on this, @antoniofpereir  👌

@sindresorhus my pleasure! 😄


[Feature] Write unit tests

Is your feature request related to a problem? Please describe.
This web app doesn't have any unit test written.
Describe the solution you'd like
Use jest to write some unit tests.
It does not have to be 100% coverage, new issues can be created to improve it.

I don't know about testing. Can you provide me with some guidance and references so that I can learn and address this issue? At least, I will learn something.

You need to install jest first - https://jestjs.io
Then you can create a test folder to have a place for all the tests
You can find here some tests I wrote for the components
You can try to write a test for the theme switcher

Hey I know somewhat of jest and I can write some tests , can you assign me the issue ?

@taran1326 how are the tests going?

@eduardconstantin i would like to learn and work on this issue, could u assign me under hacktoberfest and guide me to learn

@eduardconstantin i would like to learn and work on this issue, could u assign me under hacktoberfest and guide me to learn

check this
https://github.com/eduardconstantin/storybook-gpt/issues/7#issuecomment-1763482666


Bad Request - Request Too Long - Http Error 400

Hi,
Bad Request - Request Too Long - Http Error 400
Have you got answer, me too face this same issue, my sso proxy developed by asp.net core 1.1 and few client applications also developed by core 1.1 it's working fine, if i try to implement 4.5.2 developed client app i faced Bad Request - Request Too Long Error, have any idea please let me know
My Response URI:
http://localhost:4000/connect/authorize?client_id=devtest&redirect_uri=http%3A%2F%2Flocalhost%3A4002%2Fsignin-oidc&response_mode=form_post&response_type=id_token+code&scope=openid+profile&state=OpenIdConnect.AuthenticationProperties%3DO3LnGgSMQdDkOZI9AxWTqT9183vBYw7YcEPAoRENX5Kg0zp6Qr4MBOI96fJ2rOFX64ka4S7zPwjezWfTZz6J7OQ_D-_eHbYSOamRdV8_BoRghBopcmwGXdGTKRuPTxilO9p3exS5NL6AjeydBZD-5o9eJxR_x46r43jAwvnN0TwjwUq-i9KJ2HpxbM-lTEloQ6pXo-FVhQoBTEdJJTHgmqeuH80l5E_0hlLGFb0wg5E&nonce=636409049642654741.MzE5YWJkOWQtMTAyMy00YTcxLWExMjYtNTI2YjA2NWI0ZmFmYmY4Njc2MDEtNWY3Ni00NjdiLWI5ZjctMTE1MTQ1YTRiOGQ5

Can share the config file? Make sure the RedirectUris (Client config) and RedirectUrl (OpenIdConnectAuthentication options) ends with '/' in the configuration.
RedirectUris = { 'http://localhost:4002/' },

Try that first.

@ rizamarhaban : Thanks lot it's working :)

So we can close this now?

Please close this issue :)

@brockallen Please close this issue :)

@rizamarhaban
while(true){
Console.WriteLine("Thank you very much :)");
}

Hi,
I've the same issue, but my redirect url already has got '/' at the end of redirecturl:
http://localhost/AuthServer/identity/wsfed/?wa=wsignin1.0&wtrealm=http%3A%2F%2Flocalhost%2Fmvcclient%2F&wctx=rm%3D0%26id%3Dpassive%26ru%3D%252fMVCClient%252f&wct=2018-08-29T12%3A47%3A59Z
Any idea?

@santhudr probably figured this out already but delete your cookies after the above fix


GraphMap2

A new realise of GraphMap is available with an option to map rnaseq data directly into genomes without the need of a gtf file.
We could just change GraphMap to GraphMap2 (https://github.com/lbcb-sci/graphmap2). I have been testing it and it works well, I will be adding the commands into command_lines.md in case we want to include this option.
Thanks,

I'll keep improvements for later :)

Hi, I see that graphmap2 allows splice mapping like minimap2... so for consistency I would replace graphmap with graphmap2. What do you think? Can you provide me the command line?

Yes, it would make more sense to have graphmap2, and the old commands are the same.
Against transcriptome:
graphmap2 align -r ref.fa -d reads.U2T.fastq -o out.sam
Against genome (splice mapping):
graphmap2 align -x rnaseq -r ref.fa -d reads.U2T.fastq -o out.sam
Let me know if you need anything else.
Thanks,

Added in the docker version 0.5 and in  https://github.com/biocorecrg/master_of_pores/commit/bcf65d682fc00f1d83cb008c6e267e0754af873b


Analytics Screen IDs

Fix #2261 , as per schema doc from @anipetrov
Ani - I've annotated in the sheet what's gone in. I'm missing gravity IDs for Artists and Genes (I need to see how to expose them from Emission). Refine view is another one. I've also noted all the martsy views, and hence those are not implemented here.
@ashfurrow thought it'd be nice to request your feedback :) let me know if you have Qs about the scope of the work!
@alloy I'm not sure if you think this should go into this release or hold off. I also need to work out a way to expose a viewDidAppear for refine from Emission (and preferably gravity ids also). I assume I can send something in componentDidMount?

this is incredible @mennenia, thank you! i would like to qa if possible -- not sure how that fits in the release schedule.

          1 Error

:no_entry_sign:
No CHANGELOG changes made

          1 Warning

:warning:
Needs testing on a Phone if change is non-trivial

  Generated by :no_entry_sign: Danger

I'm not sure if you think this should go into this release or hold off.

Why might we want to hold off?

I also need to work out a way to expose a viewDidAppear for refine from Emission (and preferably gravity ids also). I assume I can send something in componentDidMount?

If you mean the gene refine options view, that lives in Eigen not Emission.

@alloy I'm a bit stuck on the refine view (hoping to pair shortly), but otherwise @ashfurrow's comments have been addressed and tests have been fixed.
The current state is properly reflected in the analytics spreadsheet, so @anipetrov will know which bits are yet to be added.
Just FYI'ing in case we'd want to squeeze it in :)

@alloy quickly looked at refine view with @orta, it's not a trivial change unfortunately. I'd say let's get the majority of the analytics changes in for this release :).

Final update!
Found where to put the refine code, but don't have the data to populate the metadata appropriately. This will go under the bit of work that requires pulling out gravity ID for genes and artists, as well as info from the gene refine VC (as it doesn't contain the slug or gravity ID currently).
Emission ticket here

Works for me 👍

this is amazing, thank you so much @mennenia. is there anyway for me to qa?

@anipetrov hopefully there will be a beta coming out later today!


[Feature] Support downloading OpenMMLab projects on Ascend NPU

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Support downloading OpenMMLab projects on Ascend NPU.
Modification
The install command adds support for Ascend NPU device.
BC-breaking (Optional)
Not involve.
Use cases (Optional)
Related test cases have been added.
We also tested all relevant MIM commands on the Ascend NPU.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

/lgtm