fix tests for rule 3

Update conversation tests for logic of rule 3 from paper (compilation tests are enabled). Does not close, but is associated with #61

@volodya-lombrozo I divided the edits in the tests for rule 3 in this PR, but I had to disable them. Because of this, no test runs for Windows and qulice fails, will it interfere with embarrassing PR?

@volodya-lombrozo I divided the edits in the tests for rule 3 in this PR, but I had to disable them. Because of this, no test runs for Windows and qulice fails, will it interfere with embarrassing PR?

What do you mean?

@volodya-lombrozo I divided the edits in the tests for rule 3 in this PR, but I had to disable them. Because of this, no test runs for Windows and qulice fails, will it interfere with embarrassing PR?

What do you mean?

When this PR is accepted, Yegor will write<EMAIL_ADDRESS>merge" and the bot will trigger the container in which this project will be build (using mvn clean install -Pqulice). Only compilation tests for all OSs except Windows are enabled. If the container was Windows-based, then the build was failed due to qulice (it requires to run one or more tests) and the PR would not be merged. I assume that the container is Linux-based, so merge will go well (I just highlighting a possible problem)

@volodya-lombrozo So what's with this PR? It seems to be ready

Codecov Report

Merging #63 (9f7eed6) into master (0476e03) will decrease coverage by 9.53%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##             master      #63      +/-   ##
============================================
- Coverage     88.09%   78.57%   -9.53%
+ Complexity        8        6       -2
============================================
  Files             2        2
  Lines            42       42
  Branches          3        3
============================================
- Hits             37       33       -4
- Misses            5        7       +2
- Partials          0        2       +2

Impacted Files
Coverage Δ

src/main/java/org/eolang/speco/Speco.java
89.18% <0.00%> (-10.82%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@volodya-lombrozo In this PR, old tests are only updated for the implementation of rule 3, no new tests are added. I agree about puzzle and added this.

@yegor256 I rebased this branch to master, so this PR is unblocked and can be merged

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@advasileva 2 puzzles #74, #75 are still not solved.

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 8min)


audio data frame size in inference time

In current implementation inference-time entire audio data proceesing at a time for recunstructing high quality signal.
Modified the processing logic  & Observed performance degradation with processing frame by frame in infence time.
any suggestion is highly appreciated.

That's interesting, I'm guessing that processing the audio on short frames (~0.025ms, 1200 samples) will have problems with the large receptive field (~13000 samples) in this wavenet model. You might have some success with a much larger frame size (at least the size of the receptive field) using cross-fading, but I wouldn't expect it to sound better than processing the whole audio clip at once.
If you're looking to process smaller chunks of audio for streaming purposes, you might be interested in this blog post. It describes a technique for streaming convolutions, which can be adapted to wavenet-style models.

Hello Brentspell/Hifi-Gan-Bwe,
I went through this link  Streaming Audio Synthesis (gibiansky.com)
https://andrew.gibiansky.com/streaming-audio-synthesis/ ,  I didn't get
much idea how to process short segments.
My receptive field of the netwerk ( kernel_size - 1 ) *
stacks*sum(dilation for all layers)   => (3-1)21023 => 4092.
I want to run my BWE setup in real time with a shorter frame size of
10/16/20 and hop sizes . Is it possible to generate better outputs?
On Tue, May 17, 2022 at 9:19 PM Brent M. Spell @.***>
wrote:

That's interesting, I'm guessing that processing the audio on short frames
(~0.025ms, 1200 samples) will have problems with the large receptive field
(~13000 samples) in this wavenet model. You might have some success with a
much larger frame size (at least the size of the receptive field) using
cross-fading, but I wouldn't expect it to sound better than processing the
whole audio clip at once.
If you're looking to process smaller chunks of audio for streaming
purposes, you might be interested in this blog post
https://andrew.gibiansky.com/streaming-audio-synthesis/. It describes a
technique for streaming convolutions, which can be adapted to wavenet-style
models.
—
Reply to this email directly, view it on GitHub
https://github.com/brentspell/hifi-gan-bwe/issues/4#issuecomment-1129035805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APU46YSXY5O4KYF6E6LUTJ3VKO5ZLANCNFSM5WDSDHIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Yeah, it sounds like using a windowed/overlap-and-add approach with cross-fading didn't work well for you. I think the only thing that will work will be an exact streaming implementation as described in the Gibiansky blog post.

Brent,
I have successfully implemented frame-wise processing the wavenet by
maintaining the history/past frame data for real-time testing, also It is
exactly matching the outputs by processing with the entire audio file.
But wavenet CPU consumption is more because of this. I did some
customization in wavenet architecture for the light-weight (low-complexity
) version by modifying the wavent-channels and introducing groups in
dilated Convolution. But unfortunately I observed some disturbance in
the HR reconstructed signal.
Do we have any light-weight version of wavent model that can be run in
realtime setup with less cpu usage without much degradation in
reconstructed signal ?
Looking forward to hearing from you.🙂
Regards,
Sai.
On Thu, Jun 2, 2022 at 5:57 PM Brent M. Spell @.***>
wrote:

Yeah, it sounds like using a windowed/overlap-and-add approach with
cross-fading didn't work well for you. I think the only thing that will
work will be an exact streaming implementation as described in the
Gibiansky blog post.
—
Reply to this email directly, view it on GitHub
https://github.com/brentspell/hifi-gan-bwe/issues/4#issuecomment-1144804471,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APU46YUZZUXP7ZX4UL3E3S3VNCSCNANCNFSM5WDSDHIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Unfortunately, I don't know of any lightweight wavenet models for bandwidth extension that can be run in real-time on CPU. It might be possible to adapt something like HiFi-GAN or UnivNet to the bandwidth extension task, but I haven't heard of anyone doing so. The HiFi++ paper is also a promising approach, but I haven't spent any time with it.

Hello Brent,
Why is Noise Sequence used in the UnivNet network?
On Fri, Aug 12, 2022 at 7:44 PM Brent M. Spell @.***>
wrote:

Unfortunately, I don't know of any lightweight wavenet models for
bandwidth extension that can be run in real-time on CPU. It might be
possible to adapt something like HiFi-GAN
https://github.com/jik876/hifi-gan or UnivNet
https://github.com/mindslab-ai/univnet to the bandwidth extension task,
but I haven't heard of anyone doing so. The HiFi++
https://arxiv.org/abs/2203.13086 paper is also a promising approach,
but I haven't spent any time with it.
—
Reply to this email directly, view it on GitHub
https://github.com/brentspell/hifi-gan-bwe/issues/4#issuecomment-1213155974,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APU46YUPKRQ5UG7PR555RF3VYZL37ANCNFSM5WDSDHIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

I believe the use of noise vector inputs goes back to some of the original GAN-based image generators. However, the theory behind the noise inputs probably goes back to VAE models, which use Gaussian noise as a prior distribution for sampling. In terms of vocoders, I recall Parallel-WaveGAN using noise inputs, but the MelGAN and HiFi-GAN vocoders do not. The MelGAN paper provides some justification for this, citing some GAN-based image and video models that don't use noise inputs.


error in OF10.1 MacOS

hey, I am getting this error:
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxDarkKnight/libs/DarkKnightMapping/src/ofxDarkKnightMapping.cpp:92:47: Too many arguments to function call, expected 3, have 4
 mesh_->setup(2,2,fboInput->getWidth(),fboInput->getHeight());

I added all the addons forks you listed, created /src folder (not present addons.make...) into the /example, and created the project with PG...
I am just interesed in some minimal expression of the patching system... Also curious to check it out.

i tried also your ofxMeshWarp but I am getting more errors..

Hey! thanks for reporting me this. I wasn't using the last version of ofxMeshWarp, it was an easy fix.
The easiest way to update this is by going to ofxDarkKnight/libs/DarkKnightMapping then git pull.
Let me know if this fix your problem, If you have any other issue I'll be happy to help.

hey, thanks.
there's no .git/ folder in ofxDarkKnight/libs/DarkKnightMapping. I just made git submodule update --init --recursive into ofxDarkKnight/
Now fails here:
/Users/usr/Documents/of_v0.10.1_osx_release/addons/ofxDarkKnight/src/ofxDarkKnight.hpp:45:10: 'DarkKnightFboRecorder.hpp' file not found

Even if there's no .git folder "it should work" because it is a submodule, git should know where to download the repo, but what you did it's correct.
Sorry about this new issue, When I fixed the last one I pushed some code that I don't supposed to, now you have two options, just comment the line that it's including  DarkKnightFboRecorder.hpp in ofxDarkKnight.hpp or pull the last commit again and update submodules, in this case you will need to include ofxFboRecorder because I added the new DarkKnightVideoRecorder module.
I hope that next time it works, don't forget to add "High resolution capable - YES" in your openFrameworks-Info.plist.

ok. thanks
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:35:1: Use of undeclared identifier 'ofxHap'
/Users/manumolina/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:35:42: Unknown type name 'AudioParameters'
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:86:1: Use of undeclared identifier 'ofxHap'
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:104:5: Use of undeclared identifier 'ofxHap'
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:149:5: Use of undeclared identifier 'ofxHap'
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:165:5: Use of undeclared identifier 'ofxHap'
/Users/u/Documents/of_v0.10.1_osx_release/addons/ofxHapPlayer/libs/ofxHap/src/AudioDecoder.cpp:203:6: Use of undeclared identifier 'ofxHap'

now I am getting this.
I had ofxHapPlayer already, but copied again. Also your DarkKnightHap..

also if I make a git pull inside a lib folder in terminal I get:
:DarkKnightVideoRecorder u$ git pull
You are not currently on a branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
    git pull <remote> <branch>

So I make git pull inside /ofxDarkKnight like I said, but I have no answer..
:ofxDarkKnight u$ pwd
/Documents/of_v0.10.1_osx_release/addons/ofxDarkKnight
:ofxDarkKnight u$ git submodule update --init --recursive
:ofxDarkKnight u$

I use Github desktop...

ok, thanks! it worked.
(last step was to remove the ofxDatGui I added to the PG, and it was already there)
One more thing if you don't mind, I can't scroll to SKETCH POOL module maybe because of my low res monitor, 1440x900. I changed the window size in main.cpp but do not resize gui position...

It looks like you're just missing this:

don't forget to add "High resolution capable" to "YES" in your openFrameworks-Info.plist file.

Did you change that?

Yes, I did this. But I will check again

searching on the drop down list (not writing by hand, so there is some upper cases..), clean and run. and it's the same (release and debug schemes)

I did a small change to fix the module list position, can you try again? If the list does not appear exactly at the middle of the screen, I need to do something else to support different screen resolutions. I haven't test it on screens resolutions lower than a retina display.
As a workaround you can change line 54 of ofxDarkKnight.cpp and fix the list position maybe to (0,0):
componentsList->setPosition(0,0);
with that you will be able to see all the modules (I hope so). The mapping grid module won't work if you scroll your interface, (I'm working to fix that too). Everything else should work fine.
Let me know if this works for you, I hope you have fun with the addon.

cool, thanks. now it's working fine. it looks really good!
I'll look around, I would like to use a minimal version like I asked you in instagram, i'll try what you said there. Could be nice to have a basic wire patching (or custom new module) between ofParameters to add ofxDarkKnight into some "generalistic ofApp" when you don't need all the modules. (Or to use only the "allways required ones" like audio analysis / midi clock sync / midi/OSC control... patched to any other internal ofApp parameters.
cheers

Nice! I'm glad is working! I will try to decouple the wire system from all the modules as an independent addon. But now that you already did all the setup, you can start creating your own sketch and that's when the fun starts.
I'll love to see some evidence if you create with it... Feel free to ping me.
Salud.


Single Initialization: Removes the current progressive initialization in favor of a single underlying call to init_step.

Currently we implement a progressive initialization scheme where we maintain keep track of the current init_stage which could be {none, pred, test, train} which are ordered (e.g. if current init_stage is test and predict is called no initialization occurs, but if fit is called initialization is called and init_stage is set to train which is the final state.
The previous scheme had the benefit that you could do things like:
model = Model(...)

# call predict immediately, net_params and net_states are initialized
y_pred = model.predict(x)

# now call fit, metrics_states and optimizer_states are initialized
model.fit(x, y)

However it has the following downsides:

Initialization is harder to reason about since there are potentially multiple passes.
Order of calls to predict, evaluate or fit could potentially give rise to different initial parameters.
Forced additional compilations.

Proposal
Replace the progressive initialization scheme with a single initialization scheme, this means refactoring init_stage: Mode to initialized: bool and making the default implementation of init_step call train_step directly to completely initialize the Model.
Implications

You can still call fit, and evaluate directly because have all the information needed to initialize the full model (x and y_true).
You cannot call predict and summary directly, you must call init or init_on_batch first.
predict and summary now have an optional initialize argument if you do want to force initialization of a network-only Model (no metrics or optimizer).

An typical example would look like this:
model = elegy.Model(...)

# call init at the beggining
model.init(X_train, y_train)

# now you can call summary
model.summary(X_train[:64])

# call fit as usual
history = model.fit(
    x=X_train,
    y=y_train,
    ....
)

I hope this change makes it easier to deal with complex states (e.g. distributed states for pmap) by reducing the complexity around initialization at the price of a maximum of just 1 additional line of code from the user.

Codecov Report

Merging #165 (a34ddb6) into master (87e18c1) will decrease coverage by 0.15%.
The diff coverage is 94.89%.

@@            Coverage Diff             @@
##           master     #165      +/-   ##
==========================================
- Coverage   85.04%   84.89%   -0.16%
==========================================
  Files         131      131
  Lines        6963     6919      -44
==========================================
- Hits         5922     5874      -48
- Misses       1041     1045       +4

Impacted Files
Coverage Δ

elegy/model/model_core.py
85.23% <89.47%> (-4.72%)
:arrow_down:

elegy/model/model.py
96.13% <90.90%> (-0.28%)
:arrow_down:

elegy/model/model_base.py
85.32% <92.15%> (+2.36%)
:arrow_up:

elegy/generalized_module/elegy_module_test.py
100.00% <100.00%> (ø)

elegy/generalized_module/haiku_module_test.py
100.00% <100.00%> (ø)

elegy/generalized_module/linen_module_test.py
100.00% <100.00%> (ø)

elegy/model/model_base_test.py
99.08% <100.00%> (+0.09%)
:arrow_up:

elegy/model/model_core_test.py
98.94% <100.00%> (+2.24%)
:arrow_up:

elegy/model/model_test.py
100.00% <100.00%> (ø)

elegy/nets/resnet_test.py
100.00% <100.00%> (ø)

... and 21 more

Continue to review full report at Codecov.

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

@charlielito @alexander-g

model.init(X_train, y_train)

Is y_train required? What if I don't have it or don't know what it should look like, maybe because I want to use a module written by another author? Consider an object detector like FasterRCNN which has quite some output heads (8x) of different shapes, the user would need to find out the output structure then construct a conforming y_train before they can call init.
As you may have noticed before, I'm all in to reduce boilerplate and make the user's life easier, this PR complicates it. The largest benefit I see here is the reduction of initialization/compilation time, but isn't init called without jit anyway?

Is y_train required?
It is only required if you have metrics that use y_true.

the user would need to find out the output structure then construct a conforming y_train before they can call init.

Since you are just exploring the output structure and won't actually train the model, for this specific use case you can use:
y_pred = model.predict(X_train, initialize=True)

This flag was added for when you are doing parameter transfer and explicitly opt-in to only initialize the network. This will crash if you have a metric.
We can also add a Model.eval_shape method that calls pred_step with jax.eval_shape and doesn't require initialization.

Ok, sounds good. Maybe I misunderstood.


Adds Football CLI to Command Line Apps

Football CLI helps you get live scores, fixtures, standings and more of almost every football competition/league in your terminal.

Github link: https://github.com/ManrajGrover/football-cli

Cool idea! This list is mostly for things that are useful for devs though. Instead, I would recommend adding it to https://github.com/aharris88/awesome-cli-apps ;)

@sindresorhus Sure! :smile_cat: Thank you for sharing!


rewrite t._doc['s'] to t.s in in where clause

Current coverage is 81.57% (diff: 72.00%)

Merging #4779 into master will increase coverage by <.01%

@@             master      #4779   diff @@
==========================================
  Files          1314       1315     +1
  Lines         45121      45133    +12
  Methods           0          0
  Messages          0          0
  Branches       7062       7066     +4
==========================================
+ Hits          36803      36816    +13
+ Misses         5642       5635     -7
- Partials       2676       2682     +6

Powered by Codecov. Last update 538cb04...831dcc0


self signed certificate

I just installed the Visual Studio Code and after the installation finished, I can't install any extension as I am getting an error self signed certificate. How can I fix this?  as I need to install the C# extension.

@ErnestoCevallos: I haven't heard of this problem and wouldn't know where to start. I recommend filing an issue over on https://github.com/microsoft/vscode.


Upload published website to S3

Similar to #10485, enable the S3 website GH Actions workflow for the published branch.
Information for reviewers:

DNS at this point still is configured to the nginx service, but we already can test the upload and cache invalidation.
We should merge this PR before switching DNS to have the same content both in the nginx service and in S3.
We should merge this to published branch before switching DNS to have the correct content in the S3 bucket.

Removed the TODO, I had to wait for Netlify to finish to avoid even more commit running in parallel.

netlify-deploy red again, but it's unrelated.


Hi,

Hi
I used right column for AACol  (HGVSp_short) but I get the follwoing error
"Error in lollipopPlot(maf = laml, gene = "Pigr", AACol = "HGVSp_Short",  :
Structure for protein Pigr not found"
I can see amino acids changes availabe for this gene in maf file. Just for your reference I am using maftools for mouse genome.
Thanks

Hi
Thank you for your prompt response, I will run the analysis as you
suggested.
I am also planning to run somatic interaction analysis of maftools for
mouse variants, I believe that this module supports mouse genome and also
the analysis is purely based on the list of mutations and their
variant allele frequencies. Please confirm the same.
Thank you!!!
On Thu, Jul 9, 2020 at 6:07 PM Anand Mayakonda<EMAIL_ADDRESS>wrote:

Hi,
Unfortunately mouse genomes are not supported. But if you think protein
structures are conserved across human and mouse , convert the gene names to
upper case and run the command with
lollipopPlot(maf = laml, gene = "PIGR", AACol = "HGVSp_Short")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PoisonAlien/maftools/issues/568#issuecomment-656215881,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQHLNE3X6VE6CKSA5XDBEMLR2XTNDANCNFSM4OVX56WA
.

Yeah it should be fine for somaticInteractions

Hi,
Thank you very much for the clarification.
On Fri, Jul 10, 2020 at 9:03 AM Anand Mayakonda<EMAIL_ADDRESS>wrote:

Yeah it should be fine for somaticInteractions
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PoisonAlien/maftools/issues/568#issuecomment-656519591,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQHLNE535KBP3APJQ3AL4G3R224NDANCNFSM4OVX56WA
.


ci mode: run tests (the app) without manager + generate an output file + manager can open this file for later analysis

Why
want to run it in CI or command line.
how to determine which mode to run?
When booting, try to connect to manager grpc server. If success, then in normal mode and let manager tell worker what to do.
However, if failed to connect, enter this CI mode, and run all tests.
If it is a temporary network problem, it is still ok: the users using the manager can tap "reload info" etc to stop the currently running worker.
what data to save, in what format?
what data
maybe just those "ReportSth" calls
what format
requirement: append-only. then, if tests fail at half, we can still read valuable data.
thus, just many protobuf messages concatenated head to tail.
just do this: https://stackoverflow.com/questions/20240371/protobuf-concatenation-of-serialized-messages-into-one-file
how to save data to a file disk?
for ios simulators, just save normally, and the file is accessible from the host machine. just print out that file.
how to read it from manager
read a specific file
just open a dialog and let users choose the file
analyze it
just replay all protobuf messages as if it comes from the client

firstly: refactor "ReportSth" into one single grpc call

can we connect to a local grpc server?

next steps

[ ] worker: refactor, add an abstraction layer above grpc calls
[ ] worker: write to file
[ ] manager: refactor, extract "handle report" functions
[ ] manager: a button to select files on disks
[ ] manager: read from report file and call "handle report" functions

the logic of determining which to use is not suitable.
if in ci mode, it should exit the process as soon as all tests are finished, instead of running infinitely.

now test it

[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: 'package:flutter/src/services/platform_channel.dart': Failed assertion: line 134 pos 7: '_binaryMessenger != null || ServicesBinding.instance != null': Cannot use this MethodChannel before the binary messenger has been initialized. This happens when you invoke platform methods before the WidgetsFlutterBinding has been initialized. You can fix this by either calling WidgetsFlutterBinding.ensureInitialized() before this or by passing a custom BinaryMessenger instance to MethodChannel().
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:134:7)
#3      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:36)
#4      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:350:12)
#5      PathProviderIOS.getTe<…>

run it once

Performing hot restart...
Syncing files to device iPhone 12 Pro Max...
Restarted application in 945ms.
flutter: 2022-05-04T12:14:41.565143Z|info|ManagerRpcService|create ciMode=true
flutter: 2022-05-04T12:14:41.910895Z|debug|RpcServiceLocalFile|resetManagerCache do nothing
flutter: 00:00 +0: sample group one empty test
flutter: 2022-05-04T12:14:42.127149Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:42.326677Z|info|RpcServiceLocalFile|*** Report data will be written to path: /Users/tom/Library/Developer/CoreSimulator/Devices/7F6DECAE-0468-4E27-A1A0-6DBB4F645355/data/Containers/Data/Application/F0D676A0-70CE-48B9-9B74-2B68C3A46730/Library/Caches/ConvenientTest_Report_20220504_081441.bin ***
flutter: 2022-05-04T12:14:42.542432Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:42.543315Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:43.740658Z|info|LogHandle|🟤 END  null null
flutter: 00:01 +1: sample group one sample sub-group another empty test
flutter: 2022-05-04T12:14:43.743762Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:43.749381Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:43.749798Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:44.075763Z|info|LogHandle|🟤 END  null null
flutter: 00:02 +2: sample group one sample sub-group sample sub-sub-group yet another empty test
flutter: 2022-05-04T12:14:44.077970Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:44.081927Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:44.082789Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:44.424247Z|info|LogHandle|🟤 END  null null
flutter: 00:02 +3: sample group two deliberately failing test
flutter: 2022-05-04T12:14:44.426478Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:44.429718Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:44.430035Z|info|LogHandle|🔵 START APP  null null
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure was thrown running a test:
flutter: Expected: <0>
flutter:   Actual: <1>
flutter: this expect should deliberately fail
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
flutter: #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
flutter: #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
flutter: <asynchronous suspension>
flutter: #7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)
flutter: <asynchronous suspension>
flutter: #8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)
flutter: <asynchronous suspension>
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23
flutter: The test description was:
flutter:   deliberately failing test
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 2022-05-04T12:14:45.041136Z|info|LogHandle|🔵 ERROR  ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════[NL]The following TestFailure was thrown running a test:[NL]Expected: <0>[NL]  Actual: <1>[NL]this expect should deliberately fail[NL][NL]When the exception was thrown, this was the stack:[NL]#4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)[NL]#5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)[NL]#6      tTestWidgets.<anonymous closure> (pa
flutter: ckage:convenient_test_dev/src/functions/core.dart:96:21)[NL]<asynchronous suspension>[NL]#7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL][NL]This was caught by the test expectation on the following line:[NL]  file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23[NL]The test description was:[NL]  deliberately failing test[NL]════════════════════════════════════════════════════════════════════════════════════════════════════ package:test_api/src/expect/expect.dart 137:31
flutter:                                               fail[NL]package:test_api/src/expect/expect.dart 132:3                                                                            _expect[NL]package:test_api/src/expect/expect.dart 46:3                                                                             expect[NL]package:flutter_test/src/widget_tester.dart 455:16                                                                       expect[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>[NL]package:convenient_test_dev/src/functions/core.dart 96:21
flutter:                                                          tTestWidgets.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/widget_tester.dart 170:15                                                                       testWidgets.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/binding.dart 806:5                                                                              TestWidgetsFlutterBinding._runTestBody[NL]
flutter: 00:02 +3: sample group two deliberately failing test [E]
flutter:   ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
  The following TestFailure was thrown running a test:
  Expected: <0>
    Actual: <1>
  this expect should deliberately fail

  When the exception was thrown, this was the stack:
  #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
  #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
  #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
  <asynchronous suspension>
  #7      testWidgets.<anonymous closure>.<anonymous closure> (<…>
flutter:   package:test_api/src/expect/expect.dart 137:31                                                                           fail
  package:test_api/src/expect/expect.dart 132:3                                                                            _expect
  package:test_api/src/expect/expect.dart 46:3                                                                             expect
  package:flutter_test/src/widget_tester.dart 455:16                                                                       expect
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>
  package:convenient_test_dev/src/functions/core.dart 96:21                                                                tTestWidgets.<fn>
  ===== asynchronous gap ===========================
 <…>
flutter: 2022-05-04T12:14:45.049584Z|info|LogHandle|🟤 END  null null
flutter: Retry: sample group two deliberately failing test
flutter: 2022-05-04T12:14:45.110105Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:45.123654Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:45.124067Z|info|LogHandle|🔵 START APP  null null
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure was thrown running a test:
flutter: Expected: <0>
flutter:   Actual: <1>
flutter: this expect should deliberately fail
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
flutter: #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
flutter: #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
flutter: <asynchronous suspension>
flutter: #7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)
flutter: <asynchronous suspension>
flutter: #8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)
flutter: <asynchronous suspension>
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23
flutter: The test description was:
flutter:   deliberately failing test
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 2022-05-04T12:14:45.555248Z|info|LogHandle|🔵 ERROR  ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════[NL]The following TestFailure was thrown running a test:[NL]Expected: <0>[NL]  Actual: <1>[NL]this expect should deliberately fail[NL][NL]When the exception was thrown, this was the stack:[NL]#4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)[NL]#5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)[NL]#6      tTestWidgets.<anonymous closure> (pa
flutter: ckage:convenient_test_dev/src/functions/core.dart:96:21)[NL]<asynchronous suspension>[NL]#7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL][NL]This was caught by the test expectation on the following line:[NL]  file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23[NL]The test description was:[NL]  deliberately failing test[NL]════════════════════════════════════════════════════════════════════════════════════════════════════ package:test_api/src/expect/expect.dart 137:31
flutter:                                               fail[NL]package:test_api/src/expect/expect.dart 132:3                                                                            _expect[NL]package:test_api/src/expect/expect.dart 46:3                                                                             expect[NL]package:flutter_test/src/widget_tester.dart 455:16                                                                       expect[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>[NL]package:convenient_test_dev/src/functions/core.dart 96:21
flutter:                                                          tTestWidgets.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/widget_tester.dart 170:15                                                                       testWidgets.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/binding.dart 806:5                                                                              TestWidgetsFlutterBinding._runTestBody[NL]
flutter:   ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
  The following TestFailure was thrown running a test:
  Expected: <0>
    Actual: <1>
  this expect should deliberately fail

  When the exception was thrown, this was the stack:
  #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
  #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
  #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
  <asynchronous suspension>
  #7      testWidgets.<anonymous closure>.<anonymous closure> (<…>
flutter:   package:test_api/src/expect/expect.dart 137:31                                                                           fail
  package:test_api/src/expect/expect.dart 132:3                                                                            _expect
  package:test_api/src/expect/expect.dart 46:3                                                                             expect
  package:flutter_test/src/widget_tester.dart 455:16                                                                       expect
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>
  package:convenient_test_dev/src/functions/core.dart 96:21                                                                tTestWidgets.<fn>
  ===== asynchronous gap ===========================
 <…>
flutter: 2022-05-04T12:14:45.563289Z|info|LogHandle|🟤 END  null null
flutter: Retry: sample group two deliberately failing test
flutter: 2022-05-04T12:14:45.630183Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:45.641355Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:45.641738Z|info|LogHandle|🔵 START APP  null null
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure was thrown running a test:
flutter: Expected: <0>
flutter:   Actual: <1>
flutter: this expect should deliberately fail
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
flutter: #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
flutter: #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
flutter: <asynchronous suspension>
flutter: #7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)
flutter: <asynchronous suspension>
flutter: #8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)
flutter: <asynchronous suspension>
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23
flutter: The test description was:
flutter:   deliberately failing test
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 2022-05-04T12:14:46.120895Z|info|LogHandle|🔵 ERROR  ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════[NL]The following TestFailure was thrown running a test:[NL]Expected: <0>[NL]  Actual: <1>[NL]this expect should deliberately fail[NL][NL]When the exception was thrown, this was the stack:[NL]#4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)[NL]#5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)[NL]#6      tTestWidgets.<anonymous closure> (pa
flutter: ckage:convenient_test_dev/src/functions/core.dart:96:21)[NL]<asynchronous suspension>[NL]#7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL][NL]This was caught by the test expectation on the following line:[NL]  file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23[NL]The test description was:[NL]  deliberately failing test[NL]════════════════════════════════════════════════════════════════════════════════════════════════════ package:test_api/src/expect/expect.dart 137:31
flutter:                                               fail[NL]package:test_api/src/expect/expect.dart 132:3                                                                            _expect[NL]package:test_api/src/expect/expect.dart 46:3                                                                             expect[NL]package:flutter_test/src/widget_tester.dart 455:16                                                                       expect[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>[NL]package:convenient_test_dev/src/functions/core.dart 96:21
flutter:                                                          tTestWidgets.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/widget_tester.dart 170:15                                                                       testWidgets.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/binding.dart 806:5                                                                              TestWidgetsFlutterBinding._runTestBody[NL]
flutter:   ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
  The following TestFailure was thrown running a test:
  Expected: <0>
    Actual: <1>
  this expect should deliberately fail

  When the exception was thrown, this was the stack:
  #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
  #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
  #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
  <asynchronous suspension>
  #7      testWidgets.<anonymous closure>.<anonymous closure> (<…>
flutter:   package:test_api/src/expect/expect.dart 137:31                                                                           fail
  package:test_api/src/expect/expect.dart 132:3                                                                            _expect
  package:test_api/src/expect/expect.dart 46:3                                                                             expect
  package:flutter_test/src/widget_tester.dart 455:16                                                                       expect
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>
  package:convenient_test_dev/src/functions/core.dart 96:21                                                                tTestWidgets.<fn>
  ===== asynchronous gap ===========================
 <…>
flutter: 2022-05-04T12:14:46.131127Z|info|LogHandle|🟤 END  null null
flutter: Retry: sample group two deliberately failing test
flutter: 2022-05-04T12:14:46.206733Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:46.219120Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:46.219470Z|info|LogHandle|🔵 START APP  null null
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure was thrown running a test:
flutter: Expected: <0>
flutter:   Actual: <1>
flutter: this expect should deliberately fail
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
flutter: #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
flutter: #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
flutter: <asynchronous suspension>
flutter: #7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)
flutter: <asynchronous suspension>
flutter: #8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)
flutter: <asynchronous suspension>
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23
flutter: The test description was:
flutter:   deliberately failing test
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 2022-05-04T12:14:46.589007Z|info|LogHandle|🔵 ERROR  ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════[NL]The following TestFailure was thrown running a test:[NL]Expected: <0>[NL]  Actual: <1>[NL]this expect should deliberately fail[NL][NL]When the exception was thrown, this was the stack:[NL]#4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)[NL]#5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)[NL]#6      tTestWidgets.<anonymous closure> (pa
flutter: ckage:convenient_test_dev/src/functions/core.dart:96:21)[NL]<asynchronous suspension>[NL]#7      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#8      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL][NL]This was caught by the test expectation on the following line:[NL]  file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart line 23[NL]The test description was:[NL]  deliberately failing test[NL]════════════════════════════════════════════════════════════════════════════════════════════════════ package:test_api/src/expect/expect.dart 137:31
flutter:                                               fail[NL]package:test_api/src/expect/expect.dart 132:3                                                                            _expect[NL]package:test_api/src/expect/expect.dart 46:3                                                                             expect[NL]package:flutter_test/src/widget_tester.dart 455:16                                                                       expect[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>[NL]package:convenient_test_dev/src/functions/core.dart 96:21
flutter:                                                          tTestWidgets.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/widget_tester.dart 170:15                                                                       testWidgets.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/binding.dart 806:5                                                                              TestWidgetsFlutterBinding._runTestBody[NL]
flutter:   ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
  The following TestFailure was thrown running a test:
  Expected: <0>
    Actual: <1>
  this expect should deliberately fail

  When the exception was thrown, this was the stack:
  #4      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:23:9)
  #5      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:22:49)
  #6      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:21)
  <asynchronous suspension>
  #7      testWidgets.<anonymous closure>.<anonymous closure> (<…>
flutter:   package:test_api/src/expect/expect.dart 137:31                                                                           fail
  package:test_api/src/expect/expect.dart 132:3                                                                            _expect
  package:test_api/src/expect/expect.dart 46:3                                                                             expect
  package:flutter_test/src/widget_tester.dart 455:16                                                                       expect
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 23:9   main.<fn>.<fn>.<fn>
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 22:49  main.<fn>.<fn>.<fn>
  package:convenient_test_dev/src/functions/core.dart 96:21                                                                tTestWidgets.<fn>
  ===== asynchronous gap ===========================
 <…>
flutter: 2022-05-04T12:14:46.593023Z|info|LogHandle|🟤 END  null null
flutter: 00:04 +3 -1: sample group two deliberately flaky test
flutter: 2022-05-04T12:14:46.643507Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:46.657485Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:46.657863Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:46.964036Z|info|LogHandle|🔵 TAP homePage#button null null
flutter: 2022-05-04T12:14:47.486265Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:51.571330Z|info|LogHandle|🔵 ASSERT after 36 retries with 4083 milliseconds Expected: exactly one matching node in the widget tree[NL]  Actual: _TextContainingFinder:<zero widgets with text containing NotExistString (ignoring offstage widgets)>[NL]   Which: means none were found but one was expected[NL][NL]Extra Info: matched elements are:[NL] #0      fail (package:test_api/src/expect/expect.dart:137:31)[NL]#1      _expect (package:test_api/src/expect/expect.dart:132:3)[NL]#2      expect (package:test_api/src/expect/expect.dart:46:3)[NL]#3      expect (package:flutter_test/src/widget_tester.dart:455:16)[NL]#4      _expectWithRetry (package:convenient_test_dev/src/functions/command.dart:69:7)[NL]<asynchronous suspension>[NL]#5      ExtTCommand.should (package:convenient_tes
flutter: t_dev/src/functions/command.dart:25:5)[NL]<asynchronous suspension>[NL]#6      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:33:11)[NL]<asynchronous suspension>[NL]#7      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:7)[NL]<asynchronous suspension>[NL]#8      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#9      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL]
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure was thrown running a test:
flutter: Expected: exactly one matching node in the widget tree
flutter:   Actual: _TextContainingFinder:<zero widgets with text containing NotExistString (ignoring offstage
flutter: widgets)>
flutter:    Which: means none were found but one was expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      _expectWithRetry (package:convenient_test_dev/src/functions/command.dart:69:7)
flutter: <asynchronous suspension>
flutter: #5      ExtTCommand.should (package:convenient_test_dev/src/functions/command.dart:25:5)
flutter: <asynchronous suspension>
flutter: #6      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:33:11)
flutter: <asynchronous suspension>
flutter: #7      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:7)
flutter: <asynchronous suspension>
flutter: #8      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)
flutter: <asynchronous suspension>
flutter: #9      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)
flutter: <asynchronous suspension>
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   package:convenient_test_dev/src/functions/command.dart line 69
flutter: The test description was:
flutter:   deliberately flaky test
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 2022-05-04T12:14:51.694282Z|info|LogHandle|🔵 ERROR  ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════[NL]The following TestFailure was thrown running a test:[NL]Expected: exactly one matching node in the widget tree[NL]  Actual: _TextContainingFinder:<zero widgets with text containing NotExistString (ignoring offstage[NL]widgets)>[NL]   Which: means none were found but one was expected[NL][NL]When the exception was thrown, this was the stack:[NL]#4      _expectWithRetry (package:convenient_test_dev/src/functions/command.dart:69:7)[NL]<asynchronous suspension>[NL]#5      ExtTCommand.should (package:convenient_test_dev/src/functions/command.dart:25:5)[NL]<asynchronous suspension>[NL]#6      main.<anonymous closure>.<anonymous closure>.<anon
flutter: ymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:33:11)[NL]<asynchronous suspension>[NL]#7      tTestWidgets.<anonymous closure> (package:convenient_test_dev/src/functions/core.dart:96:7)[NL]<asynchronous suspension>[NL]#8      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:170:15)[NL]<asynchronous suspension>[NL]#9      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:806:5)[NL]<asynchronous suspension>[NL][NL]This was caught by the test expectation on the following line:[NL]  package:convenient_test_dev/src/functions/command.dart line 69[NL]The test description was:[NL]  deliberately flaky test[NL]═════════════════════════
flutter: ═══════════════════════════════════════════════════════════════════════════ package:test_api/src/expect/expect.dart 137:31                                                                           fail[NL]package:test_api/src/expect/expect.dart 132:3                                                                            _expect[NL]package:test_api/src/expect/expect.dart 46:3                                                                             expect[NL]package:flutter_test/src/widget_tester.dart 455:16                                                                       expect[NL]package:convenient_test_dev/src/functions/command.dart 69:7                                                              _expectWithRetry[NL]===== asynchronous gap ===========================[NL]packag
flutter: e:convenient_test_dev/src/functions/command.dart 25:5                                                              ExtTCommand.should[NL]===== asynchronous gap ===========================[NL]Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart 33:11  main.<fn>.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:convenient_test_dev/src/functions/core.dart 96:7                                                                 tTestWidgets.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter_test/src/widget_tester.dart 170:15                                                                       testWidgets.<fn>.<fn>[NL]===== asynchronous gap ===========================[NL]package:flutter
flutter: _test/src/binding.dart 806:5                                                                              TestWidgetsFlutterBinding._runTestBody[NL]
flutter: 00:09 +3 -1: sample group two deliberately flaky test [E]
flutter:   ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
  The following TestFailure was thrown running a test:
  Expected: exactly one matching node in the widget tree
    Actual: _TextContainingFinder:<zero widgets with text containing NotExistString (ignoring offstage
  widgets)>
     Which: means none were found but one was expected

  When the exception was thrown, this was the stack:
  #4      _expectWithRetry (package:convenient_test_dev/src/functions/command.dart:69:7)
  <asynchronous suspension>
  #5      ExtTCommand.should (package:convenient_test_dev/src/functions/command.dart:25:5)
  <asynchronous suspension>
  #6      main.<anonymous closure>.<anonymous closure>.<anonymous closure> (file:///Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integration_test/main_test.dart:33:11)
  <asy<…>
flutter:   package:test_api/src/expect/expect.dart 137:31                                                                           fail
  package:test_api/src/expect/expect.dart 132:3                                                                            _expect
  package:test_api/src/expect/expect.dart 46:3                                                                             expect
  package:flutter_test/src/widget_tester.dart 455:16                                                                       expect
  package:convenient_test_dev/src/functions/command.dart 69:7                                                              _expectWithRetry
  ===== asynchronous gap ===========================
  package:convenient_test_dev/src/functions/command.dart 25:5                                                              ExtTCommand.should
  ===== asynchronous gap ===========================
  Users/tom/QAPMain/TomLib/flutter_convenient_test/packages/convenient_test/example/integrati<…>
flutter: 2022-05-04T12:14:51.701230Z|info|LogHandle|🟤 END  null null
flutter: Retry: sample group two deliberately flaky test
flutter: 2022-05-04T12:14:51.784472Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:51.800229Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:51.800977Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:52.105673Z|info|LogHandle|🔵 TAP homePage#button null null
flutter: 2022-05-04T12:14:52.442541Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:52.490151Z|info|LogHandle|🟤 END  null null
flutter: 00:10 +4 -1: sample group two tap and assert text
flutter: 2022-05-04T12:14:52.492761Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:52.498163Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:52.498506Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:52.813765Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:52.882034Z|info|LogHandle|🔵 TAP homePage#button null null
flutter: 2022-05-04T12:14:53.190860Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:53.231840Z|info|LogHandle|🔵 TAP homePage#button null null
flutter: 2022-05-04T12:14:53.556819Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:53.603308Z|info|LogHandle|🟤 END  null null
flutter: 00:11 +5 -1: sample group two locate an element deep in the tree
flutter: 2022-05-04T12:14:53.605678Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:53.612055Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:53.613270Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:53.911124Z|info|LogHandle|🔵 TAP homePage#star that has ancestor(s) with homePage#row (ignoring all but last) null null
flutter: 2022-05-04T12:14:54.362500Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:54.406846Z|info|LogHandle|🟤 END  null null
flutter: 00:12 +6 -1: sample group two navigation
flutter: 2022-05-04T12:14:54.408974Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:54.414576Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:54.414934Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:54.736910Z|info|LogHandle|🔵 VISIT /second null null
flutter: 2022-05-04T12:14:55.375516Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:55.406613Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:55.437555Z|info|LogHandle|🔵 POP  null null
flutter: 2022-05-04T12:14:55.922885Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:55.958071Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:56.003731Z|info|LogHandle|🟤 END  null null
flutter: 00:13 +7 -1: sample group two custom logging and snapshotting
flutter: 2022-05-04T12:14:56.006359Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:56.010053Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:56.010417Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:56.310795Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:56.342605Z|info|LogHandle|🔵 HELLO Just a demonstration of custom logging null null
flutter: 2022-05-04T12:14:56.383740Z|info|LogHandle|🟤 END  null null
flutter: 00:14 +8 -1: sample group two custom commands
flutter: 2022-05-04T12:14:56.385350Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:56.388214Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:56.388526Z|info|LogHandle|🔵 START APP  null null
flutter: Hello, world!
flutter: 2022-05-04T12:14:56.711913Z|info|LogHandle|🟤 END  null null
flutter: 00:14 +9 -1: sample group two sections
flutter: 2022-05-04T12:14:56.715170Z|info|LogHandle|🟤 START  null null
flutter: 2022-05-04T12:14:56.719398Z|info|LogHandle|🔵 BODY  null null
flutter: 2022-05-04T12:14:56.719797Z|info|LogHandle|🔵 START APP  null null
flutter: 2022-05-04T12:14:57.033996Z|info|LogHandle|🔵 SECTION sample section one null null
flutter: 2022-05-04T12:14:57.034429Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:57.070476Z|info|LogHandle|🔵 SECTION sample section two null null
flutter: 2022-05-04T12:14:57.070841Z|info|LogHandle|🔵 ASSERT  null null
flutter: 2022-05-04T12:14:57.112335Z|info|LogHandle|🟤 END  null null
flutter: 00:15 +10 -1: (tearDownAll)
flutter: Warning: integration_test plugin was not detected.
flutter:
flutter: If you're running the tests with `flutter drive`, please make sure your tests
flutter: are in the `integration_test/` directory of your package and use
flutter: `flutter test $path_to_test` to run it instead.
flutter:
flutter: If you're running the tests with Android instrumentation or XCTest, this means
flutter: that you are not capturing test results properly! See the following link for
flutter: how to set up the integration_test plugin:
flutter:
flutter: https://flutter.dev/docs/testing/integration-tests#testing-on-firebase-test-lab
flutter:
flutter: 00:15 +11 -1: Some tests failed.

let's check
/Users/tom/Library/Developer/CoreSimulator/Devices/7F6DECAE-0468-4E27-A1A0-6DBB4F645355/data/Containers/Data/Application/F0D676A0-70CE-48B9-9B74-2B68C3A46730/Library/Caches/ConvenientTest_Report_20220504_081441.bin

p.s. the file disappears as soon as the app is uninstalled/reinstalled, so copy it early

/Users/tom/Library/Developer/CoreSimulator/Devices/7F6DECAE-0468-4E27-A1A0-6DBB4F645355/data/Containers/Data/Application/BAB3FAAA-88EF-4B03-BBF9-A192B1BA4BDD/Library/Caches/ConvenientTest_Report_20220504_082207.bin

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: InvalidProtocolBufferException: Protocol message tag had invalid wire type.
#0      UnknownFieldSet.mergeFieldFromBuffer (package:protobuf/src/protobuf/unknown_field_set.dart:74:9)
#1      _mergeFromCodedBufferReader (package:protobuf/src/protobuf/coded_buffer.dart:42:38)
#2      GeneratedMessage.mergeFromBuffer (package:protobuf/src/protobuf/generated_message.dart:196:5)
#3      new ReportCollection.fromBuffer (package:convenient_test_common/src/protobuf/convenient_test.pb.dart:37:17)
#4      MiscService.readReportFromFile (package:convenient_test_manager/services/misc_service.dart:59:47)

#5      MiscService.pickFileAndReadReport (package:convenient_test_manager/services/misc_service.dart:52:5)

only 102byte too small

sounds good now


Add new aliases and create work folder on init

Add new aliases for git and codeception.
On init, if doesn't exist, create work folder and copy pull_repos.sh script in it.
Pull repos script does nothing more than iterate over folders inside ~/work and calls git pull.
Add goodmorning script that sets you up for a productive day :D
Basically, goodmorning will:

open gmail and github pages in chrome
open slack
update your projects
update composer
update brew

Thanks for the contribution @flackovic. Can you also add some readme for dobrojutro that explains what does it do, check my review notes and merge this one :)

@flackovic also update the documentation with new stuff added, you can place these things in "aliases.md", thanks

Exactly :)
On Tue, Jun 19, 2018, 22:07 Andrija Dvorski<EMAIL_ADDRESS>wrote:

@Dvorsky commented on this pull request.
In files/pull_repos.sh
https://github.com/krukru/shell-me-up-scotty/pull/12#discussion_r196560593
:

@@ -0,0 +1,4 @@
+for dir in ~/work/*;

Okay, I agree, I did this with this project where hook-me-up.py has
shebang at the top, but other scripts that are being imported don't have
shebangs, is this the way you meant?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/krukru/shell-me-up-scotty/pull/12#discussion_r196560593,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJmyNv5a7xpSUGTgUUd5v6chsBO7ShN7ks5t-Vn0gaJpZM4UuByd
.

@krukru @Dvorsky should be ok now

@krukru I think codecept and $PATH can be addressed with separate pull request for issue #13

@Dvorsky Ok, but then it should be removed from this one

All is good now, merging


PointNav training curriculum

The default PointNav task for MP3D seems very hard given how far the sampled goals can get. Is there a principled/already implemented way to sample goals in a smaller neighborhood and specify as a config parameter?
If there isn't, any references on where I could start off to implement something like that or a curriculum of increasing distances?

I am interested in curriculum learning as well

Suggestions on how to filter/implement a custom episodes order:

generate your own PointNav task dataset with a short geodesic distance to target
use Dataset.filter_episodes method to filter episodes
define a custom EpisodeIterator and use it in Dataset.get_episode_iterator


Please add a way to limit the chunk size

Currently we can limit the maximum size of a file using MaxAllowedUploadSizeInBytesLong or MaxAllowedUploadSizeInBytes.
If we want to limit the chunk size we have to rely on configuration on the client side, which is not very wise.

What issue are you experiencing that limiting the chunk size on the server would solve?

Imagine that you have a situation where you're using Uppy + Tus to upload files to the server.
Let's say you configure the server to receive files with a maximum size of 4GB.
On the client side you can currently configure Uppy + Tus with a maximum file size, maximum chunk size and maximum number of concurrent uploads. Let's say that the clients maliciously change their chunksize to 2GB, what happens to the server's memory? And yes, I know you can configure this stuff on the server. But what if the server requires a bigger request size for other applications?
Another scenario would be if you want to support multiple tiers of service for different clients (free vs paid accounts).

I think there are some misconceptions and odd assumptions in this thread.

On the client side you can currently configure Uppy + Tus with a maximum file size, maximum chunk size and maximum number of concurrent uploads. Let's say that the clients maliciously change their chunksize to 2GB, what happens to the server's memory?

Nothing as tusdotnet does not keep the entire chunk in memory.

But what if the server requires a bigger request size for other applications?

Could you give me an example where the server requires a bigger request size for non-resumable uploads than it does for resumable uploads? It seems like a stretch. If you still need this you can limit the request size and just disable it for whatever endpoint that needs it.

I think there are some misconceptions and odd assumptions in this thread.

On the client side you can currently configure Uppy + Tus with a maximum file size, maximum chunk size and maximum number of concurrent uploads. Let's say that the clients maliciously change their chunksize to 2GB, what happens to the server's memory?

Nothing as tusdotnet does not keep the entire chunk in memory.

How is the amount of data sent from the client to the server, in each request, defined?

But what if the server requires a bigger request size for other applications?

Could you give me an example where the server requires a bigger request size for non-resumable uploads than it does for resumable uploads? It seems like a stretch. If you still need this you can limit the request size and just disable it for whatever endpoint that needs it.

Let's say you have two applications running on the server.
Application A does not support resumable uploads and requires you to upload files with a maximum size of 4MB (sent using a standard form with enctype='multipart/form-data').
Application B supports resumable uploads with Uppy + Tus with a chunk size of 100Kb (we already established that the chunk size is not what defines the amount of data sent in each request, please replace it with the correct term).

How is the amount of data sent from the client to the server, in each request, defined?

https://github.com/tusdotnet/tusdotnet/blob/master/Source/tusdotnet/Stores/TusDiskStore.cs#L89
https://github.com/tusdotnet/tusdotnet/blob/master/Source/tusdotnet/Stores/TusDiskStore.PipeReader.cs#L40

Let's say you have two applications running on the server.

I'm sorry but I don't really follow the reasoning here. Could you elaborate on how this would work and why you need it? I thought the issue was that you didn't want to use to much memory on the server which is not an issue as pointed out above.
There have been some discussions to add this feature to the protocol but there hasn't been any new updates to it in a while. For a feature like this to be useful it needs to be understood by both the server and the client so that the client knows what to expect. See https://github.com/tus/tus-resumable-upload-protocol/pull/93

Ok, I'll try to do this in a different way.
What are your thoughts on allowing the developers to adjust this value (to a lower value)?
const int JUST_BELOW_LOH_BYTE_LIMIT = 84 * 1024;
And you're right, eventually the protocol has to change so both client and server understad each other.

I'm sorry but I don't really follow the reasoning here.

Ok, let me try this differently.
Just to give a bit of context, I misused the word chunk in the title and original post.  Please keep in mind that when I use the work "chunk" I mean the block of data being transferred in each HTTP request, not the chunk file on the disk that is partially filled by those requests. I realised this a few posts back but I don't think you did. Just wanted to clarify it.
Imagine this scenario, let's say you have a file download server, where people can download large files.
Your application starts to grow in user count and you start getting a lot of parallel requests. So now you have to figure out a way to serve more files in parallel.
For argument sake let's say that your server has a 10Mb/s connection and previously each "chunk" sent to the client had 5Mb , so you could serve two clients simultaneously.
Now your application grew to 10 clients. One thing you can do is, instead of serving 5Mb of data to each client, is send them 1Mb "chunks", so you can serve the 10 clients simultaneously. With this you can better manage your server's bandwidth (and memory).
What I'm asking is the possibility to do this with Tus, to limit how much data a user can send in each request.
You're absolutely right when you say that that probably requires changes to the protocol. Initially the server has to announce the maximum size allowed and if the client sends more data than allowed it should throw an error.

I faven't had too much time to look at the code you sent but in TusDiskStore there's this line:
const int JUST_BELOW_LOH_BYTE_LIMIT = 84 * 1024;
What are your thoughs on allowing the developer to define a lower value here?

Sorry to be frank here but is this a real world issue or just some theoretical issue? I don't have the time nor energy to debate hypotheticals.

What are your thoughs on allowing the developer to define a lower value here so that the buffer size and "chunk" size match?

I don't really see the point though. The constant is used to create an array inside the FileStream used for writing the file to disk. This is the maximum value that can be used per write and it was chosen to not go over the Large Object Heap (LOH) limit as this might cause "memory leaks" (not really, but the GC will compact the LOH space less). The internals of the FileStream uses an ArrayPool so the number of allocations is basically non existing. The LOH limit was chosen for the edge case where the ArrayPool is full. In this case a new array will be allocated and this is when we do not want to put that array into the LOH.
I think what you are looking for is the TusDiskBufferSize class. This class allows you to specify the write buffer size in bytes. The lower the value the less memory is consumed. On the other hand the more IO and CPU will be required to handle the writes.

Sorry to be frank here but is this a real world issue or just some theoretical issue? I don't have the time nor energy to debate hypotheticals.

Real world scenario.
If you don't have energy to debate I think I'll leave at this.
Thank you for your attention anyway.

Real world scenario.
If you don't have energy to debate I think I'll leave at this.

You are reading that wrong. I said that I have no energy to discuss hypotheticals. We are 10 messages in and I still have no idea what problem you are trying to solved. You started with a XY problem about chunk sizes and then somehow pivoted to bandwith and then grasping at straws for things to change without understanding the code.
What's the problem you are trying to fix?


Structured configs

Pull Request Test Coverage Report for Build 287

50 of 51 (98.04%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 97.941%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

omegaconf/omegaconf.py
24
25
96.0%

Totals

Change from base Build 277:
0.1%

Covered Lines:
904

Relevant Lines:
923

💛  - Coveralls

Using typing.Optional fails:
@dataclass
class Foo:
    a: Optional[int] = 1

OmegaConf.create(Foo)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-59-71ae7d57826e> in <module>
      4
      5
----> 6 OmegaConf.create(Foo)

~/work/omegaconf/omegaconf/omegaconf.py in create(obj, parent)
     37
     38         if is_structured_config(obj):
---> 39             d = get_structured_config_data(obj)
     40             ret = DictConfig(d, parent)
     41             OmegaConf.set_struct(ret, True)

~/work/omegaconf/omegaconf/utils.py in get_structured_config_data(obj)
    135 def get_structured_config_data(obj):
    136     if is_dataclass(obj):
--> 137         return get_dataclass_data(obj)
    138     if is_attr_class(obj):
    139         return get_attr_data(obj)

~/work/omegaconf/omegaconf/utils.py in get_dataclass_data(obj)
    107             dict,
    108         ) and not is_dataclass(type_):
--> 109             value = node_wrap(type_, value)
    110
    111         d[name] = value

~/work/omegaconf/omegaconf/utils.py in node_wrap(type_, value)
     32         node = StringNode(value)
     33     else:
---> 34         raise ValueError("Unexpected object type : {}".format(type_.__name__))
     35     return node
     36

/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/typing.py in __getattr__(self, attr)
    700         if '__origin__' in self.__dict__ and not _is_dunder(attr):
    701             return getattr(self.__origin__, attr)
--> 702         raise AttributeError(attr)
    703
    704     def __setattr__(self, attr, val):

AttributeError: __name__

You can resolve Optional type as follows:
def resolve_optional(type_):
    if getattr(type_, "__origin__", None) is Union:
        args = type_.__args__
        if len(args) == 2 and args[1] is type(None):
            return args[0]
    return type_

assert resolve_optional(Optional[int]) is int
assert resolve_optional(int) is int

Progress:
support for Optional[T], List[T] and Dict[str, T] added.
T is limited to supported simple types (str, int, float, bool and enum)

This is functionally complete as far as I can tell.
I would appreciate a review pass on the docs and on the tests (especially changed tests)


Redesign of the LTChip

The current LTChip works in a horizontal fashion.

lt
diff[0]
diff[1]
diff[...]
diff[N_BYTES]

1
0xff
0xff
0xff
0xff

In order to reduce the size of the proof and allows for on-chain verification, we need a more vertical design that fits in 5 advice columns.
Note that the range in which lhs and rhs lie in our case is 248 BITS.
How to do that (alternatives):

[ ] PR the zkevm
[ ] Create a new LTChip in summa-solvency
[ ] Find another existing gadget that works as desired to import

What is part of the issue:

Create a vertical LTChip that passes the same testing included here => https://github.com/privacy-scaling-explorations/zkevm-circuits/blob/main/gadgets/src/less_than.rs

What is not part of the issue:

Integrate the Chip in Summa

Hey @enricobottazzi would like to take this up!


Middleware unable to write headers in before blocks

Reproduction:
class API < Grape::API
  before do
    header "X-Test-A", "Success"
  end

  class HeaderTest < Grape::Middleware::Base
    def before
      endpoint = env['api.endpoint']
      endpoint.header "X-Test-B", "Success"
    end
  end

  use HeaderTest

  get '/' do
    present ""
  end
end

Expected result:
  HTTP/1.1 200 OK
  Content-Type: text/plain
  Content-Length: 0
  Cache-Control: max-age=0, private, must-revalidate
  Connection: keep-alive
  X-Test-A: Success
  X-Test-B: Success
  Server: thin

Actual result:
  HTTP/1.1 500 Internal Server Error
  Content-Type: text/plain
  Content-Length: 39
  Cache-Control: max-age=0, private, must-revalidate
  Connection: keep-alive
  Server: thin

  undefined method `[]=' for nil:NilClass

Cause: Headers are sent before any before calls in middleware Before is called before any response is created.
Workaround: Set headers in after (@app_response[1])

N.B. trying to access response also yields undefined method `[]' for nil:NilClass

I agree it should be possible, marking this as a feature request.

I also encounter the exact same issue. I was expecting to be able to add custom headers in the before method but the headers instance variable is defined after. Looking forward for this to be solved :)

I'd like to fix this after solving #1243

@dblock This can be closed by #1244.


Anarci Refactor

Goal

Speed increase
Replace high level HMMER implementation with low level using PyHMMER
Keep Anarci numbering and region formatting.

Data

[x] Create separated HMMs #41
[x] create missing species from ALL.hmm to put into separated HMMs #73

Code

hmmer.py::HMMER

[x] build_hmm(stockholm: Path) -> None
[x] match test_cat to pyhmmer output for simple testing before moving on
[x] sadie.hmmer class api init

[x] species: replicate DataFrame[].func behavior for chimera behavior

[x] available_species property
[x] hmmsearch(seqs: str) -> pd.DataFrame
[x] numbering(hmm_aln, query_aln, query_seq: str, scheme: str, region: str, *args, **kwargs) -> pd.DataFrame
[x] hmmsearch(seqs: str) -> pd.DataFrame

Afterburner Goals

[x] Squeeze ANARCI's formatting into a single class

The tools were squeezed into a single class, but the schemes and templates were left as scripts in the same level to reduce complexity of the refactor. A complete scheme rewrite does not seem practical, but examples, tests and docs are needed to increase community contributions.

[x] replicate sadie API usage; any API changes should be a separate EPIC in itself.
- [ ] look into streamlining muscle to remove stockholm input complexity

muscle not directly needed now since we can replicated behavior with known patterns for J and pre-aligned for V regions found in g3

Testing

create new test_numbering

[ ] ANARCI format testing (mostly to make sure any changes doesn't change it's output)
[x] build hmm test (whether or not it failed for each specie)

under test_g3 now since it is from src

[x] query hmm test (has to match with existing output from test_anarci's single query)

currently within hmmer_translator.py that pulls models from g3 as priority than anarci src backup if species/chain does not exist in g3

Documentation Addition to README

[ ] FlowChart input -> output
[ ] simple hmm build from existing stockholm file
[ ] simple query (sample seq should be importable)

seq without ID only needed now

pyhmmer hmmsearch runs test_cat in 3.5 ms and confirmed to have the same result as hmmscan. Hmmsearch is natively parallel by design so it might be faster to remove the multiprocessing overhead unless there is a certain number of sequence requests.

@tmsincomb how is this going?

The implementation is done; the readme now needs an API example for Renumbering and a flow chart to simplify how the backend works since its a bit more complex now. I should do that today so I can finally close this.

Moving docs segment to another ticket


[Event Request] Table 11400 - CBG Statement - OnBeforeMakeGenJournalLine (NL Localization)

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnBeforeMakeGenJournalLine to be added to Table 11400 CBG Statement with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeMakeGenJournalLine(var GenJnlLine: Record "Gen. Journal Line"; ForEachDocumentNo: Code[20]; ForEachDate: Date; TotAmountVV: Decimal; TotAmountLV: Decimal)
    begin
    end;

with var parameter: GenJnlLine
which would be called as follows from MakeGenJournalLine:
    [Scope('OnPrem')]
    procedure MakeGenJournalLine(var GenJnlLine: Record "Gen. Journal Line"; ForEachDocumentNo: Code[20]; ForEachDate: Date; TotAmountVV: Decimal; TotAmountLV: Decimal)
    var
        DocumentType: Enum "Gen. Journal Document Type";
    begin
        OnBeforeMakeGenJournalLine(GenJnlLine, ForEachDocumentNo, ForEachDate, TotAmountVV, TotAmountLV);
        ...
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Drop python 2.6 support and testing

Seems about time to do this. This would help reduce legacy compatibility code and open the door for 2.7 and higher features. Chime in if you disagree / have a use case that still needs 2.6 support.

👍

I can take this up.


Make it a PWA with offline caching

Should do proper manifest on that occasion, too.

this seems to be wildly unneccesary


Feature: Add allowWhitespaceNodes prop

Checks

[x] I have read the contribution guidelines regarding Pull Requests here: https://git.io/JJ0Pg

Description

Some HTML content requires the rendering of nodes consisting of only whitespace characters to maintain proper content layout. This opt-in prop allows those nodes to be rendered.

Codecov Report

Merging #447 (1c4b429) into master (280def6) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #447   +/-   ##
=======================================
  Coverage   64.69%   64.69%
=======================================
  Files           7        7
  Lines         473      473
  Branches      141      141
=======================================
  Hits          306      306
  Misses         69       69
  Partials       98       98

Impacted Files
Coverage Δ

src/HTML.js
57.54% <100.00%> (ø)

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 280def6...1c4b429. Read the comment docs.

@mysport12 You can use whiteSpace: 'pre' mixed rule on those nodes, did you try it out? (you can achieve this with classesStyles, tagsStyles, or inline styles).

@mysport12 Sorry, my comment is relevant for the dev/foundry branch! I'll review this PR in January.


Which version of keras?

I'm running 2.2.4..
  File "./1_vgg16_pretrain.py", line 1, in <module>
    from network import VGG16
ModuleNotFoundError: No module named 'network'

There is a network folder which contains the code for VGG16. I think you are missing that. Could you please check and verify?