01:09
subbu has quit [Quit: Leaving]
13:11
<
headius >
enebo: added
14:10
<
enebo[m] >
headius: thanks. I am just knocking off individual issues to make all our other test pass
14:11
<
enebo[m] >
yesterday I got the overall set to look much more green
14:21
<
enebo[m] >
1) Java::JavaNet::URL can used with 'open-uri' and passed to #open and yield an IO
14:23
<
enebo[m] >
That is the last failure of spec:ji
14:23
<
enebo[m] >
After this the only red is sequel/concurrent-ruby/spec-ruby/test:mri
14:24
<
headius >
I can look into that before I get back to kwargs
14:24
<
enebo[m] >
Look at sequel
14:25
<
headius >
I want to see that JI error
14:25
<
enebo[m] >
no implicit conversion of Java::JavaNet::URL into String
14:25
<
headius >
odd thing to break
14:26
<
enebo[m] >
yeah and the only thing to break
14:27
<
headius >
something changed in open-uri I would guess
14:27
<
enebo[m] >
a) it somehow had to_path and lost it b) convertToString stopped working
14:28
<
headius >
or it is not patching Kernel#open right
14:28
<
enebo[m] >
oh does it patch kernel#open. Ok that makes sense since it is dying in kernel#open
14:28
<
enebo[m] >
it is likely not patching it at all
14:29
<
headius >
well I'm checking that now
14:29
<
headius >
they may have stopped patching it
14:29
<
enebo[m] >
elsif name.respond_to?(:to_str) &&
14:29
<
enebo[m] >
(uri = URI.parse(name)).respond_to?(:open)
14:29
<
enebo[m] >
uri.open(*rest, &block)
14:29
<
enebo[m] >
%r{\A[A-Za-z][A-Za-z0-9+\-\.]*://} =~ name &&
14:29
<
enebo[m] >
There is logic here
14:30
<
headius >
so they did remove the override in 3ish
14:30
<
headius >
deprecated in 2.7
14:30
<
headius >
so this just needs to switch to calling URI.open
14:32
<
enebo[m] >
yeah. I will change it
14:32
<
headius >
there's a 0.2.0 open-uri, I will check if they have shifted 3.0 to that yet
14:33
<
headius >
and the answer is no
14:33
<
headius >
it was just released in oct
14:35
<
enebo[m] >
The literal/maybekwarg change I think caused these extra params. I think this is all that is broken on concurrent-ruby
14:36
<
headius >
yeah that could be
14:36
<
headius >
what is on master is kinda half switched to that new flag
14:37
<
headius >
I have glanced at sequel before and at least a few of these are due to kwargs breakage
14:37
<
enebo[m] >
ruby-concurrent and sequel might both be fallout from the start of this. It is less clear on sequel since it appears to be using ruby2_keywords directly
14:39
<
enebo[m] >
I am going to switch over to pruning down errors on one of the two large suites today
14:39
<
enebo[m] >
I should work on prepend but I am not feeling that quite yet :)
15:02
<
headius >
I will look into why test:mri:core is hanging
15:02
<
headius >
looks like stdlib hanging too
15:02
<
headius >
so much of this:
15:02
<
headius >
test/mri/ruby/test_literal.rb:581: warning: ... at EOL, should be parenthesized?
15:15
<
enebo[m] >
hanging?
15:15
<
headius >
they are hanging on CI
15:15
<
enebo[m] >
I am seeing results at the bottom
15:15
<
enebo[m] >
am I looking at the wrong runs?
15:16
<
enebo[m] >
I cancelled the run
15:16
<
enebo[m] >
Look at last one run
15:16
<
headius >
yeah I didn't want to look there because it was still running several
15:16
<
enebo[m] >
Our queue is small enough where if I push something else I am just killing the last running one
15:17
<
headius >
ok they are completing
15:17
<
headius >
you shouldn't need to kill some of these but I'm not sure the rule... it will not run stale jobs that have not started
15:17
<
headius >
I'm not sure what granularity that is on though
15:17
<
enebo[m] >
I although thought both these were about 200-250 F/E for each and they are over 400 so maybe the literal changes?
15:18
<
enebo[m] >
TypeError: wrong argument type Integer (expected Symbol)
15:18
<
headius >
I see a lot of Integer coercion errors in the test framework
15:18
<
headius >
looking into that
15:18
<
enebo[m] >
This is weird message
15:18
<
headius >
yeah they are all in core_assertions
15:18
<
enebo[m] >
I see those but through multiple seemingly unrelated methods
15:19
<
headius >
this looks like another kwargs problem
15:20
<
headius >
it is trying to munge some **opts and getting integer keys that are unrelated
15:21
<
headius >
or this has not been updated for ruby 3 kwargs
15:21
<
headius >
res_p, res_c = IO.pipe
15:21
<
headius >
opt[res_c.fileno] = res_c.fileno
15:21
<
headius >
and then it does **opt later
15:21
<
headius >
that would seem wrong for 3.0 kwargs
15:22
<
headius >
I will gank the test/lib stuff from CRuby 3 branch again and see if this changes
15:22
<
headius >
our copy scripts don't copy that so it is a bit manual
15:23
<
headius >
hmm it seems to match
15:23
<
headius >
oh test/tool
15:29
<
headius >
ok we are just wrong here I guess
15:30
<
enebo[m] >
yeah makes sense that they ratcheted down actual kwargs to require proper symbol keys
15:30
<
headius >
you are not reading that right
15:30
<
enebo[m] >
does that also fail if key is a string?
15:30
<
headius >
they allow this through
15:31
<
enebo[m] >
oh they allow it
15:31
<
headius >
bottom is us
15:31
<
enebo[m] >
that does not make sense but nothing surprises me
15:31
<
headius >
I think the rule is bare **opts without other keywords will still allow weird keys through?
15:31
<
enebo[m] >
These things make me wonder if it is intentional or not
15:32
<
headius >
Ruby 2.6.5 also errors so this changed in 2.7
15:35
<
headius >
I can remove our check for symbols but then it splits the opts into a separate hash and passes that as an argument
15:35
<
headius >
so that is not a sufficient change to fix this
15:37
<
headius >
it seems clear to me that we have too many failures due to broken kwargs to really iterate properly
15:37
<
headius >
I'm going to go back to my branch and see if I can start to bifurcate the two kwarg-processing paths
15:42
<
headius >
I've merged master to my kwargs branch and will push that to see how test runs look
15:42
<
headius >
it may be better but still needs ruby2_keywords logic restored along some path
15:43
<
enebo[m] >
and ruby2_keywords was not really too hooked up to begin with
15:43
<
enebo[m] >
it was mostly implemented enough for a hash to just know it was one or not
15:46
<
headius >
it can't bundle so it won't get far
15:48
<
headius >
I will try a local run since I'm already bundled here but this needs a lot more work
15:48
<
headius >
seems a bit too broken though
16:05
<
headius >
Yeah I'm going to have to back this change off even though it was a good experiment
16:06
<
headius >
Restart the work by taking current logic and setting it aside for Ruby two keywords
17:06
<
headius >
uff-da this code
17:41
<
headius >
I'm restarting by getting ruby2keywords and keyword arguments flags in the right places and propagating them
17:41
<
headius >
rather than having a separate concrete subtype for KeywordsHash it will be less cumbersome to just use a flag on RubyHash
17:42
<
headius >
also added a ruby2keywords flag to IRScope and trying to honor that in frobnicate and other places
17:48
<
headius >
hmm well conservative start doesn't break bundler so that's progress
17:52
<
headius >
this only splits frobnicate and processBlockArgs and doesn't add much logic in either but let me know if the flags and propagation seem right
18:28
<
enebo[m] >
headius: looks reasonable as a start. We keep old logic through that variable
18:29
<
enebo[m] >
we obviously need the state around to know what to do too
23:22
sagax has joined #jruby