-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up top-level Makefile #11969
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Changed keywords from none to Makefile pipestatus |
comment:4
Looks reasonable, although you could just use parentheses in the parameter to |
comment:5
Looks okay to me, too. I think it also makes sense to move sage-env out of Does |
comment:6
I noticed that I propose not to run
but to run
The rationale is that |
This comment has been minimized.
This comment has been minimized.
comment:7
Attachment: 11969_scripts.patch.gz |
This comment has been minimized.
This comment has been minimized.
comment:9
I made some additional changes to the top-level |
This comment has been minimized.
This comment has been minimized.
comment:11
I'm wary of not running sage-starts as part of "sage -tp". It was introduced in #7103 to fix a problem when someone ran "sage -tp" before actually running Sage. I can see someone doing "make build" and then "./sage -tp ..." in order to test whether a new Sage build fixes problems in a particular directory. |
comment:12
Replying to @jhpalmieri:
Then all those tests would fail. Is that a problem? In all seriousness: I can see some arguments supporting |
comment:13
Replying to @jdemeyer:
No, the problem is that you might get this:
And you get it from a race condition, where multiple processes are simultaneously trying to create the same subdirectories of .sage. So it doesn't occur when you do "sage -t", only "sage -tp". |
comment:14
Replying to @jdemeyer:
Yes, definitely, i.e. remove it from |
Dependencies: #11926 |
comment:15
Rebased to #11926. |
comment:16
Replying to @jhpalmieri:
How is this solved by running Also, such a race condition is a bug in Sage. If you have more information about when it occurs and for which directories, we can look into this. (I find it very annoying that Python doesn't seem to have an equivalent of |
comment:17
Sorry, hadn't read John's comments before my last post. But IMHO, if there are race conditions in creating directories (in Note that e.g. only |
comment:18
Replying to @jdemeyer:
This doesn't help if |
comment:19
You could look at #7103, as I mentioned above, and to #7079, to which #7103 refers.
See #11972. I think the patch there should also take care of the race conditions when creating DOT_SAGE and its various subdirectories, which seemed to be the problem with #7103. One way to test: remove the sage-starts code from the doctesting routines and set DOT_SAGE to a non-existing directory and run "sage -tp ...". Repeat many times and see if you ever get "mysterious errors". Then apply the patch at #11972 and see if that fixes it. If this fixes it, then I'm willing to make #11972 a prerequisite for this ticket and remove the execution of sage-starts from sage-sage. But I'm not willing to remove sage-starts unless we're pretty sure that we haven't reintroduced a possible bug in doctesting. |
Attachment: 11969_testprelims.patch.gz |
This comment has been minimized.
This comment has been minimized.
Milestone sage-4.7.3 deleted |
Reviewer: John Palmieri, Leif Leonhardy |
comment:25
This all looks good to me, and I'm happy with the patch to the scripts repo now that #11972 is merged. |
comment:26
Replying to @jhpalmieri:
Thanks for the review! |
Merged: sage-4.8.alpha2 |
Using
&&
inside commands for pipestatus does not work. Therefore, in the top-level Makefile, we should move$(TESTPRELIMS)
out of$(PIPE)
.For example, if
sage-starts
fails, one would getNote the penultimate line.
The attached patch also:
sage-starts
fromsage -tp
, because runningmake ptest
ormake ptestlong
already runssage-starts
../sage -b
in themake build
rule. This ensures that the Sage library is up-to-date when testing or building documentation.make testalllong
andmake ptestalllong
for completeness.Makefile
.Apply:
Depends on #11926
Depends on #11972
Depends on #11959
Component: build
Keywords: Makefile pipestatus
Author: Jeroen Demeyer
Reviewer: John Palmieri, Leif Leonhardy
Merged: sage-4.8.alpha2
Issue created by migration from https://trac.sagemath.org/ticket/11969
The text was updated successfully, but these errors were encountered: