vee.lesyk
2017-11-2 14:22:12

@vee.lesyk has joined the channel


samth
2017-11-2 15:24:06

somehow xvfb-run causes tests to have no output


samth
2017-11-2 15:24:18

or maybe that was just the framework tests hanging


samth
2017-11-2 15:30:17

no, the problem is that docker-compose run xvfb-run ... doesn’t work, have to wrap it in sh -c


samth
2017-11-2 17:02:22

@mflatt The most recent Travis build keeps hanging on linux in the file.rktl tests, and I have no idea why: https://travis-ci.org/racket/racket/builds/295988203


notjack
2017-11-2 19:57:06

that’s probably caused by the daemon process that xvfb-run spawns not being reaped properly by xvfb-run when it runs as PID 1


notjack
2017-11-2 19:58:06

which is one of the reasons I think xvfb should be in a different container


samth
2017-11-2 20:01:39

There’s one test that hasn’t worked under xvfb


notjack
2017-11-2 20:02:05

which test?


samth
2017-11-2 20:04:28

The leak test in DrRacket


samth
2017-11-2 20:04:38

Mentioned in the issue I think


notjack
2017-11-2 20:05:10

is that the one that jay mentioned in slack?


notjack
2017-11-2 20:05:24

the one that needs a real X server instead of xvfb for some bizarre reason?


samth
2017-11-2 20:07:29

Probably


samth
2017-11-2 20:07:40

The tests have changed some since then


notjack
2017-11-2 20:10:16

I think I’m confused. Is that related to the docker setup or an entirely separate issue?


notjack
2017-11-2 20:18:40

ah I only just saw the commit you added to the PR


notjack
2017-11-2 20:19:43

I’ll merge the PR as is unless you’ve got objections


notjack
2017-11-2 20:22:52

my plan is to do the following next:

  • Split gui tests into a separate Dockerfile
  • Add config to docker-compose.yml to run one gui test service for each installer variant in addition to the non-gui test service
  • Add a Dockerfile for an image that only runs xvfb
  • Add an xvfb service to docker-compose.yml and update each gui test service to use that xvfb instead of wrapping tests in xvfb-run, to avoid process weirdness and make the tests run in an environment that’s more similar to how they’d run when talking to a real X server

notjack
2017-11-2 20:24:00

that also means we could swap out the xvfb service for a different docker image that runs a real X server without changing any of the tests or test scripts


notjack
2017-11-2 20:26:29

also: what exactly is the point of --skip-installed? shouldn’t raco pkg install just do that by default? or is it to avoid updating packages or something?


samth
2017-11-2 20:36:39

That plan sounds good, and I’m for merging now


notjack
2017-11-2 20:36:57

ack


samth
2017-11-2 20:37:15

What I meant about the tests changing is that the DrRacket tests have been changed to avoid some concurrency problems


samth
2017-11-2 20:37:26

so that maybe more of them needed a real X server in the past


samth
2017-11-2 20:37:41

I also think --skip-installed should be the default behavior


samth
2017-11-2 20:37:46

but it isn’t


notjack
2017-11-2 20:38:07

ah


notjack
2017-11-2 20:42:59

how much do you know about the individual test suites run in the release tests?


samth
2017-11-2 20:43:14

it varies a lot, as you might expect


samth
2017-11-2 20:43:48

I wrote the match and TR tests, I don’t understand the DrRacket tests, other things are in between


notjack
2017-11-2 20:43:55

from what I can gather, a lot of them are doing things that can tend to make tests flaky / unportable, and I’m wondering how much effort it would take to make some improvements there


samth
2017-11-2 20:44:22

making them less flaky would be good


samth
2017-11-2 20:44:32

but some of them are very un-maintained


samth
2017-11-2 20:44:53

and/or maintained by people with widely varying skill/time investment


notjack
2017-11-2 20:45:17

(granted my point of comparison is my employer, where most tests are entirely capable of being executed across machine clusters where none of the machines even have hard disks…)


samth
2017-11-2 20:46:07

in general, we try to avoid flakiness in DrDr


samth
2017-11-2 20:46:15

but many of the release tests are not run there


notjack
2017-11-2 20:46:49

also I presume DrDr does not run tests for every possible installation environment?


samth
2017-11-2 20:46:58

right


samth
2017-11-2 20:47:02

it’s just a particular machine


notjack
2017-11-2 20:47:13

whereas the release tests should probably be run on each permutation of installation options


samth
2017-11-2 20:47:39

samth
2017-11-2 20:47:50

yes, although that isn’t currently done


notjack
2017-11-2 20:48:01

how are the installers built from source anyways? is there a list of which commits to use from each of the racket repos that the release manager maintains somewhere?


samth
2017-11-2 20:48:13

yes


samth
2017-11-2 20:48:40

samth
2017-11-2 20:49:01

this repo https://github.com/racket/release-catalog has all the releases


notjack
2017-11-2 20:49:39

ah hah!


notjack
2017-11-2 20:49:50

that catalog repo is the part of the release process I was missing


stamourv
2017-11-2 20:53:46

@notjack: There’s yet more pieces, actually. :)


stamourv
2017-11-2 20:54:14

But many of them no one but me needs to bother with.


notjack
2017-11-2 20:55:26

@stamourv let me first say that I’ve got enough projects already, but I like release automation and it seems like an area where I’m able to help a lot :)


stamourv
2017-11-2 20:56:58

Oooh, interesting.


stamourv
2017-11-2 20:57:20

I’m actually in the process of increasing automation for some of these hidden parts.


stamourv
2017-11-2 20:57:38

But the testing checklist that’s on the wiki is by far the most painful part.


stamourv
2017-11-2 20:57:50

The manual tests, especially.


notjack
2017-11-2 20:58:01

well I do like testing


notjack
2017-11-2 20:59:46

care to reveal more details, O Mysterious Vincent?


notjack
2017-11-2 21:00:23

part of the reason I’m interested is because I have to remember to add new docker images for each racket version in my racket docker images repo and I always forget


slack1
2017-11-2 21:17:42

@slack1 has joined the channel


slack1
2017-11-2 21:18:40

Perhaps this is silly, but are there “placeholder” arguments for curried functions in Racket?


slack1
2017-11-2 21:18:52

(curry fn _ _ 3)


notjack
2017-11-2 21:19:01

@slack1 no, but the fancy-app package does something similar


slack1
2017-11-2 21:19:20

Does Racket instead prescribe a different idiom?


notjack
2017-11-2 21:19:38

I think Racket has no style recommendations on lambda shorthands


notjack
2017-11-2 21:22:52

most folks use one of the following:

  • the curry function, ((curry + 1 2) 3) => 6
  • the cut and cute SRFI macros, ((cut + 1 2 <>) 3) => 6
  • the fancy-app package, ((+ 1 2 _) 3) => 6
  • the afl package, (#λ(+ 1 2 %) 3) => 6
  • the curly-fn package, (#{+ 1 2} 3) => 6

slack1
2017-11-2 21:27:26

hmmm, perhaps I shall check out the fancy-app package, but so far I haven’t been dowloading other people’s libraries


slack1
2017-11-2 21:27:36

thanks


notjack
2017-11-2 21:27:43

glad to help!


stamourv
2017-11-2 22:03:25

@notjack: No time right now, but I can tell you more later.


apg
2017-11-2 23:42:40

@slack1 srfi–26 (which has cut) should be available in racket without having to download someone elses package


greg
2017-11-3 00:10:50

Likewise my racket-travis repo


asumu
2017-11-3 01:01:50

Anyone else have build problems on git HEAD? (edit: seems to happen for me on v6.11 too, I wonder if Racket doesn’t like something with my OS config…)


asumu
2017-11-3 01:02:14

I get mprotect failed: 7f9ae8800000, 524288, 1, 12 during the collects setup.


asumu
2017-11-3 01:03:02

I’m on commit 4f1ef42d071c060973b69de001ad577261f13a61 and should be a clean checkout since I just did git clean -fxd


asumu
2017-11-3 01:52:04

Ah argh, looks like I recently built some networking software that modifies vm.max_map_count. Setting that too low can cause mprotect failures. I bet that’s it. Sorry for the noise.


samth
2017-11-3 02:23:34

@notjack @slack1 actually most people just use lambda


notjack
2017-11-3 02:23:55

well yes there’s that