Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@steveisok
Copy link
Contributor

There's a lot here... Hopefully it will be (relatively) easy enough to review.

It's important to note that this change makes System.Configuration point at corefx System.Configuration.ConfigurationManager. Since System.Web relies heavily on System.Configuration and mono's version was a little different, I felt like this change was essential.

Please note that there are some classes that are not in refsrc, but are needed. For those, I just used decompiled and took what I needed. It would be helpful to know who to pester to fill in these gaps.

Thanks for everyone's help.

@marek-safar
Copy link
Member

marek-safar commented Jan 28, 2019

@steveisok this will be quite hard to review and it broke some of existing tests. I'd propose to split this PR into few smaller ones (e.g. build infrastructure improvements, msbuild changes, etc) and also leave the files removal to separate PR

@steveisok steveisok force-pushed the refsrc-webforms-switch branch from 3f10bf0 to eaf0a38 Compare January 28, 2019 12:32
@steveisok steveisok requested a review from alexischr as a code owner January 28, 2019 12:32
@steveisok
Copy link
Contributor Author

I'll try and break this out as much as I can. Outside of builds / deletes, I'm not sure how to spoon feed this?

@steveisok
Copy link
Contributor Author

As far as I can see, there are 2 System.Web.Extensions standalone tests that are failing. I'm working through getting that right.

@steveisok
Copy link
Contributor Author

Created an issue for the linux test failures that remain. #12676

@steveisok steveisok force-pushed the refsrc-webforms-switch branch from 034ac8f to 76c37d6 Compare February 25, 2019 13:29
@steveisok
Copy link
Contributor Author

@monojenkins build Linux x64

@steveisok
Copy link
Contributor Author

@monojenkins build OS X i386

@steveisok
Copy link
Contributor Author

@monojenkins build Linux x64 Interpreter

@lambdageek
Copy link
Member

@steveisok if you haven't found the AOT build errors yet, here's some(?) of it:

// Error(s) in file /mnt/jenkins/workspace/test-mono-pull-request-amd64-fullaot/mcs/class/System.Web.Services/mobile_System.Web.Services.dll.sources:
Directory does not exist: '/mnt/jenkins/workspace/test-mono-pull-request-amd64-fullaot/mcs/class/System.Web/System.Web.Util'
Directory does not exist: '/mnt/jenkins/workspace/test-mono-pull-request-amd64-fullaot/mcs/class/System.Web/System.Web.Util'
File does not exist: '/mnt/jenkins/workspace/test-mono-pull-request-amd64-fullaot/mcs/class/System.Web/System.Web/HttpUtility.cs'
// gensources produced 3 error(s) and a set of 147 filename(s)

(This is from the Linux x64 FullAOT build)

You can reproduce what it's doing locally by doing a build with ./autogen.sh --with-runtime-preset=fullaot

(in general, the CI configurations are driven by <gitroot>/scripts/ci/run-jenkins.sh with various values in the CI_TAGS environment variables)

@steveisok
Copy link
Contributor Author

@monojenkins build Windows i386

@steveisok
Copy link
Contributor Author

PR update - I'm looking into the interpreter failures as there are crashes in generally the same 3 spots. The windows failures look to be flakes that pass/fail on and off. I'll take a closer look unless this is a known type of thing?

Finally, @marek-safar, I'm having a hard time coming up with ways to split this PR up and still be effective. In my view, it's pretty intertwined and I'm not sure there are many parts that can just stand on their own.

Please advise on what, if anything, you would like me to do.

@marek-safar
Copy link
Member

I think the changes to System.Security, System.Web.Services, System.Data.Linq could be extracted

@steveisok
Copy link
Contributor Author

@monojenkins build Linux x64 Interpreter

@marek-safar
Copy link
Member

@akoeplinger for me the change is ready for the merge, what do you think?

@akoeplinger
Copy link
Member

@marek-safar it looks generally good (found a few minor things while skimming the code, didn't do a full review yet).

The main issue is the reverse-engineered files like mcs/class/System.Web/resources/WebForms.js, they were supposed to be added to reference source: microsoft/referencesource#96.

We should sync with Immo this week and see whether we can get some movement there.

@steveisok steveisok force-pushed the refsrc-webforms-switch branch from a83da08 to a8c4cfe Compare November 21, 2019 02:35
@steveisok
Copy link
Contributor Author

@monojenkins build failed

@steveisok
Copy link
Contributor Author

OK - revisiting this :-)

There are 5 test failures in System.Configuration that have to do w/ user.config (LocalFileSettingsProvider):

  • ApplicationSettingsBaseTest.CustomClass_Roundtrip
  • ApplicationSettingsBaseTest.ModifiedObjectsAreSerialized_Bug15818
  • ApplicationSettingsBaseTest.Reset_FiresPropChangedOnly_Bug15818
  • ApplicationSettingsBaseTest.SettingSavingEventFired_Bug2315
  • ApplicationSettingsBaseTest.TestBug8533ConfHandlerWronglyMixedUp

The interesting thing is it works on my machine (tm). Note part of the xml I plucked out of user.config:

<MonoTests.System.Configuration.ApplicationSettingsBaseTest_x002B_Bug15818Settings2>
            <setting name="MyObject" serializeAs="Xml">
                <value>
                    <Bug15818Class xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <Name>xyz</Name>
                        <Value>-1</Value>
                    </Bug15818Class>
                </value>
            </setting>
            <setting name="Text" serializeAs="String">
                <value>bla</value>
            </setting>
        </MonoTests.System.Configuration.ApplicationSettingsBaseTest_x002B_Bug15818Settings2>

@steveisok
Copy link
Contributor Author

If they work outside of CI, perhaps skipping them would be appropriate (for now)?

@adrianluisgonzalez
Copy link
Contributor

Hi,

Is there a time frame for this PR getting merged and released? I have run into 3 issues that this would resolve:

  1. Issue Error CS1576 with mono and System.Web.Hosting.VirtualPathProvider  #13993
  2. Implementation differences in System.Web.HostingEnvironment (constructor throws an exception): referencesource vs mono
  3. Implementation differences in System.Web.HttpCookie#Value: referencesource vs mono

Really appreciate all the hard work on mono!

@steveisok
Copy link
Contributor Author

steveisok commented Jan 10, 2020

@adrianluisgonzalez As soon as I can solve why 5 test failures are inexplicably happening on our windows CI lane. They don't happen both locally (works on my machine!) and when I try it directly on our actual CI machines.

@sd-charris
Copy link

sd-charris commented Feb 18, 2020

Really looking forward to this getting merged and released as it definitely fixes a few issues I have encountered.

Great work!

@sd-charris
Copy link

Any headway made on this PR? Eager for this to make it into a release.

@steveisok
Copy link
Contributor Author

Blocked on 5 System.Configuration failures on Windows that I cannot reproduce except on CI :-(. And I haven't had time to try to hone in on it.

Good thing is, rebasing against master just works, so it's not too stale ;-)

@sd-charris
Copy link

Appreciate the quick response! At least the merge back in is easy :p

Hope you and your family are well!

Base automatically changed from master to main March 15, 2021 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants