test failure due to wrong assumption that SIGUSR1's value is the same on all architectures

Bug #1254326 reported by Steve Langasek on 2013-11-23
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

upstart 1.10 (1.9 and later) fails to build on mips, and mipsel because the value of reload_signal is serialized as an integer, and test_reload_signal_state in init/tests/test_state.c assumes that the value encoded in the json file (10) is equal to SIGUSR1 on the target platform. This is not true. The only values for signals that are guaranteed to be consistent across all platforms are 1, 2, 3, 6, 9, 14, and 15 (SIGHUP, SIGINT, SIGQUIT, SIGABRT, SIGKILL, SIGALRM, SIGTERM).

There's nothing wrong with the serialization format, here; there's no risk that when re-execing upstart we'll come up on a system that has different signal definitions. But the test needs to be fixed, so that it's comparing with an integer, not with a define whose value is different on different architectures.

Related branches

Steve Langasek (vorlon) on 2013-11-23
Changed in upstart:
status: New → In Progress
importance: Undecided → High
description: updated
Changed in upstart:
status: In Progress → Fix Released
Steve Langasek (vorlon) on 2013-11-27
Changed in upstart:
status: Fix Released → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers