Merge lp:~jamesodhunt/upstart/bug-1222705 into lp:upstart

Proposed by James Hunt
Status: Merged
Merged at revision: 1602
Proposed branch: lp:~jamesodhunt/upstart/bug-1222705
Merge into: lp:upstart
Diff against target: 181 lines (+86/-2)
3 files modified
ChangeLog (+7/-0)
init/job_class.c (+3/-2)
init/tests/test_job_class.c (+76/-0)
To merge this branch: bzr merge lp:~jamesodhunt/upstart/bug-1222705
Reviewer Review Type Date Requested Status
Upstart Reviewers Pending
Review via email: mp+204222@code.launchpad.net
To post a comment you must log in.
lp:~jamesodhunt/upstart/bug-1222705 updated
1593. By James Hunt

* extra/man/socket-event.7: Environment variable is UPSTART_EVENTS, not
  UPSTART_JOB (LP: #1275308).

1594. By James Hunt

* Merged lp:~cameronnemo/upstart/ipv6.

1595. By Dimitri John Ledkov

Merge lp:~jamesodhunt/upstart/fix-python-tests

1596. By James Hunt

* Merged lp:~xnox/upstart/pyflakes3.

1597. By James Hunt

* doc/states.dot: Added missing security state.

1598. By Dimitri John Ledkov

Merge lp:~jamesodhunt/upstart/test-upstart-name

1599. By Dimitri John Ledkov

merge lp:~jamesodhunt/upstart/fix-job_find

1600. By Dimitri John Ledkov

merge lp:~jamesodhunt/upstart/use-session-init-for-init-checkconf

1601. By Dimitri John Ledkov

update unit test-names expectations, init during unit-tests is now named test_init

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Looks good, I wish we had "Blocks (C language extension)" in gcc =/

lp:~jamesodhunt/upstart/bug-1222705 updated
1602. By Dimitri John Ledkov

merge lp:~jamesodhunt/upstart/bug-1222705

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog'
--- ChangeLog 2014-01-22 11:16:20 +0000
+++ ChangeLog 2014-01-31 12:43:20 +0000
@@ -1,3 +1,10 @@
12014-01-31 James Hunt <james.hunt@ubuntu.com>
2
3 * init/job_class.c: job_class_stop(): Copy env rather than
4 referencing a local variable (LP: #1222705).
5 * init/tests/test_job_class.c: test_start(), test_stop(),
6 test_restart(): Check job->env, job->start_env and job->stop-env.
7
12014-01-22 James Hunt <james.hunt@ubuntu.com>82014-01-22 James Hunt <james.hunt@ubuntu.com>
29
3 * init/main.c: logger_kmsg(): Use open(2) rather than fopen(3) to avoid10 * init/main.c: logger_kmsg(): Use open(2) rather than fopen(3) to avoid
411
=== modified file 'init/job_class.c'
--- init/job_class.c 2014-01-17 12:03:24 +0000
+++ init/job_class.c 2014-01-31 12:43:20 +0000
@@ -1241,8 +1241,9 @@
1241 if (job->stop_env)1241 if (job->stop_env)
1242 nih_unref (job->stop_env, job);1242 nih_unref (job->stop_env, job);
12431243
1244 job->stop_env = (char **)env;1244 job->stop_env = nih_str_array_copy (job, NULL, env);
1245 nih_ref (job->stop_env, job);1245 if (! job->stop_env)
1246 nih_return_system_error (-1);
12461247
1247 job_finished (job, FALSE);1248 job_finished (job, FALSE);
1248 if (blocked)1249 if (blocked)
12491250
=== modified file 'init/tests/test_job_class.c'
--- init/tests/test_job_class.c 2013-07-21 23:54:16 +0000
+++ init/tests/test_job_class.c 2014-01-31 12:43:20 +0000
@@ -1569,6 +1569,16 @@
1569 TEST_EQ (job->goal, JOB_START);1569 TEST_EQ (job->goal, JOB_START);
1570 TEST_EQ (job->state, JOB_STARTING);1570 TEST_EQ (job->state, JOB_STARTING);
15711571
1572 TEST_EQ_P (job->start_env, NULL);
1573 TEST_EQ_P (job->stop_env, NULL);
1574
1575 TEST_NE_P (job->env, NULL);
1576 TEST_EQ_STRN (job->env[0], "PATH=");
1577 TEST_EQ_STRN (job->env[1], "TERM=");
1578 TEST_EQ_P (job->env[2], NULL);
1579
1580 TEST_NE_P (job->env, env);
1581
1572 TEST_LIST_NOT_EMPTY (&job->blocking);1582 TEST_LIST_NOT_EMPTY (&job->blocking);
15731583
1574 blocked = (Blocked *)job->blocking.next;1584 blocked = (Blocked *)job->blocking.next;
@@ -1664,6 +1674,15 @@
16641674
1665 TEST_LIST_EMPTY (&job->blocking);1675 TEST_LIST_EMPTY (&job->blocking);
16661676
1677 TEST_EQ_P (job->start_env, NULL);
1678 TEST_EQ_P (job->stop_env, NULL);
1679
1680 TEST_NE_P (job->env, NULL);
1681 TEST_EQ_STRN (job->env[0], "PATH=");
1682 TEST_EQ_STRN (job->env[1], "TERM=");
1683 TEST_EQ_P (job->env[2], NULL);
1684
1685 TEST_NE_P (job->env, env);
16671686
1668 dbus_connection_flush (conn);1687 dbus_connection_flush (conn);
16691688
@@ -1746,6 +1765,16 @@
1746 TEST_EQ (job->goal, JOB_START);1765 TEST_EQ (job->goal, JOB_START);
1747 TEST_EQ (job->state, JOB_STOPPING);1766 TEST_EQ (job->state, JOB_STOPPING);
17481767
1768 TEST_EQ_P (job->env, NULL);
1769 TEST_EQ_P (job->stop_env, NULL);
1770
1771 TEST_NE_P (job->start_env, NULL);
1772 TEST_EQ_STRN (job->start_env[0], "PATH=");
1773 TEST_EQ_STRN (job->start_env[1], "TERM=");
1774 TEST_EQ_P (job->start_env[2], NULL);
1775
1776 TEST_NE_P (job->start_env, env);
1777
1749 TEST_LIST_NOT_EMPTY (&job->blocking);1778 TEST_LIST_NOT_EMPTY (&job->blocking);
17501779
1751 blocked = (Blocked *)job->blocking.next;1780 blocked = (Blocked *)job->blocking.next;
@@ -1906,12 +1935,18 @@
1906 TEST_EQ (job->goal, JOB_START);1935 TEST_EQ (job->goal, JOB_START);
1907 TEST_EQ (job->state, JOB_STARTING);1936 TEST_EQ (job->state, JOB_STARTING);
19081937
1938 TEST_NE_P (job->start_env, env);
1939 TEST_NE_P (job->stop_env, env);
1940
1941 TEST_NE_P (job->env, NULL);
1909 TEST_EQ_STRN (job->env[0], "PATH=");1942 TEST_EQ_STRN (job->env[0], "PATH=");
1910 TEST_EQ_STRN (job->env[1], "TERM=");1943 TEST_EQ_STRN (job->env[1], "TERM=");
1911 TEST_EQ_STR (job->env[2], "FOO=wibble");1944 TEST_EQ_STR (job->env[2], "FOO=wibble");
1912 TEST_EQ_STR (job->env[3], "BAR=wobble");1945 TEST_EQ_STR (job->env[3], "BAR=wobble");
1913 TEST_EQ_P (job->env[4], NULL);1946 TEST_EQ_P (job->env[4], NULL);
19141947
1948 TEST_NE_P (job->env, env);
1949
1915 TEST_LIST_NOT_EMPTY (&job->blocking);1950 TEST_LIST_NOT_EMPTY (&job->blocking);
19161951
1917 blocked = (Blocked *)job->blocking.next;1952 blocked = (Blocked *)job->blocking.next;
@@ -2087,6 +2122,14 @@
20872122
2088 TEST_NOT_FREE (job);2123 TEST_NOT_FREE (job);
20892124
2125 TEST_EQ_P (job->env, NULL);
2126 TEST_EQ_P (job->start_env, NULL);
2127
2128 TEST_NE_P (job->stop_env, NULL);
2129 TEST_EQ_P (job->stop_env[0], NULL);
2130
2131 TEST_NE_P (job->stop_env, env);
2132
2090 TEST_EQ (job->goal, JOB_STOP);2133 TEST_EQ (job->goal, JOB_STOP);
2091 TEST_EQ (job->state, JOB_STOPPING);2134 TEST_EQ (job->state, JOB_STOPPING);
20922135
@@ -2177,6 +2220,13 @@
21772220
2178 TEST_LIST_EMPTY (&job->blocking);2221 TEST_LIST_EMPTY (&job->blocking);
21792222
2223 TEST_EQ_P (job->env, NULL);
2224 TEST_EQ_P (job->start_env, NULL);
2225
2226 TEST_NE_P (job->stop_env, NULL);
2227 TEST_EQ_P (job->stop_env[0], NULL);
2228
2229 TEST_NE_P (job->stop_env, env);
21802230
2181 dbus_connection_flush (conn);2231 dbus_connection_flush (conn);
21822232
@@ -2354,10 +2404,16 @@
2354 TEST_EQ (job->goal, JOB_STOP);2404 TEST_EQ (job->goal, JOB_STOP);
2355 TEST_EQ (job->state, JOB_STOPPING);2405 TEST_EQ (job->state, JOB_STOPPING);
23562406
2407 TEST_EQ_P (job->env, NULL);
2408 TEST_EQ_P (job->start_env, NULL);
2409
2410 TEST_NE_P (job->stop_env, NULL);
2357 TEST_EQ_STR (job->stop_env[0], "FOO=wibble");2411 TEST_EQ_STR (job->stop_env[0], "FOO=wibble");
2358 TEST_EQ_STR (job->stop_env[1], "BAR=wobble");2412 TEST_EQ_STR (job->stop_env[1], "BAR=wobble");
2359 TEST_EQ_P (job->stop_env[2], NULL);2413 TEST_EQ_P (job->stop_env[2], NULL);
23602414
2415 TEST_NE_P (job->stop_env, env);
2416
2361 TEST_LIST_NOT_EMPTY (&job->blocking);2417 TEST_LIST_NOT_EMPTY (&job->blocking);
23622418
2363 blocked = (Blocked *)job->blocking.next;2419 blocked = (Blocked *)job->blocking.next;
@@ -2527,6 +2583,16 @@
2527 TEST_EQ (job->goal, JOB_START);2583 TEST_EQ (job->goal, JOB_START);
2528 TEST_EQ (job->state, JOB_STOPPING);2584 TEST_EQ (job->state, JOB_STOPPING);
25292585
2586 TEST_EQ_P (job->env, NULL);
2587 TEST_EQ_P (job->stop_env, NULL);
2588
2589 TEST_NE_P (job->start_env, NULL);
2590 TEST_EQ_STRN (job->start_env[0], "PATH=");
2591 TEST_EQ_STRN (job->start_env[1], "TERM=");
2592 TEST_EQ_P (job->start_env[2], NULL);
2593
2594 TEST_NE_P (job->start_env, env);
2595
2530 TEST_LIST_NOT_EMPTY (&job->blocking);2596 TEST_LIST_NOT_EMPTY (&job->blocking);
25312597
2532 blocked = (Blocked *)job->blocking.next;2598 blocked = (Blocked *)job->blocking.next;
@@ -2626,6 +2692,16 @@
2626 TEST_EQ (job->goal, JOB_START);2692 TEST_EQ (job->goal, JOB_START);
2627 TEST_EQ (job->state, JOB_STOPPING);2693 TEST_EQ (job->state, JOB_STOPPING);
26282694
2695 TEST_EQ_P (job->env, NULL);
2696 TEST_EQ_P (job->stop_env, NULL);
2697
2698 TEST_NE_P (job->start_env, NULL);
2699 TEST_EQ_STRN (job->start_env[0], "PATH=");
2700 TEST_EQ_STRN (job->start_env[1], "TERM=");
2701 TEST_EQ_P (job->start_env[2], NULL);
2702
2703 TEST_NE_P (job->start_env, env);
2704
2629 TEST_LIST_EMPTY (&job->blocking);2705 TEST_LIST_EMPTY (&job->blocking);
26302706
26312707

Subscribers

People subscribed via source and target branches