ldc2.snap:1.6

Last commit made on 2018-02-03
Get this branch:
git clone -b 1.6 https://git.launchpad.net/ldc2.snap

Branch merges

Branch information

Name:
1.6
Repository:
lp:ldc2.snap

Recent commits

e755900... by Joseph Wakeling

Merge disabling of std.process tests from 1.5 branch into 1.6

34895e5... by Joseph Wakeling

Disable std.process tests for LDC 1.5.0+

This is a bit of a sledgehammer to crack a walnut, but comes down to the
fact that at least one `std.process` unittest fails when the Launchpad
build system is running it, for LDC 1.5.0+ (i.e. phobos 2.075+):

```
391: Test command:
/build/ldc2-1.5/parts/ldc/build/runtime/phobos2-test-runner
"std.process"
391: Test timeout computed to be: 9.99988e+06
391: sh: 0: getcwd() failed: No such file or directory
391: /bin/sh: 0: Can't open /tmp/std.process temporary file
4c760c9b-f557-4216-a10f-a2c09428404a
391: ****** FAIL release64 std.process
391: core.exception.AssertError@std/process.d(1095): assertThrown
failed: No ProcessException was thrown.
391: ----------------
391: ??:? pure @safe void
std.exception.assertThrown!(std.process.ProcessException,
std.process.Pid).assertThrown(lazy std.process.Pid, immutable(char)[],
immutable(char)[], ulong) [0x4b0250c]
391: ??:? void std.process.__unittestL1075_11() [0x4b02e42]
391: ??:? [0x4b0efe0]
391: ??:? void test_runner.doTest(object.ModuleInfo*, ref bool)
[0x34351bf]
391: ??:? bool test_runner.testModules() [0x34350c8]
391: ??:? runModuleUnitTests [0x4b2ae1d]
391: ??:? _d_run_main [0x4b1b4ad]
391: ??:? __libc_start_main [0x34ad82f]
391: ??:? _start [0x3434e58]
391/1568 Test #391: std.process
..................................................................***Failed
0.68 sec
sh: 0: getcwd() failed: No such file or directory
/bin/sh: 0: Can't open /tmp/std.process temporary file
4c760c9b-f557-4216-a10f-a2c09428404a
****** FAIL release64 std.process
core.exception.AssertError@std/process.d(1095): assertThrown failed: No
ProcessException was thrown.
```

The failing `getcwd()` call appears to be being triggered by the call to
`std.process.uniqueTempPath()` introduced in this patch:
https://github.com/dlang/phobos/commit/8bc0ab643f0511203356a749b8d6b496f43047fa

... which under the hood calls `std.file.tempDir()`, which then calls
`getcwd()`.

This seems most likely to be failing because it clashes with permissions
available in the Launchpad system (as the same tests pass just fine when
run locally). For this reason it seems best, in the short term, to just
disable `std.process` tests for the snap package for LDC 1.5 and higher.

Longer term, it may be worth looking into a CI/build system that is less
picky about what a program can do.

4bab854... by Joseph Wakeling

Update to LDC 1.6.0 stable release

4a4ed6f... by Joseph Wakeling

Update to LDC 1.5.0 stable release

As part of this update we can remove the `LDC_WITH_LLD=OFF` option, as
it is no longer required to avoid build errors.

857b8fd... by Joseph Wakeling

Upgrade to LDC fork of LLVM 5.0.1

As per the Known Issues for LDC 1.4.x, the LDC_WITH_LLD=OFF option is
needed to avoid build errors. It should be possible to remove this as
soon as LDC is updated to 1.5.0+.

dd75414... by Joseph Wakeling

Update bootstrap LDC to 0.17.5

This should allow us to use LLVM 5.0.x with the snap package.

9155a75... by Joseph Wakeling

Update to LDC 1.4.0 stable release

In addition to the LDC version update, the `ldc-build-runtime` helper
utility has been added to the list of available commands.

5fbd579... by Joseph Wakeling

Merge automated testing from 1.2 branch into 1.3

089b664... by Joseph Wakeling

Merge automated testing from 1.1 branch into 1.2

4978091... by Joseph Wakeling

Disable lit-tests entirely

The previous patch failed to work adequately, as it looks like the lit
tests are building from source files in `parts/ldc/src` instead of in
`parts/ldc/build`.

This feels like an uncomfortable conflation of the different parts of
the source tree, so in order to move forward, it seems simpler to just
disable the lit-tests entirely for now. We can come back to them at a
later date, either once the issues with them have been fixed, or with
some later tweak that better manages exclusion of the problem tests.

The `ctest-setup` part, which installs python dependencies required by
the lit-tests, has been left untouched in order to ease the transition
back to enabling these tests.