Commit Graph

37 Commits

Author SHA1 Message Date
Marc Hoersken
ab1671cafe
CI/makefiles: introduce dedicated test target
Make it easy to use the same set of test flags
throughout all current and future CI builds.

Reviewed-by: Jay Satiro

Follow up to #7690
Closes #7785
2021-10-08 20:16:15 +02:00
Marc Hoersken
02c9802fd1
CI: align make and test flags in various config files
1. Use Makefile target to run tests in autotools builds on AppVeyor.
2. Disable testing of SCP protocol on native Windows environments.
3. Remove redundant parameters -a -p from target test-nonflaky.
4. Don't use -vc parameter which is reserved for debugging.

Replaces #7591
Closes #7690
2021-09-27 20:59:29 +02:00
Marc Hoersken
60efeb1e0d
runtests: add option -u to error on server unexpectedly alive
Let's try to actually handle the server unexpectedly alive
case by first making them visible on CI builds as failures.

This is needed to detect issues with killing of the test
servers completely including nested process chains with
multiple PIDs per test server (including bash and perl).

On Windows/cygwin platforms this is especially helpful with
debugging PID mixups due to cygwin using its own PID space.

Reviewed-by: Daniel Stenberg
Closes #7180
2021-09-09 21:28:26 +02:00
Daniel Gustafsson
71f9a8fa6f cirrus: Add FreeBSD 13.0 job and disable sanitizer build
As alluded to the in the now removed comment, a 13.0 image became
available and is now ready to be used.

The sanitizer builds were running on the 12.1 image which since has
been removed from the config, leaving the builds not running at all.
When enabled it turns out that they don't actually work due to very
long timeouts in executing the tests, so keep the disabled for now
but a bit more controlled.

Closes #7592
2021-09-08 10:14:45 +02:00
Marc Hoersken
ebefa3b9f0
CI: use GitHub Container Registry instead of Docker Hub
Avoid limits on Docker Hub and improve image pull/download speed.

Closes #7587
2021-08-18 20:57:03 +02:00
Marc Hoersken
1390fc0977
CI/cirrus: reduce compile time with increased parallism
Cirrus CI VMs have 2 CPUs, let's use them also for Windows builds.

Reviewed-by: Daniel Stenberg
Closes #7505
2021-07-31 12:20:33 +02:00
Marc Hoersken
2c2b26145f
CI/cirrus: install impacket from PyPI instead of FreeBSD packages
Availability of impacket as FreeBSD package is too flaky.

Stick to legacy version of cryptography which still
supports OpenSSL version 1.0.2 due to FreeBSD 11.

Reviewed-by: Daniel Stenberg

Closes #7418
2021-07-18 19:42:47 +02:00
Daniel Stenberg
265b14d6b3
metalink: remove
Warning: this will make existing curl command lines that use metalink to
stop working.

Reasons for removal:

1. We've found several security problems and issues involving the
   metalink support in curl. The issues are not detailed here. When
   working on those, it become apparent to the team that several of the
   problems are due to the system design, metalink library API and what
   the metalink RFC says. They are very hard to fix on the curl side
   only.

2. The metalink usage with curl was only very briefly documented and was
   not following the "normal" curl usage pattern in several ways, making
   it surprising and non-intuitive which could lead to further security
   issues.

3. The metalink library was last updated 6 years ago and wasn't so
   active the years before that either. An unmaintained library means
   there's a security problem waiting to happen. This is probably reason
   enough.

4. Metalink requires an XML parsing library, which is complex code (even
   the smaller alternatives) and to this day often gets security
   updates.

5. Metalink is not a widely used curl feature. In the 2020 curl user
   survey, only 1.4% of the responders said that they'd are using it. In
   2021 that number was 1.2%. Searching the web also show very few
   traces of it being used, even with other tools.

6. The torrent format and associated technology clearly won for
   downloading large files from multiple sources in parallel.

Cloes #7176
2021-06-07 08:14:25 +02:00
Marc Hoersken
af97a8f232 CI/cirrus: add shared and static Windows release builds
Azure Pipelines is currently being used for debug builds,
let's also run some non-debug (release) Windows builds and
make use of previously underutilized Cirrus CI for that.

Reviewed-by: Marcel Raad

Closes #6991
2021-05-16 11:23:47 +02:00
Daniel Stenberg
e052bbcd57
ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
Daniel Stenberg
85e6975643
copyright: update copyright year ranges to 2021
Reviewed-by: Emil Engler
Closes #6802
2021-03-27 23:00:14 +01:00
Viktor Szakats
7db6bc5eca
ci: stop building on freebsd-12-1
An updated freebsd-12-2 image was added a few months ago, and this
older one is consistently failing to go past `pkginstall`:
```
Newer FreeBSD version for package py37-mlt:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1202000
- running kernel: 1201000
Ignore the mismatch and continue? [Y/n]: pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:12:amd64
```

FreeBSD thread suggests that 12.1 is EOL, and best to avoid.

Ref: https://forums.freebsd.org/threads/78856/

Reviewed-by: Daniel Stenberg
Closes #6622
2021-02-18 11:21:04 +00:00
Marc Hoersken
d18e9c580f
CI/cirrus: simplify logic for disabled tests
The OpenSSH server instance for the testsuite cannot
be started on FreeBSD, therefore the SFTP and SCP
tests are disabled right away from the beginning.

The previous OS version specific logic for SKIP_TESTS
is no longer needed/used and can therefore be removed.

Reviewed-by: Daniel Stenberg

Follow up to #6211
Closes #6229
2020-11-20 12:45:11 +01:00
Emil Engler
4e65f69b0d
cirrus: build with FreeBSD 12.2 in CirrusCI
Closes #6211
2020-11-17 12:18:45 +01:00
Daniel Stenberg
4d2f800677
curl.se: new home
Closes #6172
2020-11-04 23:59:47 +01:00
Carlo Marcelo Arenas Belón
7670e9ef71 cirrus-ci: upgrade 11-STABLE to 11.4
Meant to be the last of the 11 series and so make sure that all
other references reflect all 11 versions so they can be retired
together later.

Closes https://github.com/curl/curl/pull/5668
2020-07-11 02:42:54 -04:00
Daniel Stenberg
c585bad8e2
cirrus-ci: disable FreeBSD 13 (again)
It has been failing for a good while again. This time we better leave it
disabled until we have more reason to believe it behaves.

Closes #5628
2020-06-29 17:46:48 +02:00
Marc Hoersken
cffbcc3110
test1238: avoid tftpd being busy for tests shortly following
The tftpd server may still be busy if the total timeout of
25 seconds has not been reached or no sread error was received
during or after the execution of the timeout test 1238.

Once the next TFTP test comes around (eg. 1242 or 1243),
those will fail because the tftpd server is still waiting
on data from curl due to the UDP protocol being stateless
and having no connection close. On Linux this error may not
happen, because ICMP errors generated due to a swrite error
can also be returned async on the next sread call instead.

Therefore we will now just kill the tftpd server after test
1238 to make sure that the following tests are not affected.

This enables us to no longer ignore tests 1242, 1243, 2002
and 2003 on the CI platforms CirrusCI and AppVeyor.

Assisted-by: Peter Wu
Closes #5364
2020-05-11 19:59:19 +02:00
Daniel Stenberg
dce30e2e07
cirrus: disable SFTP and SCP tests
... as we can't seem to start the sshd server on it. Those problems
existed before d1239b50be (running the SSH server on a random port),
but they're more noticable now since there are more failed attempts in
the logs.

Closes #5315
2020-04-30 23:54:44 +02:00
Marc Hoersken
50842c1b32
cirrus: no longer ignore test 504 which is working again
The test is working again, because TCP blackholing is disabled.
2020-04-13 20:27:00 +02:00
Daniel Stenberg
9a8b3b3e13
copyright: fix out-of-date copyright ranges and missing headers
Reported by the new script 'scripts/copyright.pl'. The script has a
regex whitelist for the files that don't need copyright headers.

Removed three (mostly usesless) README files from docs/

Closes #5141
2020-03-24 15:05:59 +01:00
Daniel Stenberg
3d1fcf6cd8
cirrus: make freebsd ignore the tests instead of skipping
To allow us to see in the CI logs how they actually behave

Closes #5091
2020-03-23 09:21:22 +01:00
Daniel Stenberg
e3d1700cce
cirrus: move the sanitizer build from freebsd 13 to freebsd 12 2020-03-23 09:21:14 +01:00
Daniel Stenberg
12585bf9ae
Revert "cirrus-ci: disable the FreeBSD 13 builds"
This reverts commit 691b71be93.
2020-03-23 09:21:14 +01:00
Marc Hoersken
3c9066fce5
tests: make Python-based servers compatible with Python 2 and 3
Update smbserver.py and negtelnetserver.py to be compatible with
Python 3 while staying backwards-compatible to support Python 2.

Fix string encoding and handling of echoed and transferred data.

Tested with both Python 2.7.17 and Python 3.7.7

Reported-by: Daniel Stenberg
Assisted-by: Kamil Dudka
Reviewed-by: Marcel Raad

Fixes #5104
Closes #5110
2020-03-19 03:26:19 +01:00
Daniel Stenberg
d83402813b
CI: stop ignoring 323, it is disabled 2020-03-17 09:55:35 +01:00
Marc Hoersken
49fbe01908
ci/tests: install impacket for SMB tests on FreeBSD using CirrusCI
Also force the package index/cache to be updated before installing.

Closes #5103
2020-03-15 13:38:41 +01:00
Daniel Stenberg
691b71be93
cirrus-ci: disable the FreeBSD 13 builds
FreeBSD 13.0 is apparently close to a year away from a stable release
and has proven to cause intermittent builds failures recently.

Assisted-by: Dan Fandrich
Assisted-by: Fedor Korotkov
Fixes #5028
Closes #5029
2020-03-04 14:23:07 +01:00
Dan Fandrich
70ae5c46ef cirrus: Add some missing semicolons
Newlines aren't preserved in this section so they're needed to separate
commands. The exports luckily worked anyway as a single long line, but
erroneously exported a variable called "export"
[skip ci]
2020-02-03 12:27:30 +01:00
Dan Fandrich
35f908072c cirrus: Switch to the FreeBSD 12.1 point release & enable more tests.
A few tests are now passing on FreeBSD, so no longer skip them.
[skip ci]
2019-12-16 13:30:53 +01:00
Dan Fandrich
86f9c67629 cirrus: Drop the FreeBSD 10.4 build
Upstream support for 10.4 ended a year ago, and it looks like the image
is now gone, too.
[skip ci]
2019-12-13 09:23:37 +01:00
Daniel Stenberg
35c7aac3c6
cirrus: enable clang sanitizers on freebsd 13 2019-12-09 15:30:17 +01:00
Daniel Stenberg
5584aa96f8
cirrus: switch off blackhole status on the freebsd CI machines 2019-10-09 14:16:28 +02:00
Dan Fandrich
60fcd39383 cirrus: Increase the git clone depth.
If more commits are submitted to master between the time of triggering
the first Cirrus build and the time the final build gets started, the
desired commit is no longer at HEAD and the build will error out.
[skip ci]
2019-10-09 10:55:06 +02:00
Dan Fandrich
e5594e09f6 cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build.
Also, select the images using image_family to get the latest snapshots
automatically.
[skip ci]
2019-10-09 09:53:18 +02:00
Dan Fandrich
18d1161429 cirrus: Customize the disabled tests per FreeBSD version
Try to run as many test cases as possible on each OS version.
12.0 passes 13 more tests than the older versions, so we might as well
run them.
2019-04-01 10:16:10 +02:00
Dan Fandrich
9a36c0ae21 cirrus: Added FreeBSD builds using Cirrus CI.
The build logs will be at https://cirrus-ci.com/github/curl/curl

Some tests are currently failing and so disabled for now. The SSH server
isn't starting for the SSH tests due to unsupported options used in its
config file. The DICT server also is failing on startup.
2019-02-10 16:00:25 +01:00